我对具有结构的 XML 文件感兴趣:
<resource>
<type>STRING</type>
<metadata>
<ANY_EXTERNAL_ELEMENT1>
<value>STRING</value>
</ANY_EXTERNAL_ELEMENT1>
<ANY_EXTERNAL_ELEMENT2>
<reference>STRING</reference>
</ANY_EXTERNAL_ELEMENT2>
<ANY_EXTERNAL_ELEMENT3>
<value>STRING</value>
</ANY_EXTERNAL_ELEMENT3>
</metadata>
</resource>
元数据元素需要至少有一个 ANY_EXTERNAL_ELEMENT 子元素,该子元素只需要一个名称在集合 {"reference", "value"} 中的子元素。
是否可以在 XMLSchema 中实现它?
我尝试了什么:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="resource">
<xs:complexType>
<xs:all>
<xs:element name="type" type="xs:string"/>
<xs:element name="metadata">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="1">
<xs:complexType>
<xs:choice>
<xs:element name="reference"/>
<xs:element name="value"/>
</xs:choice>
</xs:complexType>
</xs:any>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
但这无效。我需要帮助。
提前致谢。