Bindungsunterstützung für das import-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 <import>-Element bereit.
Für das <import>-Element gilt: Das Tool Xsd.exe ignoriert das schemaLocation-Attribut und erwartet stattdessen importierte Dateien als zusätzliche Befehlszeilenargumente.
Erklärung
Das <import>-Element ähnelt dem <include>-Element. Beide Elemente werden als untergeordnete Elemente des <schema>-Stammelements angezeigt. Sie müssen vor allen anderen untergeordneten Elementen stehen. Beide binden eine gesonderte <schema>-Definition ein, die normalerweise in einer anderen XSD-Datei definiert ist. Zwischen den Elementen besteht der folgende wichtige Unterschied:
<import>: Importiert Schemadefinitionen und -deklarationen innerhalb eines separaten Namespace ü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.
Beispiel für die Verwendung des <import>-Elements:
<xsd:import namespace="http://example.org/attr" schemaLocation="http://example.org/definitions/attr.xsd" />
SchemaLocation-Attribut
Das schemaLocation-Attribut dient dazu, den Speicherort der importierten XSD-Datei anzugeben. Xsd.exe ignoriert das schemaLocation-Attribut jedoch, wenn es im <import>-Element angegeben wird. Stattdessen werden für Xsd.exe alle importierten Dateien als zusätzliche Befehlszeilenargumente angegeben.
Die generierte Quelldatei erhält den Namen der letzten als Argument übergebenen XSD-Datei. Dies wird am Beispiel des folgenden Befehlszeilenaufrufs von Xsd.exe veranschaulicht:
xsd importedAttribute.xsd attributeRef.xsd /classes /language:CS
Die resultierende Quelldatei erhält den Namen attributeRef.cs.
Hinweis: |
---|
Xsd.exe verwendet das schemaLocation-Attribut jedoch, wenn es im <include>-Element angegeben wird. Beim Generieren von Quellcode aus einem XML-Schemadokument erkennt Xsd.exe einen absoluten Dateisystempfad für den Wert. Weitere Informationen finden Sie unter Bindungsunterstützung für das include-Element. |
Namespace-Attribut
Das namespace-Attribut wird dazu verwendet, den importierten Zielnamespace zu identifizieren, der sich vom Zielnamespace des XSD-Dokuments unterscheiden muss, das den Import durchführt (das Dokument, welches das <import>-Element enthält).
Beim Generieren von Quellcode aus einem XML-Schemadokument legt Xsd.exe eine Namespace-Eigenschaft beim .NET Framework-Attribut fest, das auf jeden Typ oder jedes Feld, das einer importierten Entität entspricht, angewendet wird. Auch dann, wenn keine zusätzlichen Namespaces importiert werden, legt Xsd.exe die Namespace-Eigenschaft der folgenden beiden Attribute auf die Eigenschaft des ursprünglichen Zielnamespace des XSD-Dokuments fest:
XmlTypeAttribute: Wenn Datentypen im Schema definiert sind.
Ein importierter Namespace kann über die Namespace-Eigenschaft bestimmter XML-Attributklassen angegeben werden. Die Eigenschaft wird folgendermaßen dargestellt:
Mögliche Attribute | Bindungsunterstützung |
---|---|
id |
Das Hilfsprogramm Xsd.exe ignoriert das id-Attribut, mit dem ein eindeutiger Bezeichner bereitgestellt werden soll. |
namespace |
Siehe den vorangehenden Abschnitt Namespace Attribute. |
schemaLocation |
Siehe den vorangehenden Abschnitt SchemaLocation Attribute. |
Mögliche übergeordnete Elemente: <schema>
Mögliche untergeordnete Elemente: <annotation>