Nein, nur für einfache Werte. Aber vielleicht können Sie sie verwenden, um das zu tun, was Sie wollen, indem Sie Standardwerte für alle einfachen Teile Ihres komplexen Typs angeben. Allerdings funktioniert dies besser für Attribute als für die Elemente, die Sie haben (denn "Standardwerte für Attribute gelten, wenn Attribute fehlen, und Standardwerte für Elemente gelten, wenn Elemente leer sind" - siehe unten). Attribute selbst sind standardmäßig optional:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="button" type="button"/>
<xs:complexType name="button">
<xs:attribute name="id" type="xs:string"/>
<xs:attribute name="href" type="xs:string" default="index.html"/>
<xs:attribute name="label" type="xs:string" default="Go"/>
</xs:complexType>
</xs:schema>
<button id="1"/>
Standardwerte sowohl für Attribute als auch für Elemente werden mit dem Attribut default deklariert, wobei dieses Attribut in jedem Fall eine etwas andere Bedeutung hat. Wenn ein Attribut mit einem Standardwert deklariert wird, ist der Wert des Attributs derjenige Wert, der als Wert des Attributs in einem Instanzdokument erscheint; wenn das Attribut nicht im Instanzdokument erscheint, gibt der Schemaprozessor dem Attribut einen Wert, der dem des Standardattributs entspricht. Beachten Sie, dass Standardwerte für Attribute nur dann sinnvoll sind, wenn die Attribute selbst optional sind. Es ist daher ein Fehler, sowohl einen Standardwert als auch einen anderen Wert als optional für die Verwendung anzugeben.
Der Schemaprozessor behandelt voreingestellte Elemente etwas anders. Wenn ein Element mit einem Standardwert deklariert wird, ist der Wert des Elements der Wert, der als Inhalt des Elements im Instanzdokument erscheint; wenn das Element ohne Inhalt erscheint, gibt der Schemaprozessor dem Element einen Wert, der dem des Standardattributs entspricht. Wenn das Element jedoch nicht im Instanzdokument vorkommt, stellt der Schemaprozessor das Element überhaupt nicht bereit. Zusammenfassend lassen sich die Unterschiede zwischen Element- und Attribut-Standardwerten wie folgt beschreiben: Standardwerte für Attribute gelten, wenn Attribute fehlen, und Standardwerte für Elemente gelten, wenn Elemente leer sind. [Hervorhebung hinzugefügt]
http://www.w3.org/TR/xmlschema-0/#OccurrenceConstraints