我有以下xsd文件,它会抛出“invalid schema”错误。我以前做过很多复杂的模式,但似乎无法弄清楚这个有什么问题,这应该是非常直接的。
之后我知道我需要一些东西<xsd:element name="ebay">
但是什么?
XML:
<ebay><userID></userID></ebay>
Schema:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="ebay">
<xsd:element name="userID">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="255"/>
<xsd:whiteSpace value="collapse"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:element>
</xsd:schema>
答案 0 :(得分:1)
您需要将名称空间xs:定义为“http://www.w3.org/2001/XMLSchema”,您使用的是两个名称空间,但只定义了xsd。你应该只使用其中一个。另外我不相信你可以在字符串上使用minInclusive值或maxInclusiveValue。
答案 1 :(得分:0)
尝试此架构:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="ebay">
<xs:complexType>
<xs:sequence>
<xsd:element name="userID">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="255"/>
<xsd:whiteSpace value="collapse"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xs:sequence>
</xs:complexType>
</xsd:element>
</xsd:schema>