我写的第一次的XML模式,我发现了一些有用的工具来帮助我写它。
现在,我在一个奇怪的现象。 我写的模式是有效的一些工具,而不是为一些人。 这种模式是“所有”,“序列”和“组”的组合。 这里是我的XML模式:
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:group name="test">
<xsd:all>
<xsd:element name="e2" minOccurs="0" maxOccurs="1"/>
<xsd:element name="e3" minOccurs="0" maxOccurs="1"/>
<xsd:element name="e4" minOccurs="0" maxOccurs="1"/>
</xsd:all>
</xsd:group>
<xsd:element name="e0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="e1" maxOccurs="unbounded"/>
<xsd:group ref="test"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
这是架构吗? 这项工作直接与此验证和这一个了 ,但XML工具插件记事本++说:“无法解析架构文件”。
PS:我写了这个模式,因为我想有一个元素“E0”这个可能性有E1,E2,E3和E4的混合。 E2,E3和E4应出现0或1时间和E1可能出现无限次。 例如该XML文件应该通过:
<e0>
<e1/>
<e1/>
<e1/>
<e1/>
<e1/>
<e2/>
</e0>
<e0>
<e2/>
<e3/>
<e4/>
</e0>
<e0>
<e1/>
<e2/>
<e3/>
<e4/>
</e0>
你知道的其他方式做到这一点?
谢谢