1:
<xs:element name="abcd" minOccurs="1" maxOccurs="1"/>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
2:
<xs:element name="abcd" type="xs:string" length value = "4" minOccurs="1" maxOccurs="1"/>
我可以像在数字1中那样添加maxOccurs
和minOccurs
吗。数字2也是正确定义模式的方法吗?
答案 0 :(得分:0)
您的第一个代码示例语法错误很小。 <xs:element>
开始标记最后有一个斜杠/
,这使得它成为一个自闭元素,并且您的XML格式不正确。删除斜杠修复了该错误。
<xs:element name="abcd" minOccurs="1" maxOccurs="1"/>
<xs:simpl...
</xs:element>
是的,您通常可以添加minOccurs
和maxOccurs
,但这不适用于全局元素定义(这意味着<xs:element>
是(直接)子项<xs:schema>
元素。 minOccurs
和maxOccurs
的默认值均为1,因此在您的示例代码中,即使它们被省略,其含义也会保持不变。
您的第二个示例包含错误。
<xs:element name="abcd" type="xs:string" length value = "4" minOccurs="1" maxOccurs="1"/>
length
不是元素<xs:element>
的有效属性。此外,XML建议不允许在等号字符=
之前或之后使用空格,但并非所有解析器都会抱怨这一点。否则看起来是正确的。