2
我已经创建了一个XML模式,其中某些元素使用了MaxOccurs和MinOccurs,但是当我尝试验证它时,出现了“91 s4s-att-not-允许:属性'MaxOccurs'不能出现在元素'element'中。“XML Schema MaxOccurs和MinOccurs未验证
下面是我的元素之一的例子:他们提到,它需要在一个序列
从以前的帖子。我很确定我已经完成了。
我已经创建了一个XML模式,其中某些元素使用了MaxOccurs和MinOccurs,但是当我尝试验证它时,出现了“91 s4s-att-not-允许:属性'MaxOccurs'不能出现在元素'element'中。“XML Schema MaxOccurs和MinOccurs未验证
下面是我的元素之一的例子:他们提到,它需要在一个序列
从以前的帖子。我很确定我已经完成了。
你有两个问题,至少:
1)错误
Attribute 'MaxOccurs' cannot appear in element 'element'."
解释这一切。这是maxOccurs
。案件事宜。
2)您正在将enginesize
元素定义为简单类型(type="integer"
),同时将其定义为复杂类型(嵌套<complexType>
)。你不能拥有他们两个。
如果您想要一个enginesize
元素具有一个属性并且也接受一个整数作为简单内容,您必须将其定义为具有简单内容,并使用扩展来添加该属性。
我相信你想实现的是这样的:
<xsd:element name="enginesize" maxOccurs="2">
<xsd:complexType mixed="true">
<xsd:simpleContent>
<xsd:extension base="xsd:integer">
<xsd:attribute name="unit" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="CC"/>
<xsd:enumeration value="CL"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>