[英]In an XML schema, is there a way to validate that a name of an element is the value of another element
[英]Validate multiple element and value combinations in XML Schema
我试图创建一个XML Schema 1.0来验证多个元素组合。
例如,
是否可以创建可能的元素列表-模式中的值组合? 喜欢,仅在以下情况下有效
A = 1 && B = 2
A = 2 && B = 4
通过示例
<Full>
<A>1</A>
<B>2</B>
</Full>
<Full>
<A>2</A>
<B>4</B>
</Full>
失败示例
<Full>
<A>2</A>
<B>2</B>
</Full>
<Full>
<A>1</A>
<B>4</B>
</Full>
我还不能使用XML Schema 1.1。 有什么好的方法可以将这些逻辑放在一个模式中?
抱歉,我只是再次重写我的问题。
在此根据您的要求设置以下内容:-
minOccurs =“ 0” -出现次数为零或更多
minOccurs =“ 1” -至少出现一次或多次
maxOccurs =“ unbounded” :如果要使用无限次,请设置此项
maxOccurs =“ 1” :如果只想设置一次
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="FULL">
<xs:complexType>
<xs:sequence>
<xs:element name="A" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="B" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="C" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
假设您正在传递所有三个单独的XML(不是一个完整的XML)
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="FULL">
<xs:complexType>
<xs:sequence>
<xs:element name="A" type="xs:int" minOccurs="1" maxOccurs="1"/>
<xs:element name="B" type="xs:int" minOccurs="0" maxOccurs="1"/>
<xs:element name="C" type="xs:int" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="FULL">
<xs:complexType>
<xs:sequence>
<xs:element name="A" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:pattern value="[1-2]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="B" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:pattern value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="C" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.