我正在尝试创建具有不同子元素的必需元素。像这样的示例 XML 文件:
<datamodel>
<info name="user">
<userRight>add user</userRight>
</info>
<info name="admin">
<role>manager</role>
</info>
</datamodel>
我目前有以下 xml 架构。
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="datamodel">
<xs:complexType>
<xs:sequence>
<xs:element name="info" maxOccurs="unbounded" minOccurs="0" >
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="userRight" minOccurs="0"/>
<xs:element type="xs:string" name="role" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="optional" fixed="user"/>
</xs:complexType>
</xs:element>
<xs:element name="info" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="userRight" minOccurs="0"/>
<xs:element type="xs:string" name="role" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="optional" fixed="admin"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
但是,给定的 XML 架构不适用于我拥有的示例 XML 文件。如何修改架构以验证这样的 XML?