Mapowanie domyślne XDR elementy i atrybuty tabel i kolumn
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). |
W schematu XDR adnotacjami elementu, jest domyślnie mapowany na Tabela/Widok o takiej samej nazwie, a atrybut jest mapowany na kolumna o takiej samej nazwie.
Można mapować elementów podrzędność noncomplex w schemacie w kolumnach bazy danych.Aby zamapować elementu do kolumna w bazie danych, content Atrybut został określony dla tego elementu z textOnly wartość. Jeśli content=textOnly nie określono w mapowania do elementu kolumna bazy danych, sql:field Adnotacja musi być jawnie określona mapować <element> kolumna bazy danych. Aby uzyskać więcej informacji zobaczJawne mapowania XDR elementy i atrybuty tabel i kolumn.
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ślanie domyślnego mapowania
W tym przykładzie <Person.Contact> element jest mapowany do tabela Person.Contact bazy danych AdventureWorks i wszystkie atrybuty mapowanie do tej samej nazwy kolumn tabela Person.Contact. Adnotacje nie są określone w tym schematu XDR.
<?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">
<ElementType name="Person.Contact" >
<AttributeType name="ContactID" />
<AttributeType name="FirstName" />
<AttributeType name="LastName" />
<attribute type="ContactID" />
<attribute type="FirstName" />
<attribute type="LastName" />
</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 DefaultXdr.xml.
Skopiuj następujący szablon i wkleić go do pliku tekstowego.Zapisz plik jako DefaultXdrT.xml w tym samym katalogu, w którym zapisano DefaultXdr.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="DefaultXdr.xml"> /Person.Contact[@ContactID < 3] </sql:xpath-query> </ROOT>To ścieżka do katalogu określonego dla mapowania schematu (DefaultXdr.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\DefaultXdr.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:
<?xml version="1.0" encoding="UTF-8" ?>
<ROOT>
<Person.Contact ContactID="1" FirstName="Gustavo" LastName="Achong"/>
<Person.Contact ContactID="2" FirstName="Catherine" LastName="Abel">
</ROOT>
B.Mapowanie XML <element> kolumna bazy danych
Domyślnie XML element jest mapowany do tabela bazy danych, a atrybut jest mapowany na kolumna bazy danych.Aby zamapować elementu kolumna bazy danych, content atrybut jest określany za pomocą wartości textOnly.
Tego schematu XDR składa się z tym samym <Person.Contact> element, tak jak w poprzednim przykładzie, ale mapowane na elementy podrzędność zamiast atrybuty pól SQL (ContactID, imię, nazwisko).
<?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">
<ElementType name="ContactID" content="textOnly" />
<ElementType name="FirstName" content="textOnly" />
<ElementType name="LastName" content="textOnly" />
<ElementType name="Person.Contact" >
<element type="ContactID" />
<element type="FirstName" />
<element type="LastName" />
</ElementType>
</Schema>
Domyślnie <Person.Contact> element schematu XDR mapuje Person.Contact tabela bazy danych AdventureWorks. The content atrybut is specified on <FirstName> and <LastName> podrzędność elements. W związku z tym te elementy podrzędność będą mapowane do tej samej nazwy kolumn w tabela Person.Contact.
Uwaga
Wyświetlanie zawartości mieszanej (elementy z zarówno tekst i elementy podrzędność) nie jest obsługiwana.
Aby przetestować kwerendę XPath próbki względem schematu
Skopiować powyższy kod schematu i wkleić go do pliku tekstowego.Zapisz plik jako ElementXdr.xml.
Skopiuj następujący szablon i wkleić go do pliku tekstowego.Zapisz plik jako ElementXdrT.xml w tym samym katalogu, w którym zapisano ElementXdr.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="ElementXdr.xml"> /Person.Contact[ContactID < 3] </sql:xpath-query> </ROOT>To ścieżka do katalogu określonego dla mapowania schematu (ElementXdr.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\ElementXdr.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">
<Person.Contact>
<ContactID>1</ContactID>
<FirstName>Gustavo</FirstName>
<LastName>Achong</LastName>
</Person.Contact>
<Person.Contact>
<ContactID>2</ContactID>
<FirstName>Catherine</FirstName>
<LastName>Abel</LastName>
</Person.Contact>
</ROOT>
Important Note: