Tworzenie przy użyciu sekcja CDATA sql:use-cdata (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). |
W języku XML CDATA sekcje są używane do escape fragmenty tekstu zawierające znaki, które w przeciwnym razie może być rozpoznany jako znaczników.
Microsoft SQL Server dane mogą zawierać znaki, które są traktowane jako specjalne przez parser XML, na przykład, znaki, takie jak <, >, <=, & są traktowane jako znaki adiustacji. Jeśli użytkownik chce uniknąć zawierających znaki specjalne są traktowane jako znaczniki danych programu SQL Server, można zawinąć je w sekcja CDATA.Tekst umieszczony w sekcja CDATA jest traktowana jako zwykły tekst.
The sql:use-cdata annotation is used specify if the data returned by SQL Server be wrapped in a CDATA section.Użycie sql:use-cdata adnotację, aby wskazać, jeśli określona przez wartość z kolumna sql:field powinno być ujęte w sekcja CDATA. Thesql:use-cdata annotation can be specified on <ElementType> or <element>, and takes a Boolean value (0 = FALSE, 1 = TRUE).sql:use-cdata cannot be used with sql:url-encode or on any of the attribute types ID, IDREF, IDREFS, NMTOKEN, or NMTOKENS.
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śl sql:use-cdata na elemencie
W tym schemacie sql:use-cdata zostanie ustawiona na wartość 1 (PRAWDA) <AddressLine1> element. W wyniku do danych <AddressLine1> jest zwracany w sekcja CDATA.
<?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="AddressID" content="textOnly" />
<ElementType name="AddressLine1" content="textOnly" />
<ElementType name="Address" sql:relation="Person.Address">
<element type="AddressID" />
<element type="AddressLine1" sql:use-cdata="1" />
</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 UseCdataXdr.xml.
Skopiuj następujący szablon i wkleić go do pliku tekstowego.Zapisz plik jako UseCdataXdrT.xml w tym samym katalogu, w którym zapisano UseCdataXdr.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="UseCdataXdr.xml"> /Address[@AddressID=1] </sql:xpath-query> </ROOT>To ścieżka do katalogu określonego dla mapowania schematu (UseCdataXdr.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\UseCdataXdr.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">
<Address>
<AddressID>1</AddressID>
<AddressLine1>
<![CDATA[ 1970 Napa Ct.]]>
</AddressLine1>
</Address>
</ROOT>
Important Note: