小编The*_*nik的帖子

XML Schema:全部,序列和组

我是第一次编写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>
Run Code Online (Sandbox Code Playgroud)

这个架构是对的吗?这项工作直接与此验证这一个了,但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>
Run Code Online (Sandbox Code Playgroud)

你知道另一种方法吗?

谢谢

xml schema xsd

0
推荐指数
1
解决办法
6047
查看次数

标签 统计

schema ×1

xml ×1

xsd ×1