Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Jedes Element und Attribut im XSD-Schema ist aufgrund der Standardzuordnung einer Datenbanktabelle/-ansicht und -spalte zugeordnet. Wenn Sie ein Element im XSD-Schema erstellen möchten, das keiner Datenbanktabelle (Ansicht) oder Spalte zugeordnet ist und nicht im XML angezeigt wird, können Sie die sql:mapped Anmerkung angeben.
Die sql:mapped Anmerkung ist besonders nützlich, wenn das Schema nicht geändert werden kann oder wenn das Schema zum Überprüfen von XML aus anderen Quellen verwendet wird und dennoch Daten enthält, die nicht in Ihrer Datenbank gespeichert sind. Die sql:mapped Anmerkung unterscheidet sich davon sql:is-constant , dass die nicht zugeordneten Elemente und Attribute nicht im XML-Dokument angezeigt werden.
Die sql:mapped Anmerkung akzeptiert einen booleschen Wert (0 = false, 1 = true). Zulässig sind die Werte 0, 1, true und false.
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 für das Ausführen von SQLXML-Beispielen.
Ein. Angeben der sql:mapped-Anmerkung
Angenommen, Sie haben ein XSD-Schema aus einer anderen Quelle. Dieses XSD-Schema besteht aus einem <Person.Contact-Element> mit den Attributen ContactID, FirstName, LastName und HomeAddress.
In der Zuordnung dieses XSD-Schemas zur Tabelle "Person.Contact" in der AdventureWorks-Datenbank wird im Attribut "HomeAddress" angegeben, sql:mapped da die Tabelle "Employees" die Privatadressen von Mitarbeitern nicht speichert. Daher wird dieses Attribut nicht der Datenbank zugeordnet und nicht im resultierenden XML-Dokument zurückgegeben, wenn eine XPath-Abfrage für das Zuordnungsschema angegeben wird.
Die Standardzuordnung findet für den Rest des Schemas statt. Das <Element "Person.Contact> " ist der Tabelle "Person.Contact" zugeordnet, und alle Attribute werden den Spalten mit demselben Namen in der Tabelle "Person.Contact" zugeordnet.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Person.Contact">
<xsd:complexType>
<xsd:attribute name="ContactID" type="xsd:string"/>
<xsd:attribute name="FirstName" type="xsd:string" />
<xsd:attribute name="LastName" type="xsd:string" />
<xsd:attribute name="HomeAddress" type="xsd:string"
sql:mapped="false" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
So testen Sie eine XPath-Beispielabfrage für das Schema
Kopieren Sie den oben stehenden Schemacode, und fügen Sie ihn in eine Textdatei ein. Speichern Sie die Datei als sql-mapped.xml.
Kopieren Sie die folgende Vorlage, und fügen Sie sie in eine Textdatei ein. Speichern Sie die Datei als sql-mappedT.xml im selben Verzeichnis, in dem Sie sql-mapped.xmlgespeichert haben.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="sql-mapped.xml"> /Person.Contact[@ContactID < 10] </sql:xpath-query> </ROOT>Der für das Zuordnungsschema (MySchema.xml) angegebene Verzeichnispfad ist relativ zum Verzeichnis, in dem die Vorlage gespeichert wird. Es kann auch ein absoluter Pfad angegeben werden. Beispiel:
mapping-schema="C:\MyDir\sql-mapped.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-Abfragen.
Dies ist das Resultset:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Person.Contact ContactID="1" FirstName="Gustavo" LastName="Achong" />
<Person.Contact ContactID="2" FirstName="Catherine" LastName="Abel" />
<Person.Contact ContactID="3" FirstName="Kim" LastName="Abercrombie" />
<Person.Contact ContactID="4" FirstName="Humberto" LastName="Acevedo" />
<Person.Contact ContactID="5" FirstName="Pilar" LastName="Ackerman" />
<Person.Contact ContactID="6" FirstName="Frances" LastName="Adams" />
<Person.Contact ContactID="7" FirstName="Margaret" LastName="Smith" />
<Person.Contact ContactID="8" FirstName="Carla" LastName="Adams" />
<Person.Contact ContactID="9" FirstName="Jay" LastName="Adams" />
</ROOT>
Beachten Sie, dass die ContactID, FirstName und LastName vorhanden sind, homeAddress jedoch nicht, weil das Zuordnungsschema 0 für das sql:mapped Attribut angegeben hat.
Siehe auch
Standardzuordnung von XSD-Elementen und -Attributen zu Tabellen und Spalten (SQLXML 4.0)