我在尝试生成我的 XSD 时遇到了这个错误,但无法弄清楚我做错了什么;我的代码如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">
<xs:element name="FICH">
<xs:complexType>
<xs:sequence>
<xs:element name="cabeza">
<xs:complexType>
<xs:sequence>
<xs:element name="VERSION_ORIG" type="Version"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DATA_MAJ">
<xs:complexType>
<xs:sequence>
<xs:element name="DATA1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="VERSION_SIT_NOM" type="Version"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:assert test="CABEZA/VERSION_ORIG = DATA_MAJ/VERSION_SIT_NOM"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="YYMM">
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9]{2}[01|02|03|04|05|06|07|08|09|10|11|12]"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Version">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{2}.[0-9]{2}.[0-9]{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="emptyString">
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
这个想法是元素 CABEZA/VERSION_ORIG 必须等于 DATA_MAJ/VERSION_SIT_NOM。我已经寻找了一些解决方案,但对我来说一切似乎都很好。
提前致谢