【发布时间】:2016-03-16 20:00:25
【问题描述】:
我有一个 xml
<name>
<l10n lang="en">abc</l10n>
</name>
这个元素的相关xsd是:
<xs:schema elementFormDefault="qualified" targetNamespace="http://iddn.icis.com/ns/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:c="http://iddn.icis.com/ns/core" xmlns:conf="http://iddn.icis.com/ns/config" xmlns="http://www.w3.org/1999/xhtml">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
</xs:import>
<xs:complexType name="i18n-value">
<xs:sequence>
<xs:element name="l10n" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="lang" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="name" type="c:i18n-value"/>
</xs:schema>
现在我想对元素 'l10n' 添加一个限制,使其值不应该为空,并且如果输入是:
应该抛出架构验证错误<name>
<l10n lang="en"></l10n>
</name>
到目前为止,我已经尝试过 nillable 和 minOccurs 等架构选项,但没有成功。有人可以建议我解决这个问题的可能方法吗?
注意: 请忽略 xsd 或 xml 中任何缺失的命名空间。
【问题讨论】:
标签: xml validation xslt xsd