Freigeben über


Bindungsunterstützung für das simpleContent-Element

.NET Framework bietet partielle Bindungsunterstützung für das <simpleContent>-Element.

Einfache Inhaltserweiterung wird immer vollständig durch Klassendefinitionen in .NET Framework ausgedrückt. Einfache Inhaltsbeschränkung wird nicht erkannt.

Erklärung

In der XML-Schemadefinitionssprache wird das <simpleContent>-Element zum Definieren eines komplexen Typs verwendet, der keine untergeordneten Elemente enthält. Ein komplexer Typ, der einfachen Inhalt enthält (Attribute, Textkörper oder beides), wird aus einer Basisklasse entweder durch Erweiterung oder durch Beschränkung abgeleitet. Dazu wird ein <extension>-Element oder ein <restriction>-Element unter dem <simpleContent>-Element verwendet.

Xsd.exe erkennt keine einfache Inhaltsbeschränkung. Einfache Inhaltserweiterung wird immer vollständig durch Klassendefinitionen in .NET Framework ausgedrückt. Beim Generieren von Quellcode aus einem XML-Schemadokument erzeugt Xsd.exe ein öffentliches Feld, dessen Typ dem Basistyp entspricht, der durch das base-Attribut des <extension>-Elements angegeben ist. Informationen zu Bindungen zwischen integrierten einfachen Typen im XML-Schema und .NET Framework-Typen finden Sie unter "Datentypunterstützung zwischen XML-Schematypen (XSD) und .NET Framework-Typen" im .NET Framework Developer's Guide.

Eine einfache Inhaltserweiterung und eine einfache Inhaltsbeschränkung werden im Schemaobjektmodell durch die XmlSchemaSimpleContentExtension-Klasse bzw. die XmlSchemaSimpleContentRestriction-Klasse sowie die XmlSchemaSimpleContent-Klasse dargestellt.

Objekte dieser Klassen können verwendet werden, um programmatisch ein Schemaobjektmodell mit Bezug auf ein XSD-Dokument zu erstellen, das komplexe Typen mit einfachem Inhalt definiert.

Beispiel

XML-Schema-Eingabedokument:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            targetNamespace="http://example.org/" xmlns="http://example.org/" elementFormDefault="qualified">
<xsd:element name="Distance">
  <xsd:complexType>
   <xsd:simpleContent>
    <xsd:extension base="xsd:float">
     <xsd:attribute name="units" type="xsd:string"/>
    </xsd:extension>
   </xsd:simpleContent>
  </xsd:complexType>
 </xsd:element>
</xsd:schema>

Aus dem vorherigen XML-Schemadokument generierte C#-Klasse:

[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://example.org/")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="http://example.org/", IsNullable=false)]
public class Distance {
        
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string units;
        
    [System.Xml.Serialization.XmlTextAttribute()]
    public System.Single Value;
}

Aus einer Assembly, die aus der vorherigen C#-Quelle kompiliert wurde, generiertes XML-Schemaelement und generierter komplexer Typ:

<xs:element name="Distance" type="tns:Distance" />
<xs:complexType name="Distance">
  <xs:simpleContent>
    <xs:extension base="xs:float">
      <xs:attribute name="units" type="xs:string" />
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>
Mögliche Attribute Bindungsunterstützung

id

Das Dienstprogramm Xsd.exe ignoriert das id-Attribut, mit dem ein eindeutiger Bezeichner bereitgestellt werden soll.

Mögliche übergeordnete Elemente: <complexType>

Mögliche untergeordnete Elemente: <annotation>, <extension>, <restriction>

Siehe auch

Referenz

XmlSchemaSimpleContent

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.