【发布时间】:2009-04-16 21:04:08
【问题描述】:
我研究这个问题太久了。我怀疑我遗漏了一些明显的东西,因为我对它过于熟悉了。
我有一个遭受独特粒子违规错误的架构。我明白为什么,但我花了太长时间摆弄它,无法退后一步解决问题。
如何表达此架构,以便它可以验证我需要建模的内容?
内容模型类似于:
<document>
<extract>...</extract>
<structure>...</structure>
<structure>...</structure>
</document>
或
<document>
<structure>...</structure>
<structure>...</structure>
</document>
或
<document>
<extract>...</extract>
<extract>...</extract>
</document>
这是一个 document 元素,可以包含一个或多个 extract 元素或一个或多个 structure 元素,也可以包含单个 提取元素,后跟一个或多个结构元素。
我有一个(不正确的)架构,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="document" type="Document"/>
<xs:complexType name="Document">
<xs:choice>
<xs:sequence>
<xs:element ref="extract" minOccurs="0"/>
<xs:element ref="structure" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:element maxOccurs="unbounded" ref='extract'/>
</xs:choice>
</xs:complexType>
<xs:element name="extract" type="xs:string"/>
<xs:element name="structure" type="xs:string"/>
</xs:schema>
(这是一个更复杂的架构的精简版)。
干杯
尼克
【问题讨论】: