Xml XSD:不应为命名空间为的元素
我有一个简单的XSD模式:Xml XSD:不应为命名空间为的元素,xml,validation,xsd,schema,Xml,Validation,Xsd,Schema,我有一个简单的XSD模式: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns="urn:myNamespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualifie
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="urn:myNamespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" id="myList">
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
<xs:element name="abc">
<xs:complexType>
<xs:sequence>
<xs:element name="testElement" />
<xs:element name="Signature" type="ds:SignatureType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XML名称空间有什么问题?问题是在XSD中还是在XML中 自从您在架构中声明
<xs:element name="Signature" type="ds:SignatureType"/>
我试过了,但这也导致了一个错误:
schema.xsd:8:element-element:Schemas解析器错误:element'{http://www.w3.org/2001/XMLSchema}元素',属性'name':'ds:Signature'不是原子类型'xs:NCName'的有效值。WXS schema.xsd未能编译
噢,我的错误。应该使用的不是name
,而是ref
。我更新了答案。
file.xml:5: element Signature: Schemas validity error : Element '{http://www.w3.org/2000/09/xmldsig#}Signature': This element is not expected. Expected is ( Signature ).
file.xml fails to validate
<xs:element name="Signature" type="ds:SignatureType"/>
<xs:element ref="ds:Signature" />