在查詢中使用註解式 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 < 4] </sql:xpath-query> </ROOT>
為了提供說明,使用檔案名稱 InlineSchemaTemplate.xml 來儲存此範本。