通过 XSD 防止 XML 中的空元素 [英] Prevent Empty Elements in XML via XSD
问题描述
我正在处理一个 XSD 文件,在使用它验证 XML 文件时,我想限制空元素.例如,
I'm working on an XSD file and when validating an XML file with it I want to restrict empty elements. Eg.,
会通过验证,但是
或
不会通过验证.
感谢您提供的任何帮助!
Thanks for any help you may offer!
ps.我不小心将其发布在 https://stackoverflow.com/questions/4126546/prevent-empty-elements-in-xml-via-xsd 在未注册帐户下.对于给您带来的不便,我深表歉意.
ps. I accidentally posted this at https://stackoverflow.com/questions/4126546/prevent-empty-elements-in-xml-via-xsd under an unregistered account. I apologize for any inconveniences.
更新:该元素必须完全不存在于 XML 中,所以我不能使用 minOccurs="1".
UPDATE: The element must be able to not exist in the XML at all, so I can not use minOccurs="1".
推荐答案
你可以像
<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>
然而,它仍然会匹配
但如果有问题,您可以使用正则表达式限制来更改它.
However that will still match on <root> </root>
but you could use a regex restriction to change that if it is an issue.
这篇关于通过 XSD 防止 XML 中的空元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!