我不完全确定我是否使用了正确的过程,或者即使它是可能的,但是我想要做的是创建一个定义以下模式的 XSL 文件:
<data>
<s>
<name>Joe Blogs</name>
<id>1235</id>
<aa>data</aa>
<ab>data</ab>
<ad>data</ad>
<ae>data</ae>
</s>
<s>
<name>Jane Blogs</name>
<id>1234</id>
<ba>data</ba>
<bb>data</bb>
</s>
<s>
<name>Jane Blogs</name>
<id>1234</id>
<aa>data</aa>
<ac>data</ac>
<ad>data</ad>
<ae>data</ae>
<s>
</data>
所以基本上:
<data>
标签是根。它可以是空的。- 标签可以出现
<s>
多次。<ba>
标签必须伴随着标签<bb>
。<aa>
标签必须附有标签<ad>
和。<ae>
- 标签
<ab>
必须仅在<aa>
(和相关标签)存在时出现,但不得出现在 where<ac>
和 vica-verca。
- 标签
我试图用一个元素来实现它:
<xs:schema version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="data">
<xs:complexType>
<xs:sequence>
<xs:element name="s"
maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element name="name"/>
<xs:element name="id"/>
<xs:element name="aa"/>
<xs:element name="ab"/>
<xs:element name="ad"/>
<xs:element name="ae"/>
</xs:sequence>
<xs:sequence>
<xs:element name="name"/>
<xs:element name="id"/>
<xs:element name="aa"/>
<xs:element name="ac"/>
<xs:element name="ad"/>
<xs:element name="ae"/>
</xs:sequence>
<xs:sequence>
<xs:element name="name"/>
<xs:element name="id"/>
<xs:element name="ba"/>
<xs:element name="bb"/>
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
任何帮助将不胜感激。