我想创建一个对两种类型的XML文件都有效的XSD架构:
<caption>
<tt>blah</tt>
</caption>
和
<tt>blah</tt>
我尝试使用minOccurs
作为标题,但由于它是根,因此不能minOccurs = 0
次。那么,如何实现这一目标呢?
答案 0 :(得分:0)
只是提示
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- First possible root element -->
<xs:element name="tt" type="xs:string"/>
<!-- Second possible root element-->
<xs:element name="caption">
<xs:complexType>
<xs:sequence>
<!-- just reference to first defined element - when something change there, it won't be necessary to change it everywhere -->
<xs:element ref="tt" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
显然还有其他方法可以达到同样的效果。