我正在处理一个XSD文件,当用它验证XML文件时,我想限制空元素。例如,
<myElement>this is not empty</myElement>
会通过验证,但是
<myElement/>
或<myElement></myElement>
不会通过验证。
感谢您提供的任何帮助!
PS。我在https://stackoverflow.com/questions/4126546/prevent-empty-elements-in-xml-via-xsd意外地在未注册的帐户下发布了这个内容。对于给您带来的任何不便,我深表歉意。
更新: 该元素必须能够完全不存在于XML中,所以我不能使用minOccurs =“1”。
答案 0 :(得分:3)
您可以执行类似
的操作<xs:simpleType name="myString">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="root" type="myString"></xs:element>
但是,<root> </root>
仍会匹配,但如果是问题,您可以使用正则表达式限制来更改。
答案 1 :(得分:0)
您可以minOccurs="0"
要求标记,然后使用验证正则表达式检查一个或多个字符。