Bindungsunterstützung für das include-Element
Dieses Thema bezieht sich auf eine veraltete Technologie. XML-Webdienste und XML-Webdienstclients sollten nun mithilfe der folgenden Technologie erstellt werden: Windows Communication Foundation.
.NET Framework stellt partielle Bindungsunterstützung für das <include>-Element bereit.
Beim Generieren von Quellcode aus dem <include>-Element sucht Xsd.exe nach einem integrierten XSD-Dokument als absolutem Pfad des Dateisystems, der über das schemaLocation-Attribut angegeben wird.
Erklärung
Das <include>-Element ähnelt dem <import>-Element. Beide Elemente werden als untergeordnete Elemente des <schema>-Stammelements angezeigt. Sie müssen vor allen anderen untergeordneten Elementen angezeigt werden. Beide rufen eine gesonderte <schema>-Definition auf, die normalerweise in einer anderen XSD-Datei definiert ist. Dabei liegt folgender Hauptunterschied vor:
<import>: Importiert Schemadefinitionen und -deklarationen innerhalb eines separaten Namespaces über das namespace-Attribut.
<include>: Fügt zusätzliche Schemadefinitionen und -deklarationen in den gleichen Namespace ein, der als targetNamespace für die vorhandene XML-Schemadefinition angegeben ist.
Eine XML-Schemadefinition, die <include>-Elemente verwendet, entspricht syntaktisch einer XML-Schemadefinition, in der die integrierten Definitionen direkt angezeigt werden.
Beim Generieren von XML-Schemadokumenten aus einer Reihe von Klassen in einer Assembly erstellt Xsd.exe nur eine XSD-Datei pro Zielnamespace. Dies bedeutet, dass zwei generierte XSD-Dateien nie denselben Wert für das targetNamespace-Attribut des <schema>-Stammelements aufweisen. Deshalb wird das <include>-Element nie generiert. Ein Entwickler kann durch Bereitstellen des <include>-Elements eine generierte XSD-Datei immer manuell in mehrere Dateien unterteilen.
Beim Generieren von Quellcode aus einem XML-Schemadokument erkennt Xsd.exe das <include>-Element. Eingeschlossene XSD-Dokumente dürfen nicht als zusätzliche Argumente an Xsd.exe übergeben werden. Stattdessen werden sie über das schemaLocation-Attribut ermittelt. Der Attributwert sollte ein absoluter Pfad des Dateisystems sein.
Im folgenden Beispiel ist ein gültiger schemaLocation-Wert dargestellt:
<xsd:include schemaLocation="c:\\projectRoot\\source\\xsd\\included1.xsd" />
Hinweis: |
---|
Xsd.exe ignoriert das schemaLocation-Attribut, wenn es im <import>-Element angezeigt wird. Stattdessen werden in Xsd.exe alle importierten Dateien als zusätzliche Befehlszeilenargumente angegeben. Siehe Bindungsunterstützung für das import-Element. |
Mögliche Attribute | Bindungsunterstützung |
---|---|
id |
Das Hilfsprogramm Xsd.exe ignoriert das id-Attribut, mit dem ein eindeutiger Bezeichner bereitgestellt werden soll. |
schemaLocation |
Entsprechende Informationen finden Sie weiter oben. |
Mögliche übergeordnete Elemente: <schema>
Mögliche untergeordnete Elemente: <annotation>