Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server
Azure SQL-Datenbank
Die Beispiel-XPath-Abfragen in diesem Abschnitt beziehen sich auf ein Zuordnungsschema. Das Zuordnungsschema ist eine XML-Schemadatei (XSD) mit Anmerkungen. Weitere Informationen zu Zuordnungsschemas finden Sie in der Einführung in kommentierte XSD-Schemas (SQLXML 4.0).
Die folgenden Bedingungen müssen erfüllt sein, um XPath-Abfragen eines XSD-Schemas mit Anmerkungen auszuführen:
Erstellen Sie eine Vorlage mit einer XPath-Abfrage. Geben Sie in der Vorlage das Zuordnungsschema an, anhand dessen die XPath-Abfrage ausgeführt werden soll. In diesem Fall muss das Zuordnungsschema im Verzeichnis (oder einem seiner Unterverzeichnisse gespeichert werden, in diesem Fall wird ein relativer Pfad als Wert des Zuordnungsschema-Attributs in der Vorlage angegeben), das der Vorlagendatei zugeordnet ist.
Erstellen Sie eine Testanwendung, die SQLXML-Erweiterungen für ADO verwendet, um Abfragen auszuführen. Weitere Informationen finden Sie unter Verwenden von ADO zum Ausführen von SQLXML 4.0-Abfragen.
In allen Beispielen in diesem Abschnitt werden zur Veranschaulichung die XPath-Abfragen in einer Vorlage angegeben, die mithilfe von ADO ausgeführt wird. Daher müssen Sie die folgende Zuordnungsschemadatei verwenden: SampleSchema1.xml. Speichern Sie diese Datei in dem Verzeichnis, in dem die Vorlagen gespeichert sind.
Beispiel-XSD-Schema mit Anmerkungen (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>