xsd中基于标记值的约束
我必须根据标记值在下面的xml上创建约束xsd中基于标记值的约束,xsd,xsd-validation,Xsd,Xsd Validation,我必须根据标记值在下面的xml上创建约束 <struct> <member> <name>Identifier</name> <value><i4>11002</i4></value> </member> <member> <name>StartDate</name> <value><dateTime.iso8601>201607
<struct>
<member>
<name>Identifier</name>
<value><i4>11002</i4></value>
</member>
<member>
<name>StartDate</name>
<value><dateTime.iso8601>20160701T12:00:00+0000</dateTime.iso8601>
</value>
</member>
<member>
<name>Type</name>
<value><i4>0</i4></value>
</member>
</struct>
标识符
11002
起始日期
20160701T12:00:00+0000
类型
0
我创建的xsd格式就像,它只是代码的简短形式,使用在线工具生成
<xs:element minOccurs="0" name="struct">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="member">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="name" type="xs:string" />
<xs:element minOccurs="0" name="value">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="string" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
我需要的是对startDate进行约束,确保它的格式正确。
标识符的长度只有5到10位。您的XML设计过于元化,因此阻碍了您使用XSD 1.0表达数据值约束的能力 您可以执行以下操作之一:
标识符
,起始日期
等i4
和dateTime.iso8601
约束在name
之外名称