Określanie sql:miejsce docelowe z docelowego obszaru nazw przy użyciu-obszaru nazw (schematu XDR)
Important Note: |
|---|
W tym temacie jest włączony jako odwołanie w przypadku starszych aplikacji.Żadna praca przyszłe będą mogły wykonać tej funkcji.Należy unikać stosowania tej funkcji w nowej pracy rozwoju.Zamiast tego należy używać adnotacjami schematów XSD tworzenia widoków XML.Aby uzyskać więcej informacji zobaczWprowadzenie do adnotacjami schematy XSD (SQLXML 4.0).Istniejące schematy XDR adnotacjami można przekonwertować schematów XSD.Aby uzyskać więcej informacji zobaczKonwertowanie adnotacjami schematy XDR Equivalent schematy XSD (SQLXML 4.0). |
The sql:target-namespace annotation can be used to place elements and attributes from the default namespace into a different namespace.The sql:target-namespace atrybut can be added only to the <Schema> tag in the XDR schema.
Wartość sql:target-namespace Identyfikator URI (Uniform zasób Identifier) obszaru nazw ma być używany do generowania elementów i atrybutów jest określona w schemacie mapowania. Ten identyfikator URI jest stosowana do wszystkich elementów i atrybutów w domyślny obszar nazw.Zawiera dokument XML zwróconych z kwerend względem tego schematu xmlns:prefix = "identyfikator uri. „ deklaracje i prefiks element i atrybut nazwy odpowiednio.Identyfikator URI, który jest używany pochodzi od wartości sql:target-namespace adnotacja. Prefiks jest generowany arbitralnie i nie odpowiada wartości w schemacie (nawet jeśli prefiksy są używane w schemacie).
Przykłady
Aby utworzyć próbek pracy przy użyciu poniższych przykładach, musi spełniać określone wymagania.Aby uzyskać więcej informacji zobaczWymagania dotyczące uruchamianie SQLXML przykłady.
A.Określa miejsce docelowe obszar nazw
W tym przykładzie sql:target-namespace Adnotacja jest używana do określenia miejsce docelowe obszaru nazw. Dzięki temu wszystkie elementy i atrybuty, które będzie mieć podziały na domyślny obszar nazw jest przekierowywany do docelowego obszaru nazw (MyNamespace).
<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes"
xmlns:sql="urn:schemas-microsoft-com:xml-sql"
sql:target-namespace="urn:MyNamespace">
<ElementType name="Sales.SalesOrderHeader" >
<AttributeType name="SalesOrderID" />
<attribute type="SalesOrderID"/>
</ElementType>
<ElementType name="Sales.Customer" >
<AttributeType name="CustomerID" />
<attribute type="CustomerID" />
<element type="Sales.SalesOrderHeader" >
<sql:relationship
key="CustomerID"
foreign-key="CustomerID"
key-relation="Sales.Customer"
foreign-relation="Sales.SalesOrderHeader" />
</element>
</ElementType>
</Schema>
Aby przetestować kwerendę XPath próbki względem schematu
Skopiować powyższy kod schematu i wkleić go do pliku tekstowego.Zapisz plik jako Xdr.xml TargetNS.
Skopiuj następujący szablon i wkleić go do pliku tekstowego.Zapisz plik jako XdrT.xml TargetNS w tym samym katalogu, w którym zapisano Xdr.xml TargetNS.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="TargetNS-Xdr.xml" xmlns:x="urn:MyNamespace" > x:Sales.Customer[@CustomerID=1] </sql:xpath-query> </ROOT>Kwerendy XPath w szablonie żąda wszystkich **<Odbiorcy>**elementów zdefiniowanych w obszarze nazw "MyNamespace". W szablonie prefiks x, jest związany z obszaru nazw.
To ścieżka do katalogu określonego dla mapowania schematu (TargetNS Xdr.xml) jest względna w stosunku do katalogu, w którym są zapisywane w szablonie.Ścieżka bezwzględna również można określić, na przykład:
mapping-schema="C:\MyDir\TargetNS-Xdr.xml"Tworzenie i używanie skryptu testu 4.0 SQLXML (Sqlxml4test.vbs) do wykonać tego szablonu.
Aby uzyskać więcej informacji zobaczPrzy użyciu obiektu ADO do wykonywania SQLXML bada 4.0.
Poniżej znajduje się zestaw wyników:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<y0:Sales.Customer xmlns:y0="urn:MyNamespace" CustomerID="1">
<y0:Sales.SalesOrderHeader SalesOrderID="43860" />
<y0:Sales.SalesOrderHeader SalesOrderID="44501" />
<y0:Sales.SalesOrderHeader SalesOrderID="45283" />
<y0:Sales.SalesOrderHeader SalesOrderID="46042" />
</y0:Sales.Customer>
</ROOT>
Uwaga Aby prefiksy, generowane są dowolne, ale mapy do tych samych nazw.
Important Note: