我有以下架构,我用它来确保一个人的PhoneNumber和PhoneNumberType(Home,Work等)不超过10个字符.但是,我想改进此架构,以便在未提供PhoneNumber时不需要PhoneNumberType,但如果提供了PhoneNumber则需要PhoneNumberType.有没有办法在
XML Schema 1.0中执行此操作?
我知道这可以使用< xs:assert />在XML Schema 1.1中完成,但不幸的是我坚持使用XML Schema 1.0.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xs:element name="PhoneNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PhoneNumberType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xsd:schema>
最佳答案 抱歉,XML Schema无法做到这一点.
一些类似的问题:
> can the length of two xml lists be defined as being required to be equal?
> Restrict Element Values Based on Attribute
> How to use attribute value as a discriminator for XML polymorphic type selection?
> How to Validate in XSD the xml node value against it’s neighbor xml node value