强制使用xsd元素

时间:2014-09-18 07:46:23

标签: xml xsd

我有一个xml文件,我试图针对xsd文件进行验证。工作良好。我想修改xsd以使元素值成为必需的。我如何执行此操作,以便在我验证xml文件时,如果元素FirstName为空(<FirstName></FirstName>

,我希望它失败

xml文件

<?xml version="1.0" encoding="utf-8" ?>
<Patient>
   <FirstName>Patient First</FirstName>
   <LastName>Patient Last</LastName>
</Patient>

xsd文件

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Patient">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="FirstName" type="xs:string" />
        <xs:element name="LastName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

1 个答案:

答案 0 :(得分:15)

强制性

属性 minOccurs 可选。指定任何元素在父元素中出现的最小次数。该值可以是任何数字&gt; = 0.默认值为1。 (默认为必填项)

<!-- mandatory true-->
<xs:element name="lastName" type="xs:string" />
<!-- mandatory false-->
<xs:element name="lastName" type="xs:string" minOccurs="0" />

不清空

<xs:element name="lastName" type="xs:string" >
  <xs:simpleType>
     <xs:restriction base="xs:string">
       <xs:minLength value="1"/>
     </xs:restriction>
  </xs:simpleType>
</xs:element>