Xsd 属性声明上的XML架构验证程序错误
我在验证时遇到一个错误: 错误-第14行,第36行:org.xml.sax.SAXParseException;行号:14;栏目号:36;s4s elt必须匹配。1:“simpleType”的内容必须匹配annotation?,restriction | list | union。发现从:属性开始的问题 如何解决 我的XML片段Xsd 属性声明上的XML架构验证程序错误,xsd,xsd-validation,Xsd,Xsd Validation,我在验证时遇到一个错误: 错误-第14行,第36行:org.xml.sax.SAXParseException;行号:14;栏目号:36;s4s elt必须匹配。1:“simpleType”的内容必须匹配annotation?,restriction | list | union。发现从:属性开始的问题 如何解决 我的XML片段 <CHANEL_NAME lang="RUS/MD">N4</CHANEL_NAME> 和XSD: <xs:element name="
<CHANEL_NAME lang="RUS/MD">N4</CHANEL_NAME>
和XSD:
<xs:element name="CHANEL_NAME">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="40"/>
</xs:restriction>
<xs:attribute name="lang">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="MD"/>
<xs:enumeration value="RUS"/>
<xs:enumeration value="RUS/MD"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:simpleType>
</xs:element>
所以我需要在属性“lang”中只确定像“MD”、“RUS”或“RUS/MD”这样的值。我读过一些例子,我想没关系
或者枚举只针对元素而不针对属性?问题在于第一个simpleType。简单类型不能有属性
您可能需要具有简单内容的复杂类型。比如:
<xs:element name="CHANEL_NAME">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="xs:string">
<xs:length value="40"/>
<xs:attribute name="lang">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="MD"/>
<xs:enumeration value="RUS"/>
<xs:enumeration value="RUS/MD"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
没有测试
也考虑命名匿名类型。
PS也考虑使用/限制XS:语言作为语言类型。
аачача