在XSD ......
是否允许使用minOccurs =" 0"在根元素旁边写入? maxOccurs的=" 1" ? 如下所示
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="shiporder" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
........
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
过去是否允许这样的事情?
答案 0 :(得分:0)
否。 minOccurs
或maxOccurs
出现在validation root上是没有意义的,因为well-formed XML必须有一个根元素:
[定义:只有一个元素,称为 root ,或者 文档元素,其中任何一部分都不会出现在其他内容中 元件。]
可以使用多个顶级元素声明,这可能是您使用minOccurs="0"
后的效果:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="shiporder">
...
</xs:element>
<xs:element name="e2">
...
</xs:element>
<xs:element name="e3">
...
</xs:element>
</xs:schema>
这表示根元素可以是shiporder
或e2
或e3
。
要允许多个发货订单,请将它们包装在单个容器shiporders
中,元素:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="shiporders">
<xs:complexType>
<xs:sequence>
<xs:element name="shiporder" minOccurs="0" maxOccurs="unbounded">
...
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>