Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le query XPath di esempio in questa sezione fanno riferimento a uno schema di mapping. Lo schema di mapping è un file XML Schema (XSD) con annotazioni. Per altre informazioni sugli schemi di mapping, vedere Introduzione agli schemi XSD con annotazioni (SQLXML 4.0).
Per eseguire query XPath su uno schema XSD con annotazioni, è necessario quanto segue:
Creare un modello con una query XPath. Nel modello specificare lo schema di mapping in base al quale deve essere eseguita la query XPath. In questo caso, lo schema di mapping deve essere archiviato nella directory (o una delle relative sottodirectory, nel qual caso un percorso relativo viene specificato come valore dell'attributo
mapping-schemanel modello) associato al file modello.Creare un'applicazione di test che usa le estensioni SQLXML per ADO per eseguire query. Per altre informazioni, vedere Uso di ADO per eseguire query SQLXML 4.0.
In tutti gli esempi di questa sezione, a scopo illustrativo, le query XPath vengono specificate in un modello e il modello viene eseguito usando ADO. Pertanto, è necessario usare il file di schema di mapping seguente, SampleSchema1.xml. Salvare questo file nella directory in cui sono archiviati i modelli.
Schema XSD con annotazioni di esempio (SampleSchema1.xml)
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:annotation>
<xsd:appinfo>
<sql:relationship name="CustOrders"
parent="Sales.Customer"
parent-key="CustomerID"
child="Sales.SalesOrderHeader"
child-key="CustomerID" />
<sql:relationship name="OrderOrderDetail"
parent="Sales.SalesOrderHeader"
parent-key="SalesOrderID"
child="Sales.SalesOrderDetail"
child-key="SalesOrderID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="Customer" sql:relation="Sales.Customer" type="CustomerType" />
<xsd:complexType name="CustomerType" >
<xsd:sequence>
<xsd:element name="Order"
sql:relation="Sales.SalesOrderHeader"
sql:relationship="CustOrders" />
</xsd:sequence>
<xsd:attribute name="CustomerID" type="xsd:ID"/>
<xsd:attribute name="TerritoryID"/>
<xsd:attribute name="AccountNumber"/>
<xsd:attribute name="CustomerType"/>
<xsd:attribute name="Orders" type="xsd:IDREFS" sql:prefix="Ord-"/>
</xsd:complexType>
<xsd:element name="Order" sql:relation="Sales.SalesOrderHeader" type="OrderType"/>
<xsd:complexType name="OrderType">
<xsd:sequence>
<xsd:element name="OrderDetail"
sql:relation="Sales.SalesOrderDetail"
sql:relationship="OrderOrderDetail" />
</xsd:sequence>
<xsd:attribute name="SalesOrderID" type="xsd:ID" sql:prefix="Ord-"/>
<xsd:attribute name="SalesPersonID"/>
<xsd:attribute name="OrderDate"/>
<xsd:attribute name="DueDate"/>
<xsd:attribute name="ShipDate"/>
</xsd:complexType>
<xsd:element name="OrderDetail" sql:relation="Sales.SalesOrderDetail" type="OrderDetailType"/>
<xsd:complexType name="OrderDetailType">
<xsd:attribute name="ProductID" type="xsd:IDREF"/>
<xsd:attribute name="UnitPrice"/>
<xsd:attribute name="OrderQty"/>
<xsd:attribute name="UnitPriceDiscount"/>
</xsd:complexType>
<xsd:element name="UnitPriceDiscount" sql:relation="Sales.SalesOrderDetail" type="DiscountType"/>
<xsd:complexType name="DiscountType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:anyAttribute namespace="##other" processContents="lax"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="Contact" sql:relation="Person.Contact" type="ContactType"/>
<xsd:complexType name="ContactType">
<xsd:attribute name="ContactID"/>
<xsd:attribute name="LastName"/>
<xsd:attribute name="FirstName"/>
<xsd:attribute name="Title"/>
</xsd:complexType>
</xsd:schema>