Określanie wartości domyślnych dla atrybuty w schemacie XDR (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 bazie danych kolumn można przypisać wartości domyślne.Podobnie w schematu XDR, zestaw wartości domyślne atrybutów (elementy nie mogą być przypisane wartości domyślne w schematu XDR).Umożliwia schematu XDR default w specyfikacji atrybut <AttributeType>.
Jeżeli wartość kolumna skojarzonych z atrybutem jest null, ten atrybut nie jest zwracana dla tego wystąpienie elementu.Ale jeśli default Atrybut został określony na <AttributeType>, zwracana atrybutu z określona wartością domyślną.
Na przykład w wyodrębnianie danych z bazy danych do dokumentu XML, jeśli brakuje jednej z wartości atrybut, domyślna wartość tego atrybut w schemacie XDR jest używany.
Uwaga
Wartości domyślne mogą nie pojawiać się w dokumencie, który jest zwracany, raczej ta wartość jest używana przez sprawdzenie analizator składni, za każdym razem, gdy atrybut jest nieobecny.
Uwaga
Wartość domyślna jest używana, jeśli analizator składni, używany jest obsługą schematu.Oznacza to, aby parsera MSXML należy się upewnić, że resolveExternals Flaga jest ustawiona na wartość PRAWDA (ustawienie domyślne), a analizator składni następnie pobiera schematy. Po w sytuacji, poszczególne wystąpienia mają atrybuty (dla którego jest określona wartość domyślna), niezależnie od tego, czy ten atrybut był dołączany do dokumentu XML.Model DOM podaje wartość domyślną.
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 domyślną wartość dla atrybut w schemacie XDR
W tym przykładzie atrybut title znajduje się wartość domyślną "" XYZ".Po pobraniu rekordów kontaktów, wartość domyślna jest przypisane do kontaktów, których nie ma tytułu.
<?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.Contact" >
<AttributeType name="CID" />
<AttributeType name="FirstName" />
<AttributeType name="LastName" />
<AttributeType name="Title" default="XYZ"/>
<attribute type="CID" sql:field="ContactID" />
<attribute type="FirstName" />
<attribute type="LastName" />
<attribute type="Title" />
</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 DefaultValueXdr.xml.
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.Contact[@CID > 1000 and @CID < 1006] </sql:xpath-query> </ROOT>To ścieżka do katalogu określonego dla mapowania schematu (DefaultValueXdr.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\DefaultValueXdr.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">
<Person.Contact CID="1001" FirstName="Terri" LastName="Duffy" />
<Person.Contact CID="1002" FirstName="Roberto" LastName="Tamburello" />
<Person.Contact CID="1003" FirstName="Michael" LastName="Sullivan" />
<Person.Contact CID="1004" FirstName="Sharon" LastName="Salavaria" />
<Person.Contact CID="1005" FirstName="Gail" LastName="Erickson" Title="Ms." />
</ROOT>
Important Note: