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>