- Jedes Attribut muss in einem eigenen Tag definiert werden?
Ja. Wenn bestimmte Attributkombinationen häufiger auftreten, kann man sie mit<xs:attributeGroup> zusammenfassen. Dann brauchst Du nur noch die Gruppe einzufügen.
-
- Wenn ich ein leeres Element habe (in DTD EMPTY) kann ich das dann wie folgt angeben?
Code:<xsd:complexType name="program"> <xsd:sequnce/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="os" type="xsd:string"/> <xsd:attribute name="version" type="xsd:string"/> </xsd:complexType>
Ja. Das leere Sequence-Element kannst Du weglassen. Kompliziert ist dieser Fall
XML:
<a href="www.irgendwo.de">Link zu irgendwo</a>
dann sieht der Typ so aus:
XML:
<xsd:complexType name="linkType">
<xsd:simpleContent>
<xsd:extension base="xs:string">
<xsd:attribute name="href" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
-
- innerhalb von Kompositionselemente (sequence, choice und all) kann ich schon weitere komplexe Datentypen definieren?
Nö. Du kannst nur innerhalb von Elementen Typen definieren. Was Du tun könntest wäre z.B. dies
XML:
<xsd:complexType name="emailType">
<xsd:sequence>
<xsd:element ref="to" maxOccurs="unbounded" />
<xsd:element ref="from" />
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="cc" />
<xsd:element ref="bcc" />
</xsd:choice>
<xsd:element ref="subject" minOccurs="0" />
<xsd:element ref="body" />
</xsd:sequence>
</xsd:complexType>
wenn Du z.B. beliebig viele cc und bcc's in beliebiger Reihenfolge zwischen from und subject zulassen willst. Dies ist aber keine lokale Typedefinition.
Zuletzt bearbeitet von einem Moderator: