为什么 minOccurs="0" 不允许元素为空?
Why is minOccurs="0" not allowing an element to be empty?
我已将元素 "FURNITURE"
设置为 minOccurs="0"
但它仍然返回
Element 'FURNITURE' cannot be empty according to the DTD/Schema.
当我尝试验证它时
<xsd:element name="FURNITURE" minOccurs="0" maxOccurs="6">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ID" type="xsd:integer" />
<xsd:element name="rNumber" type="xsd:string" />
<xsd:element name="type" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
和
<FURNITURE />
通过将 minOccurs="0"
放在 FURNITURE
上,您指定 FURNITURE
不需要存在,但这并没有说明 FURNITURE
的内容模型。事实上,FURNITURE
必须由一系列 ID
、rNumber
和 type
元素组成,这些元素必须恰好出现一次。
如果您希望 FURNITURE
在存在时可能为空,则通过向每个 xsd:element
添加 minOccurs="0"
或通过添加 [=10 共同使每个子元素可选=] 到包装 xsd:sequence
.
另见
- XML Schema minOccurs / maxOccurs default values
我已将元素 "FURNITURE"
设置为 minOccurs="0"
但它仍然返回
Element 'FURNITURE' cannot be empty according to the DTD/Schema.
当我尝试验证它时
<xsd:element name="FURNITURE" minOccurs="0" maxOccurs="6">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ID" type="xsd:integer" />
<xsd:element name="rNumber" type="xsd:string" />
<xsd:element name="type" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
和
<FURNITURE />
通过将 minOccurs="0"
放在 FURNITURE
上,您指定 FURNITURE
不需要存在,但这并没有说明 FURNITURE
的内容模型。事实上,FURNITURE
必须由一系列 ID
、rNumber
和 type
元素组成,这些元素必须恰好出现一次。
如果您希望 FURNITURE
在存在时可能为空,则通过向每个 xsd:element
添加 minOccurs="0"
或通过添加 [=10 共同使每个子元素可选=] 到包装 xsd:sequence
.
另见
- XML Schema minOccurs / maxOccurs default values