Udostępnij przez


Tworzenie przy użyciu sekcje CDATA sql:use-cdata (schematu XDR)

Ważna informacjaWażne:

Ten temat jest dołączane jako odniesienia dla starszych aplikacji.Żadna praca przyszłego rozwoju są wykonywane z tej funkcji.Unikaj używania tej funkcji w nowych prac rozwojowych.Zamiast tego użyj adnotacjami schematów XSD tworzenia widoków XML.Aby uzyskać więcej informacji, zobacz Wprowadzenie do adnotacjami schematów XSD (SQLXML 4.0).Można przekonwertować istniejące schematy XDR adnotacjami schematów XSD.Aby uzyskać więcej informacji, zobacz Konwertowanie adnotacjami schematy XDR równoważne schematów XSD (SQLXML 4.0).

W języku XML sekcje CDATA są używane do ewakuacji fragmenty tekstu zawierające znaki, które w przeciwnym razie byłyby rozpoznawane jako oznaczenia.

Microsoft SQL Server dane mogą zawierać znaki, które są uważane za specjalne przez parser XML, na przykład, znaków, takich jak <, >, <=, & są traktowane jako oznaczeń znaków.Jeśli chcesz uniknąć zawierających znaki specjalne są traktowane jako znaczników danych SQL Server można zawijać je w sekcji CDATA.Tekst umieszczony w sekcji CDATA jest traktowana jako zwykły tekst.

sql:use-cdata Używane adnotacji określić dane zwrócone przez program SQL Server jest otoczona sekcji CDATA.Użyj sql:use-cdata adnotacji, aby wskazać, jeśli określona wartość z kolumna przez sql:field powinny być ujęte w sekcji 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óbki pracy przy użyciu poniższych przykładach, musi spełniać określone wymagania.Aby uzyskać więcej informacji, zobacz Wymagania dotyczące uruchamianie przykładów SQLXML.

A.Określ sql:use-cdata na elemencie

W tym schemacie sql:use-cdata jest zestaw 1 (PRAWDA) dla <AddressLine1> elementu.W rezultacie dane dla <AddressLine1> jest zwracany w sekcji 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ć przykładowe kwerendy XPath względem schematu

  1. Kod schematu skopiować i wkleić go do pliku tekstowego.Zapisz plik jako UseCdataXdr.xml.

  2. 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>
    

    Ścieżka katalogu określonego dla mapowania schematu (UseCdataXdr.xml) jest katalog, w którym zapisany szablon.Ścieżka bezwzględna również można określić, na przykład:

    mapping-schema="C:\MyDir\UseCdataXdr.xml"
    
  3. Tworzenie i używanie szablon wykonać skryptu testu 4.0 SQLXML (Sqlxml4test.vbs).

    Aby uzyskać więcej informacji, zobacz Przy użyciu ADO SQLXML wykonanie kwerendy 4.0.

Zestaw wyników jest następujący:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Address>
    <AddressID>1</AddressID> 
    <AddressLine1>
       <![CDATA[ 1970 Napa Ct.]]> 
    </AddressLine1>
  </Address>
</ROOT>

Zobacz także

Odwołanie