如何使 XML 模式中的元素成为可选的?

所以我得到了这个 XML 模式:

<?xml version="1.0"?> <xs:schema version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="request">
<xs:complexType>
<xs:sequence>
<xs:element name="amenity">
<xs:complexType>
<xs:sequence>
<xs:element name="description" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element> </xs:schema>

如何使 description 元素成为可选的?因此,包含 description 元素和不包含 description 元素的 XML 都将针对 XSD 进行验证。

165784 次浏览

试试这个

<xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1" />

如果您想要0或1个“描述”元素,或者

<xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="unbounded" />

如果你想要0到无穷多的“描述”元素。

Set the minOccurs attribute to 0 in the schema like so:

<?xml version="1.0"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="request">
<xs:complexType>
<xs:sequence>
<xs:element name="amenity">
<xs:complexType>
<xs:sequence>
<xs:element name="description" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element> </xs:schema>