CDATA bölümleri kullanarak sql:use oluşturma-cdata (SQLXML 4.0)
Aksi halde biçimlendirme karakteri olarak tanınan karakterleri içeren metin bloklarına üzere, XML CDATA bölümü kullanılır.
Microsoft, BIR veritabanı SQL Server Bazen, biçimlendirme karakteri olarak XML parser tarafından kabul edilen bir karakter uzunluğunda olabilir; örneğin açılı ayraçlar)< ve >), küçüktür-göre-veya-eşittir-simgesinin (<=) ve ampersand (&) biçimlendirme karakteri olarak işlem görür. Ancak, bu tür özel karakterler, biçimlendirme karakteri olarak işlem görür önlemek için bir CDATA bölümünde kaydırılabilir.CDATA bölümü içinde metin XML parser tarafından düz metin olarak nitelenir.
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 sütun 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 sütun.
The sql:use-cdata annotation takes a Boole value (0 = false, 1 = true). Kabul edilebilir değerler 0, 1, doğru ve yanlış.
Bu ek açıklama ile birlikte kullanılamaz sql:url-encode veya, KIMLIĞI, IDREF, IDREFS, NMTOKEN ve NMTOKENS öznitelik türleri.
Örnekler
Aşağıdaki örnekler kullanarak çalışma örnekleri oluşturmak için , belirli gereksinimleri karşılaması gerekir.Daha fazla bilgi için bkz:SQLXML örnekleri çalıştırma gereksinimleri.
C.SQL:use belirtme-cdata bir öğe üzerinde
Aşağıdaki şemada, sql:use-cdata 1 (doğru) için küme <AddressLine1> içinde <Adres> Öğe. Sonuç olarak, verileri bir CDATA bölümü döndürülür.
<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>
Şemaya örnek bir XPath sorgusu sınamak için
Yukarıdaki şema kodunu kopyalayıp, bir metin dosyasına yapıştırın.Dosyayı UseCData.xml kaydedin.
Şu şablonu kopyalayıp, bir metin dosyasına yapıştırın.Dosya UseCDataT.xml UseCData.xml kaydettiğiniz aynı dizine kaydedin.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="UseCData.xml"> /Address[AddressID < 11] </sql:xpath-query> </ROOT>
Eşleştirme şemasını (UseCData.xml) dizini belirtilen şablon kaydedildiği göreli dizinidir.Mutlak bir yol da, örneğin belirtilebilir:
mapping-schema="C:\SqlXmlTest\UseCData.xml"
Oluşturun ve SQLXML 4.0 sınama komut dosyası (Sqlxml4test.vbs) şablonu yürütmek için kullanın.
Daha fazla bilgi için bkz:ADO SQLXML yürütmek kullanarak 4.0 sorgular..
Bu, kısmi bir sonuç kümesinden oluşur:
<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>