共用方式為


在查詢中使用註解式 XDR 結構描述 (在 SQLXML 4.0 中已被取代)

重要注意事項重要事項

這個主題是舊版應用程式的參考。這項功能未來將不會繼續開發。請避免在新的開發工作中使用此功能。而改用註解式 XSD 結構描述建立 XML 檢視。如需詳細資訊,請參閱<註解式 XSD 結構描述簡介 (SQLXML 4.0)>。您可以將現有的註解式 XDR 結構描述轉換為 XSD 結構描述。如需詳細資訊,請參閱<將註解式 XDR 結構描述轉換為等效 XSD 結構描述 (SQLXML 4.0)>。

[!附註]

若要使用下列範例建立工作範例,您必須符合某些需求。如需詳細資訊,請參閱<執行 SQLXML 範例的需求>。

這些是可以針對註解式結構描述指定查詢從資料庫擷取資料的方式:

  • 在範本中針對 XDR 結構描述指定 XPath 查詢

    <sql:xpath-query> 元素可讓您針對註解式結構描述所定義的 XML 檢視,指定 XPath 查詢。藉以執行 XPath 查詢的註解式結構描述會使用 <sql:xpath-query> 元素的 mapping-schema 屬性識別。

    範本是包含一或多個查詢的有效 XML 文件。FOR XML 和 XPath 查詢會傳回文件片段。範本對於產生的文件片段就像是容器一樣 (範本會提供一種方式來指定單一的上層元素)。

    本主題中的範例會使用範本,針對註解式結構描述指定 XPath 查詢來擷取資料庫中的資料。

  • 內嵌的對應結構描述

    註解式結構描述可以直接包含在範本中。sql:is-mapping-schema 註解用於指定內嵌的註解式結構描述。sql:is-mapping-schema 會採用布林值類型 (0 = FALSE,1 = TRUE)。sql:is-mapping-schema 是在範本的 <Schema> 元素上指定的。

    sql:id 屬性會唯一識別其中所包含的元素。sql:id 屬於 ID 類型屬性,而且是在 <Schema> 元素上指定的。接著,指派給 sql:id 的值會使用 <sql:xpath-query> 中的 mapping-schema 屬性來參考內嵌的註解式結構描述。

    例如,這是已指定內嵌註解式結構描述的範本:

    <ROOT     xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <Schema xmlns="urn:schemas-microsoft-com:xml-data"
    
       sql:id="MyMappingSchema"
       sql:is-mapping-schema="1">
    
        <ElementType name="Person.Contact" >
          <AttributeType name="ContactID" />
          <AttributeType name="FirstName" />
          <AttributeType name="LastName" />
    
          <attribute type="ContactID" />
          <attribute type="FirstName" />
          <attribute type="LastName" />
        </ElementType>
      </Schema>
    
    <sql:xpath-query mapping-schema="#MyMappingSchema">
      Person.Contact[@ContactID &lt; 4]
    </sql:xpath-query>
    </ROOT>
    

    為了提供說明,使用檔案名稱 InlineSchemaTemplate.xml 來儲存此範本。