如何使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>