Xml 如何要求XSD中的元素至少出现一次?
如何要求Address元素 如果我对没有经过地址的文档执行XSD验证,但我希望它失败 这可能吗 请参见示例xsd。它隐藏了我的xsd样本Xml 如何要求XSD中的元素至少出现一次?,xml,xsd,Xml,Xsd,如何要求Address元素 如果我对没有经过地址的文档执行XSD验证,但我希望它失败 这可能吗 请参见示例xsd。它隐藏了我的xsd样本 <?xml version="1.0" encoding="utf-8"?> <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Address"> &l
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Address">
<xs:complexType>
<xs:sequence>
<xs:element name="Recipient" type="xs:string" />
<xs:element name="House" type="xs:string" />
<xs:element name="Street" type="xs:string" />
<xs:element name="Town" type="xs:string" />
<xs:element name="County" type="xs:string" minOccurs="0" />
<xs:element name="PostCode" type="xs:string" />
<xs:element name="Country">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="FR" />
<xs:enumeration value="DE" />
<xs:enumeration value="ES" />
<xs:enumeration value="UK" />
<xs:enumeration value="US" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
您希望在其定义中设置minOccurs=1
示例取自:
注释元素必须在项下至少出现一次,但其他元素不必出现。minOccurs和maxOccurs的默认值为1,因此问题出在其他地方…示例XML和架构,请验证Excel XML输出到XSD时似乎有问题,它似乎总是通过。我将发布一个新的修订问题。地址是您的根元素。它总是必需的,否则就没有XML文档。我不理解你的问题。XSD不需要它,如果出于某种原因,它仍然在验证其他东西。请举例?我不明白你在说什么。原始问题的答案是minOccurs='1'。现在你有另一个问题,但不清楚问题是什么。
<xs:element name="item" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:element name="note" type="xs:string" minOccurs="1"/>
<xs:element name="quantity" type="xs:positiveInteger" minOccurs="0"/>
<xs:element name="price" type="xs:decimal" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>