如何使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元素的XML和不带XSD的XML都将被validation。

尝试这个

 <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到无限的“描述”元素的数量。

在架构中将minOccurs属性设置为0 ,如下所示:

 <?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>