Przykładowe odnotowany schematu XSD dla przykłady XPath (SQLXML 4.0)
Przykładowe kwerendy XPath w tej sekcji odnoszą się do schematu mapowania.Mapowanie schematu jest adnotacjami plik schematu XML (XSD).Aby uzyskać więcej informacji na temat mapowania schematów zobacz Wprowadzenie do adnotacjami schematy XSD (SQLXML 4.0).
Uwaga
Zanim będzie możliwe wykonać kwerendy przykładowe wyrażenie XPath, musisz mieć przykładowej bazy danych AdventureWorks zainstalowany.Aby uzyskać więcej informacji zobaczAdventureWorks przykładowe bazy danych.
Poniżej są potrzebne do wykonywania kwerend XPath przed adnotacjami schematu XSD:
Utworzyć szablon z kwerendę XPath w nim.W szablonie można określić schemat mapowania, od którego ma zostać wykonana kwerenda XPath.W takim przypadek schematu mapowania muszą być przechowywane w katalogu (lub jeden z jego podkatalogów, w których przypadek ścieżka względna jest określony jako wartość mapping-schema atrybut w szablonie) skojarzonego z plikiem szablonu.
Tworzenie aplikacji test używający rozszerzenia SQLXML dla obiektów ADO do wykonywania kwerendy.Aby uzyskać więcej informacji zobaczPrzy użyciu obiektu ADO do wykonywania SQLXML bada 4.0.
We wszystkich przykładach w niniejszej sekcji, dla celów ilustracyjnych kwerendy XPath są określone w szablonie i szablon jest wykonywane przy użyciu obiektu ADO.Dlatego należy użyć następującego pliku schematu mapowania, SampleSchema1.xml.Zapisz ten plik w katalogu, w którym przechowywane są szablony.
Przykładowe odnotowany schematu XSD (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>