のない任意のOR素子私はこのXMLを持っている::名前
<hierarchy>
<unix launcher="LauncherUnix">
<linux/>
<aix/>
</unix>
<bdd>
<oracle launcher="LauncherOracle"/>
<mysql launcher="LauncherMySQL"/>
</bdd>
</hierarchy>
これは単純な木であり、私はXSDでそれを検証します。主なスキームは、ルート要素名hierarchy
であり、その後、属性があるlauncher
という名前のタグがいくつかあるだけです。
私はこのようなxs:any
にタイプを設定しよう:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="hierarchy" type="nodeHierarchy"/>
<xs:complexType name="nodeHierarchy">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:any type="nodeHierarchy"/>
</xs:sequence>
<xs:attribute name="launcher" use="optional"/>
</xs:complexType>
</xs:schema>
しかしxs:any
が型を持つことができないので、私はエラーを取得します。この後、私はこのようなxs:element
でxs:any
を変更しよう:問題がtahtさ
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="hierarchy" type="nodeHierarchy"/>
<xs:complexType name="nodeHierarchy">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element type="nodeHierarchy"/>
</xs:sequence>
<xs:attribute name="launcher" use="optional"/>
</xs:complexType>
</xs:schema>
xs:element
は名前を持っている必要があります。
シンプルなxsdでこの問題を解決できますか?