Tworzenie przy użyciu sekcja CDATA sql:use-cdata (SQLXML 4.0)
W języku XML CDATA sekcje są używane do bloków tekstu zawierających znaki, które w przeciwnym razie może być rozpoznany jako oznaczeń znaków escape.
Bazy danych w programie Microsoft SQL Server Czasami może zawierać znaki, które są traktowane jako znaki adiustacji przez analizator składni XML; na przykład kąt nawiasów kwadratowych)< i >), (mniej niż lub równości — do symbolu<=) i znaku handlowego i (&) są traktowane jako znaki adiustacji. Jednakże można zawinąć tego typu znaków specjalnych w sekcja CDATA, aby zapobiec są traktowane jako znaki adiustacji.Tekst wewnątrz sekcja CDATA jest traktowane przez analizator składni XML jako zwykły tekst.
The sql:use-cdata annotation is used to specify that the data returned by SQL Server should be wrapped in a CDATA section (that is, it indicates whether the value from a kolumna that is specified by sql:field should be enclosed in a CDATA section). The sql:use-cdata annotation can be specified only on elements that map to a database kolumna.
The sql:use-cdata annotation takes a logiczny value (0 = false, 1 = true). Dopuszczalne wartości to 0, 1, true i false.
Nie można użyć tej adnotacji sql:url-encode lub identyfikatora, IDREF, IDREFS, NMTOKEN i NMTOKENS atrybut typów.
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 sql:use-cdata na elemencie
W następujących schematu sql:use-cdata jest zestaw 1 (PRAWDA) dla <AddressLine1> w ramach <Adres> element. Dzięki temu dane są zwracane w sekcja CDATA.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Address"
sql:relation="Person.Address"
sql:key-fields="AddressID" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="AddressID" type="xsd:string" />
<xsd:element name="AddressLine1" type="xsd:string"
sql:use-cdata="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Aby przetestować kwerendę XPath próbki względem schematu
Skopiować powyższy kod schematu i wkleić go do pliku tekstowego.Zapisz plik jako UseCData.xml.
Skopiuj następujący szablon i wkleić go do pliku tekstowego.Zapisz plik jako UseCDataT.xml w tym samym katalogu, w którym zapisano UseCData.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="UseCData.xml"> /Address[AddressID < 11] </sql:xpath-query> </ROOT>To ścieżka do katalogu określonego dla mapowania schematu (UseCData.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:\SqlXmlTest\UseCData.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.
Jest to zestaw wyników częściowych:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Address>
<AddressID>1</CustomerID>
<AddressLine1>
<![CDATA[ 1970 Napa Ct. ]]>
</AddressLine1>
</Address>
<Address>
<AddressLine1>
<![CDATA[ 9833 Mt. Dias Blv. ]]>
</AddressLine1>
</Address>
...
</ROOT>