Festlegen von Standardwerten für Attribute im XDR-Schema (XDR-Schema)
Wichtig |
|---|
Dieses Thema ist als Referenz für ältere Anwendungen enthalten. Für diese Funktion wird künftig keine Entwicklungsarbeit mehr geleistet. Vermeiden Sie daher das Verwenden dieser Funktion bei neuen Entwicklungsarbeiten. Verwenden Sie stattdessen XSD-Schemas mit Anmerkungen zum Erstellen von XML-Sichten. Weitere Informationen finden Sie unter Einführung in XSD-Schemas mit Anmerkungen (SQLXML 4.0). Sie können vorhandene XDR-Schemas mit Anmerkungen in XSD-Schemas konvertieren. Weitere Informationen finden Sie unter Konvertieren von XDR-Schemas mit Anmerkungen in gleichbedeutende XSD-Schemas (SQLXML 4.0). |
In einer Datenbank können Sie Datenspalten Standardwerte zuweisen. Entsprechend können Sie in einem XDR-Schema Standardwerte für Attribute festlegen (Elementen können im XDR-Schema keine Standardwerte zugewiesen werden). Das XDR-Schema ermöglicht die default-Attributspezifikation für <AttributeType>.
Wenn ein mit einem Attribut verknüpfter Spaltenwert NULL ist, wird dieses Attribut für diese Instanz des Elements nicht zurückgegeben. Wenn das default-Attribut für <AttributeType> angegeben ist, so wird das Attribut jedoch unter Angabe des Standardwerts zurückgegeben.
Beim Extrahieren von Daten aus der Datenbank in ein XML-Dokument wird beispielsweise bei Fehlen eines Attributwerts ein Standardwert für dieses Attribut im XDR-Schema verwendet.
Hinweis |
|---|
Die Standardwerte erscheinen möglicherweise nicht in dem Dokument, das zurückgegeben wird. Der Wert wird stattdessen von dem Parser verwendet, der die Prüfung durchführt, wenn das Attribut nicht vorhanden ist. |
Hinweis |
|---|
Der Standardwert wird verwendet, wenn der verwendete Parser schemafähig ist. Das heißt, Sie müssen für den MSXML-Parser sicherstellen, dass das resolveExternals-Flag auf TRUE (Standardwert) gesetzt ist und der Parser dann die Schemas abruft. Nach der Analyse durch den Parser besitzen die einzelnen Instanzen die Attribute (für die der Standardwert angegeben wurde) unabhängig davon, ob das Attribut im XML-Dokument enthalten war. Das DOM stellt den Standardwert zur Verfügung. |
Beispiele
Es müssen bestimmte Anforderungen erfüllt sein, damit aus den folgenden Beispielen funktionierende Beispiele erstellt werden können. Weitere Informationen finden Sie unter Anforderungen zum Ausführen von SQLXML-Beispielen.
Angeben des Standardwerts für ein Attribut im XDR-Schema
In diesem Beispiel erhält das Title-Attribut den Standardwert XYZ. Beim Abrufen von Kontaktdatensätzen wird Kontakten ohne Titel ein Standardwert zugewiesen.
<?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>
So testen Sie eine XPath-Beispielabfrage mit dem Schema
Kopieren Sie den oben stehenden Schemacode, und fügen Sie ihn in eine Textdatei ein. Speichern Sie die Datei unter dem Dateinamen DefaultValueXdr.xml.
Kopieren Sie die folgende Vorlage, und fügen Sie sie in eine Textdatei ein. Speichern Sie die Datei unter dem Namen DefaultValueXdrT.xml im gleichen Verzeichnis, in dem Sie DefaultValueXdrT.xml gespeichert haben.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="DefaultValueXdr.xml"> /Person.Person[@CID > 1000 and @CID < 1006] </sql:xpath-query> </ROOT>Der für das Zuordnungsschema (DefaultValueXdr.xml) angegebene Verzeichnispfad bezieht sich auf das Verzeichnis, in dem die Vorlage gespeichert wird. Es kann auch ein absoluter Pfad angegeben werden. Beispiel:
mapping-schema="C:\MyDir\DefaultValueXdr.xml"Erstellen und verwenden Sie das SQLXML 4.0-Testskript (Sqlxml4test.vbs), um die Vorlage auszuführen.
Weitere Informationen finden Sie unter Verwenden von ADO zum Ausführen von SQLXML 4.0-Abfragen.
Im Folgenden wird das Resultset aufgeführt:
<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>
Wichtig
Hinweis