Ich habe eine Attributgruppe in meinem XSD-Schema definiert. Von dem, was ich gelesen habe und ausprobiert, es keine Möglichkeit gibt, konnte ich die Optionalität der Nutzung der gesamten Gruppe angeben (so, dass entweder alle Attribute angegeben werden, oder keine), so etwas wie:XSD attributGroup optional?
<xs:attributeGroup name="NameDesc">
<xs:attribute name="n" type="xs:string" use="required"/>
<xs:attribute name="d" type="xs:string" use="required"/>
<xs:attribute name="uinf" type="xs:string" use="required"/>
</xs:attributeGroup>
<xs:complexType name="g">
<xs:attributeGroup ref="tns:NameDesc" use="optional" />
</xs:complexType>
(Beachten Sie die use = "erforderlich" Ich habe in der attributeGroup-Referenz hinzugefügt, die nicht zulässig ist). Habe ich recht oder gibt es einen Weg dies zu erreichen?
Ich habe gelesen How to make "use" attribute (required/optional) depend on another value?, aber ich bin mir nicht sicher, dass dies für meinen Fall gilt.
Ja, das wäre wahrscheinlich eine bessere Option sein. Danke, das habe ich nicht getan. –
Können Sie es simulieren, indem Sie verschiedene Typen auf gleichnamige Elemente anwenden, und nur einer der Typen die Attributgruppe hat? d. h. XML-Polymorphismus, wie. Ich sage nicht, dass es praktisch wäre :-) –
13ren