Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Database
Prvky v XML dokumentu mohou být vzájemně propojené. Prvky mohou být vnořeny hierarchicky a mezi prvky lze specifikovat vztahy ID, IDREF nebo IDREFS.
Například v XSD schématu <obsahuje element zákazníka> podprvky objednávky>.< Když je schéma mapováno do databáze AdventureWorks, prvek <Customer> se mapuje na tabulku Sales.Customer a <element Order> na tabulku Sales.SalesOrderHeader. Tyto základní tabulky, Sales.Customer a Sales.SalesOrderHeader, spolu souvisejí, protože zákazníci zadávají objednávky. CustomerID v tabulce Sales.SalesOrderHeader je cizí klíč odkazující na primární klíč CustomerID v tabulce Sales.Customer. Tyto vztahy můžete mezi prvky mapovacího schématu navázat pomocí anotace sql:relationship .
V anotovaném schématu XSD se sql : relationship anotace používá k hierarchickému vnoření prvků schématu na základě vztahů primárního a cizího klíče mezi základními tabulkami, na které jsou prvky mapovány. Při specifikaci sql : relationship anotace musíte identifikovat následující:
Mateřská tabulka (Sales.Customer) a podřízená tabulka (Sales.SalesOrderHeader).
Sloupec nebo sloupce, které tvoří vztah mezi rodičovskou a podřízenou tabulkou. Například sloupec CustomerID, který se objevuje jak v rodičovské, tak v podřízené tabulce.
Tyto informace se používají k vytvoření správné hierarchie.
Pro poskytnutí názvů tabulek a potřebných informací o spojení jsou v anotaci sql:relation specifikovány následující atributy. Tyto atributy jsou platné pouze s elementem <sql:relationship> :
název
Specifikuje jedinečný název vztahu.
Rodič
Specifikuje vztah rodiče (tabulku). To je volitelná vlastnost; pokud atribut není specifikován, název nadřazené tabulky je získán z informací v podřízené hierarchii v dokumentu. Pokud schéma specifikuje dvě hierarchie rodič-potomek, které používají stejný< sql:relationship>, ale různé rodičovské prvky, nespecifikujete atribut rodiče v <sql:relationship>. Tyto informace jsou získávány z hierarchie ve schématu.
rodičovský klíč
Specifikuje rodičovský klíč rodiče. Pokud je rodičovský klíč složen z více sloupců, hodnoty jsou určeny mezerou mezi nimi. Existuje polohové mapování mezi hodnotami určenými pro vícesloupcový klíč a odpovídající podklíč.
podřízené
Specifikuje vztah potomka (tabulku).
child-key
Specifikuje podklíč v podřízeném klíči, který odkazuje na rodičovský klíč v rodiči. Pokud je podklíč složen z více atributů (sloupců), hodnoty podceňovacího klíče jsou určeny s mezerou mezi nimi. Existuje poziční mapování mezi hodnotami určenými pro vícesloupcový klíč a odpovídající rodičovský klíč.
Inverzní
Tento atribut specifikovaný v <sql:relation> používá updategram. Pro více informací viz Specifikace atributu sql:inverse na sql:relationship.
Anotace sql:key-fields musí být specifikována v prvku, který obsahuje podřízený prvek, který má definovaný< vztah> sql:mezi tímto prvkem a potomkem a který neposkytuje primární klíč tabulky specifikované v nadřazeném prvku. I když schéma nespecifikuje <sql:relationship>, musíte specifikovat sql:key-fields, abyste vytvořili správnou hierarchii. Pro více informací viz Identifikace klíčových sloupců pomocí sql:key-fields.
Pro správné vnoření ve výsledku se doporučuje, aby sql:key-fields byly specifikovány ve všech schématech.
Examples
Pro vytvoření pracovních vzorků podle následujících příkladů musíte splnit určité požadavky. Pro více informací viz Požadavky na spouštění SQLXML Examples.
A. Specifikace sql:relationship anotace na prvku
Následující anotované schéma XSD zahrnuje <prvky zákazníka> a <objednávky> . Prvek <Objednávka> je podprvek elementu <Zákazník> .
Ve schématu je anotace sql:relation specifikována na podřízeném elementu <Order> . Samotný vztah je definován v prvku <xsd:appinfo> .
Element vztahů> identifikuje< CustomerID v tabulce Sales.SalesOrderHeader jako cizí klíč, který odkazuje na primární klíč CustomerID v tabulce Sales.Customer. Proto se objednávky patřící zákazníkovi zobrazují jako podprvek tohoto<> zákazníka.
<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" />
</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:complexType>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
Předchozí schéma používá pojmenovaný vztah. Můžete také specifikovat nepojmenovaný vztah. Výsledky jsou stejné.
Toto je revidované schéma, ve kterém je specifikován nepojmenovaný vztah:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Customer" sql:relation="Sales.Customer" type="CustomerType" />
<xsd:complexType name="CustomerType" >
<xsd:sequence>
<xsd:element name="Order"
sql:relation="Sales.SalesOrderHeader">
<xsd:annotation>
<xsd:appinfo>
<sql:relationship
parent="Sales.Customer"
parent-key="CustomerID"
child="Sales.SalesOrderHeader"
child-key="CustomerID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
Pro testování vzorku dotazu XPath proti schématu
Zkopírujte výše uvedený kód schématu a vložte ho do textového souboru. Uložte soubor jako sql-relationship.xml.
Zkopírujte následující šablonu níže a vložte ji do textového souboru. Ulož soubor jako sql-relationshipT.xml do stejného adresáře, kde jsi uložil sql-relationship.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="sql-relationship.xml"> /Customer[@CustomerID=1] </sql:xpath-query> </ROOT>Adresářová cesta určená pro mapovací schéma (sql-relationship.xml) je relativní k adresáři, ve kterém je šablona uložena. Absolutní cestu lze také specifikovat, například:
mapping-schema="C:\MyDir\sql-relationship.xml"Vytvořte a použijte testovací skript SQLXML 4.0 (Sqlxml4test.vbs) k provedení šablony.
Pro více informací viz Použití ADO pro provádění dotazů SQLXML.
Tady je sada výsledků:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer CustomerID="1">
<Order OrderID="43860" CustomerID="1" />
<Order OrderID="44501" CustomerID="1" />
<Order OrderID="45283" CustomerID="1" />
<Order OrderID="46042" CustomerID="1" />
</Customer>
</ROOT>
B. Specifikace řetězce vztahů
Pro tento příklad předpokládejme, že chcete následující XML dokument využívající data získaná z databáze AdventureWorks:
<Order SalesOrderID="43659">
<Product Name="Mountain Bike Socks, M"/>
<Product Name="Sport-100 Helmet, Blue"/>
...
</Order>
...
Pro každou objednávku v tabulce Sales.SalesOrderHeader má XML dokument jeden <prvek Objednávka> . A každý <prvek objednávky> má seznam <podprvků produktu> , jeden pro každý požadovaný produkt v objednávce.
Pro určení XSD schématu, které tuto hierarchii vyprodukuje, musíte specifikovat dva vztahy: OrderOD a ODProduct. Vztah OrderOD specifikuje vztah rodič-dítě mezi tabulkami Sales.SalesOrderHeader a Sales.SalesOrderDetail. Vztah ODProduct specifikuje vztah mezi tabulkami Sales.SalesOrderDetail a Production.Product.
V následujícím schématu specifikuje msdata: relation anotace na prvku <Product> dvě hodnoty: OrderOD a ODProduct. Pořadí, v jakém jsou tyto hodnoty specifikovány, je důležité.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:mapping-schema">
<xsd:annotation>
<xsd:appinfo>
<msdata:relationship name="OrderOD"
parent="Sales.SalesOrderHeader"
parent-key="SalesOrderID"
child="Sales.SalesOrderDetail"
child-key="SalesOrderID" />
<msdata:relationship name="ODProduct"
parent="Sales.SalesOrderDetail"
parent-key="ProductID"
child="Production.Product"
child-key="ProductID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="Order" msdata:relation="Sales.SalesOrderHeader"
msdata:key-fields="SalesOrderID" type="OrderType" />
<xsd:complexType name="OrderType" >
<xsd:sequence>
<xsd:element name="Product" msdata:relation="Production.Product"
msdata:key-fields="ProductID"
msdata:relationship="OrderOD ODProduct">
<xsd:complexType>
<xsd:attribute name="Name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
</xsd:complexType>
</xsd:schema>
Místo specifikace pojmenovaného vztahu můžete specifikovat anonymní vztah. V tomto případě celý obsah <anotace>... </annotace>, která popisuje tyto dva vztahy, se objevuje jako podprvek Product<>.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Order" msdata:relation="Sales.SalesOrderHeader"
msdata:key-fields="SalesOrderID" type="OrderType" />
<xsd:complexType name="OrderType" >
<xsd:sequence>
<xsd:element name="Product" msdata:relation="Production.Product"
msdata:key-fields="ProductID" >
<xsd:annotation>
<xsd:appinfo>
<msdata:relationship
parent="Sales.SalesOrderHeader"
parent-key="SalesOrderID"
child="Sales.SalesOrderDetail"
child-key="SalesOrderID" />
<msdata:relationship
parent="Sales.SalesOrderDetail"
parent-key="ProductID"
child="Production.Product"
child-key="ProductID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="Name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
</xsd:complexType>
</xsd:schema>
Pro testování vzorku dotazu XPath proti schématu
Zkopírujte výše uvedený kód schématu a vložte ho do textového souboru. Uložte soubor jako relationshipChain.xml.
Zkopírujte následující šablonu níže a vložte ji do textového souboru. Ulož soubor jako relationshipChainT.xml do stejného adresáře, kde jsi uložil relationshipChain.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="relationshipChain.xml"> /Order </sql:xpath-query> </ROOT>Adresářová cesta určená pro mapovací schéma (relationshipChain.xml) je relativní k adresáři, ve kterém je šablona uložena. Absolutní cestu lze také specifikovat, například:
mapping-schema="C:\MyDir\relationshipChain.xml"Vytvořte a použijte testovací skript SQLXML 4.0 (Sqlxml4test.vbs) k provedení šablony.
Pro více informací viz Použití ADO pro provádění dotazů SQLXML.
Tady je sada výsledků:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Order SalesOrderID="43659">
<Product Name="Mountain Bike Socks, M" />
<Product Name="Sport-100 Helmet, Blue" />
<Product Name="AWC Logo Cap" />
<Product Name="Long-Sleeve Logo Jersey, M" />
<Product Name="Long-Sleeve Logo Jersey, XL" />
...
</Order>
...
</ROOT>
C. Specifikace anotace vztahu na atributu
Schéma v tomto příkladu zahrnuje prvek <Customer> s <potomkem CustomerID> a atribut OrderIDList typu IDREFS. Element <Zákazník> se mapuje na tabulku Sales.Customer v databázi AdventureWorks. Ve výchozím nastavení se rozsah tohoto mapování vztahuje na všechny podřízené prvky nebo atributy, pokud není na podřízeném prvku nebo atributu specifikována sql:relace, v takovém případě musí být <> pomocí tohoto vztahového prvku definován odpovídající vztah primárního klíče/cizího klíče. A podřízený prvek nebo atribut, který specifikuje různou tabulku pomocí anotace vztahů , musí také specifikovat anotaci vztahu .
<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" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="Customer" sql:relation="Sales.Customer" type="CustomerType" />
<xsd:complexType name="CustomerType" >
<xsd:sequence>
<xsd:element name="CustomerID" type="xsd:string" />
</xsd:sequence>
<xsd:attribute name="OrderIDList"
type="xsd:IDREFS"
sql:relation="Sales.SalesOrderHeader"
sql:field="SalesOrderID"
sql:relationship="CustOrders" >
</xsd:attribute>
</xsd:complexType>
</xsd:schema>
Pro testování vzorku dotazu XPath proti schématu
Zkopírujte výše uvedený kód schématu a vložte ho do textového souboru. Uložte soubor jako relationship-on-attribute.xml.
Zkopírujte následující šablonu a vložte ji do souboru. Ulož soubor jako relationship-on-attributeT.xml do stejného adresáře, kde jsi uložil relationship-on-attribute.xml. Dotaz v šabloně vybere zákazníka s CustomerID 1.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="relationship-on-attribute.xml"> /Customer[CustomerID=1] </sql:xpath-query> </ROOT>Adresářová cesta určená pro mapovací schéma (relationship-on-attribute.xml) je relativní k adresáři, ve kterém je šablona uložena. Absolutní cestu lze také specifikovat, například:
mapping-schema="C:\MyDir\relationship-on-attribute.xml"Vytvořte a použijte testovací skript SQLXML 4.0 (Sqlxml4test.vbs) k provedení šablony.
Pro více informací viz Použití ADO pro provádění dotazů SQLXML.
Tady je sada výsledků:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer OrderIDList="43860 44501 45283 46042">
<CustomerID>1</CustomerID>
</Customer>
</ROOT>
D. Specifikace vztahu sql:relation na více prvcích
V tomto příkladu obsahuje anotované schéma <XSD prvky Customer>, <Order> a <OrderDetail> .
Prvek <Objednávka> je podprvek elementu <Zákazník> . <sql:relation> je specifikován na podprvku <Objednávky> ; proto se objednávky patřící zákazníkovi zobrazují jako podprvky <Customer>.
Prvek <Order> zahrnuje podprvek <OrderDetail> . <sql:relation> je specifikován na <podřízeném elementu OrderDetail> , takže detaily pořadí, které se vztahují k pořadí, se zobrazují jako podřízené prvky tohoto <prvku pořadí> .
<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" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Order" sql:relation="Sales.SalesOrderHeader"
sql:relationship="CustOrders" maxOccurs="unbounded" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="OrderDetail"
sql:relation="Sales.SalesOrderDetail"
sql:relationship="OrderOrderDetail"
maxOccurs="unbounded" >
<xsd:complexType>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
<xsd:attribute name="ProductID" type="xsd:string" />
<xsd:attribute name="OrderQty" type="xsd:integer" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
<xsd:attribute name="OrderDate" type="xsd:date" />
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Pro testování vzorku dotazu XPath proti schématu
Zkopírujte výše uvedený kód schématu a vložte ho do textového souboru. Uložte soubor jako relationship-multiple-elements.xml.
Zkopírujte následující šablonu a vložte ji do textového souboru. Ulož soubor jako relationship-multiple-elementsT.xml do stejného adresáře, kde jsi uložil relationship-multiple-elements.xml. Dotaz v šabloně vrací informace o objednávce zákazníka s CustomerID 1 a SalesOrderID 43860.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="relationship-multiple-elements.xml"> /Customer[@CustomerID=1]/Order[@SalesOrderID=43860] </sql:xpath-query> </ROOT>Adresářová cesta určená pro mapovací schéma (relationship-multiple-elements.xml) je relativní k adresáři, ve kterém je šablona uložena. Absolutní cestu lze také specifikovat, například:
mapping-schema="C:\MyDir\relationship-multiple-elements.xml"Vytvořte a použijte testovací skript SQLXML 4.0 (Sqlxml4test.vbs) k provedení šablony.
Pro více informací viz Použití ADO pro provádění dotazů SQLXML.
Tady je sada výsledků:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Order SalesOrderID="43860" OrderDate="2001-08-01" CustomerID="1">
<OrderDetail SalesOrderID="43860" ProductID="761" OrderQty="2" />
<OrderDetail SalesOrderID="43860" ProductID="770" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="758" OrderQty="2" />
<OrderDetail SalesOrderID="43860" ProductID="765" OrderQty="2" />
<OrderDetail SalesOrderID="43860" ProductID="732" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="762" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="738" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="768" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="753" OrderQty="2" />
<OrderDetail SalesOrderID="43860" ProductID="729" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="763" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="756" OrderQty="1" />
</Order>
</ROOT>
E. Specifikace vztahu <> sql:bez atributu rodiče
Tento příklad ilustruje specifikaci vztahu<> sql:bez atributu rodiče. Například předpokládejme, že máte následující tabulky zaměstnanců:
Emp1(SalesPersonID, FirstName, LastName, ReportsTo)
Emp2(SalesPersonID, FirstName, LastName, ReportsTo)
Následující XML pohled má <prvky Emp1> a <Emp2> mapované na tabulky Sales.Emp1 a Sales.Emp2:
<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="EmpOrders"
parent-key="SalesPersonID"
child="Sales.SalesOrderHeader"
child-key="SalesPersonID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="Emp1" sql:relation="Sales.Emp1" type="EmpType" />
<xsd:element name="Emp2" sql:relation="Sales.Emp2" type="EmpType" />
<xsd:complexType name="EmpType" >
<xsd:sequence>
<xsd:element name="Order"
sql:relation="Sales.SalesOrderHeader"
sql:relationship="EmpOrders" >
<xsd:complexType>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="SalesPersonID" type="xsd:integer" />
<xsd:attribute name="LastName" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
V schématu jsou jak prvek <Emp1> , tak <Emp2> typu EmpType. Typ EmpType popisuje podprvek <pořadí> a odpovídající <vztah> sql:. V tomto případě neexistuje žádný jediný rodič, kterého by bylo možné v <sql:relation> identifikovat pomocí atributu rodiče . V této situaci nespecifikujete atribut rodiče v <sql:relationship>; informace o atributu rodiče jsou získávány z hierarchie ve schématu.
Pro testování vzorku dotazu XPath proti schématu
Vytvořte tyto tabulky v databázi AdventureWorks:
USE AdventureWorks2022; CREATE TABLE Sales.Emp1 ( SalesPersonID int primary key, FirstName varchar(20), LastName varchar(20), ReportsTo int) Go CREATE TABLE Sales.Emp2 ( SalesPersonID int primary key, FirstName varchar(20), LastName varchar(20), ReportsTo int) GoPřidejte tato ukázková data do tabulek:
INSERT INTO Sales.Emp1 values (279, 'Nancy', 'Devolio',NULL) INSERT INTO Sales.Emp1 values (282, 'Andrew', 'Fuller',1) INSERT INTO Sales.Emp1 values (276, 'Janet', 'Leverling',1) INSERT INTO Sales.Emp2 values (277, 'Margaret', 'Peacock',3) INSERT INTO Sales.Emp2 values (283, 'Steven', 'Devolio',4) INSERT INTO Sales.Emp2 values (275, 'Nancy', 'Buchanan',5) INSERT INTO Sales.Emp2 values (281, 'Michael', 'Suyama',6)Zkopírujte výše uvedený kód schématu a vložte ho do textového souboru. Uložte soubor jako relationship-noparent.xml.
Zkopírujte následující šablonu a vložte ji do textového souboru. Ulož soubor jako relationship-noparentT.xml do stejného adresáře, kde jsi uložil relationship-noparent.xml. Dotaz v šabloně vybírá všechny <prvky Emp1> (tedy rodičem je Emp1).
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="relationship-noparent.xml"> /Emp1 </sql:xpath-query> </ROOT>Adresářová cesta určená pro mapovací schéma (relationship-noparent.xml) je relativní k adresáři, ve kterém je šablona uložena. Absolutní cestu lze také specifikovat, například:
mapping-schema="C:\MyDir\relationship-noparent.xml"Vytvořte a použijte testovací skript SQLXML 4.0 (Sqlxml4test.vbs) k provedení šablony.
Pro více informací viz Použití ADO pro provádění dotazů SQLXML.
Zde je částečná množina výsledků:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Emp1 SalesPersonID="276" LastName="Leverling">
<Order SalesOrderID="43663" CustomerID="510" />
<Order SalesOrderID="43666" CustomerID="511" />
<Order SalesOrderID="43859" CustomerID="259" />
...
</Emp1>