Hallo,
Danke erstma das du das so prompt beantwortet hast. war genau das was ich gesucht hab.
hab ma noch ne Frage.
Was genau bewirkt dieses simple-content bzw complex-content?
ist mir noch nicht so ganz klar.
Ich zietiere hier aus der deutschen Übersetung von "Schema Part 0: Primer": "In XML Schema gibt es eine grundlegende Unterscheidung zwischen komplexen Typen (complex types), die Elemente enthalten und Attribute tragen dürfen, und einfachen Typen (simple types), bei denen das nicht erlaubt ist."
Angenommen dein Element wäre so definiert gewesen (eigentlich ist es ja ja so definiert):
<xs:element name="MeinElement" type="xs:string">
das bedeutet, dass dein Element vom einfachen Typ (simpleType)ist (string ist ein einfacher Typ).
So ist es nicht möglich diesem Element ein Attribut zuzufügen (siehe den Zitat).
Also habe ich eine Ableitung eines (hier anonymen) komplexen Typs von einem einfachen Typ gemacht (hiermit habe ich das eingeleitet):
<xs:element name="MeinElement">
xs:complexType
</xs:complexType>
</xs:element>
Um festzulegen, dass das Inhaltsmodell diesen neuen Typs nur Zeichendaten und keine Elemente enthält nahm ich das simpleContent
xs:complexType
xs:simpleContent
</xs:simpleContent>
</xs:complexType>
Dann kam die eigentliche Ableitung durch die Erweiterung des einfachen Typs 'string':
xs:simpleContent
<xs:extension base="xs:string">
</xs:extension>
</xs:simpleContent>
Die Erweiterung selbst besteht dann aus dem Hinzufügen dein Attributs mit einer normalen Attribut-Deklaration.
<xs:extension base="xs:string">
<xs:attribute name="MeinAttribut" type="xs:string" use="required"/>
</xs:extension>
Hoffe es hilft. ;-)
Grüße
Thomas