xml – xsd:具有可选属性的唯一
发布时间:2020-12-16 05:38:06 所属栏目:百科 来源:网络整理
导读:我有这个Xml文件: objects object name="ID1" / object name="ID2" / object name="ID2" color="green" / object name="ID3" color="green" /objects 我想针对XSD架构验证这一点,以便名称和颜色之间的组合在文档中是唯一的. 问题是,如果我使用: xs:unique
我有这个Xml文件:
<objects> <object name="ID1" /> <object name="ID2" /> <object name="ID2" color="green" /> <object name="ID3" color="green" /> <objects> 我想针对XSD架构验证这一点,以便名称和颜色之间的组合在文档中是唯一的. 问题是,如果我使用: <xs:unique name="UniqueObjectNameColor"> <xs:selector xpath="./object" /> <xs:field xpath="@name" /> <xs:field xpath="@color" /> </xs:unique> …规则将忽略没有可选颜色属性的对象元素.以下验证正确,但不应该. <object name="ID2" /> <object name="ID2" /> 您能告诉我如何指定强制使用唯一名称和颜色组合的规则,并且当元素对象中不存在颜色属性时,它会检查名称吗?
使用use和default,有或没有像这样的值:
<element name="objects"> <complexType> <sequence> <element name="object" maxOccurs="unbounded"> <complexType> <attribute name="name" type="string" /> <attribute name="color" type="string" use="optional" default="noColor" /> </complexType> </element> </sequence> </complexType> <unique name="UniqueObjectNameColor"> <selector xpath="tns:object" /> <field xpath="@name" /> <field xpath="@color" /> </unique> </element> </schema> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |