Udostępnij przez


Określanie wartości domyślnych dla atrybutów schematu XDR (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 bazie danych kolumny mogą być przypisane wartości domyślne.Podobnie w schematu XDR wartości domyślne zestaw atrybutów (elementów nie można przypisać wartości domyślne w schematu XDR).Umożliwia schematu XDR default w specyfikacji atrybut <AttributeType>.

Wartość kolumna skojarzonych z atrybutem jest NULL, ten atrybut nie jest zwracana dla tego wystąpienie elementu.Jeśli jednak default atrybut jest określony na <AttributeType>, zwracana atrybut z określonej wartości domyślnej.

Na przykład w wyodrębnianie danych z bazy danych do dokumentu XML, jeśli brakuje jednej wartości atrybut, domyślną wartość tego atrybut w schemacie XDR jest używany.

Ostrzeżenie

Wartości domyślne mogą nie pojawiać się w dokumencie, który jest zwracany, raczej ta wartość jest używana przez parser sprawdzania poprawności, gdy atrybut nie występuje.

Ostrzeżenie

Jeśli parser używany jest świadomy schematu, używana jest wartość domyślna.Oznacza to, że dla parsera MSXML należy się upewnić, resolveExternals Flaga jest zestaw TRUE (domyślna) oraz analizator następnie pobiera schematy.Po analizie poszczególne instancje mają atrybuty (dla których jest określona wartość domyślna), niezależnie od tego, czy atrybut została uwzględniona w dokumencie XML.DOM podaje wartość domyślną.

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 domyślną wartość atrybut w schemacie XDR

W tym przykładzie atrybut tytułu jest podana wartość domyślną "xyz".Po pobraniu rekordów kontaktów dla kontaktów, które nie mają tytułu jest przypisana wartość domyślną.

<?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.Person" >
    <AttributeType name="CID" />
    <AttributeType name="FirstName" />
    <AttributeType name="LastName" />
    <AttributeType name="Title" default="XYZ"/>

    <attribute type="CID" sql:field="BusinessEntityID" />
    <attribute type="FirstName" />
    <attribute type="LastName" />
    <attribute type="Title"  />
</ElementType>
</Schema>

Aby przetestować przykładowe kwerendy XPath względem schematu

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

  2. Skopiuj następujący szablon i wkleić go do pliku tekstowego.Zapisz plik jako DefaultValueXdrT.xml w tym samym katalogu, w którym zapisano DefaultValueXdr.xml.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="DefaultValueXdr.xml">
        /Person.Person[@CID &gt; 1000 and @CID &lt; 1006]
      </sql:xpath-query>
    </ROOT>
    

    Ścieżka katalogu określonego dla mapowania schematu (DefaultValueXdr.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\DefaultValueXdr.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">
  <Person.Person CID="1001" FirstName="Terri" LastName="Duffy" /> 
  <Person.Person CID="1002" FirstName="Roberto" LastName="Tamburello" /> 
  <Person.Person CID="1003" FirstName="Michael" LastName="Sullivan" /> 
  <Person.Person CID="1004" FirstName="Sharon" LastName="Salavaria" /> 
  <Person.Person CID="1005" FirstName="Gail" LastName="Erickson" Title="Ms." /> 
</ROOT>

Zobacz także

Odwołanie