XMLSpy中遇到的问题,关于 命名空间 的错误怎么解决?
错误信息:
由于在XML模式/DTD(如下)里的错误,文件F:\workspace\XML\4_3.xml不能被验证
在位置'F:\workspace\XML\4_3.xsd'的模式具有目标命名空间'',而不是'http://www.example.com/IPO'。
错误位置: ipo:PURCHASEORDER
细节
schema_reference: 在位置'F:\workspace\XML\4_3.xsd'的模式具有目标命名空间'',而不是'http://www.example.com/IPO'。
4_3.xml
<?xml version="1.0" encoding="utf-8"?>
<ipo:PURCHASEORDER
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ipo="http://www.example.com/IPO" PRODID="P001" ORDERID="O001"
xsi:schemaLocation="http://www.example.com/IPO 4_3.xsd">
<ORDER>
<DATE>2000-02-13</DATE>
<PRODUCTNAME>BARBIE DOLL</PRODUCTNAME>
<SUPPLIERNAME>MIKE</SUPPLIERNAME>
<ADDRESS>15,LITION STREET</ADDRESS>
<QUANTITY>3</QUANTITY>
<PRICEPERQTY>200</PRICEPERQTY>
</ORDER>
</ipo:PURCHASEORDER>
4_3.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="PURCHASEORDER" type="pur"/>
<xs:complexType name="pur">
<xs:sequence>
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="DATE" type="xs:date"/>
<xs:element name="PRODUCTNAME" type="xs:string"/>
<xs:element name="SUPPLIERNAME" type="xs:string"/>
<xs:element name="ADDRESS" type="xs:string"/>
<xs:element name="QUANTITY" type="xs:positiveInteger"/>
<xs:element name="PRICEPERQTY" type="xs:positiveInteger"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ORDERID" type="xs:string" use="required"/>
<xs:attribute name="PRODID" type="xs:string" use="optional"/>
</xs:complexType>
</xs:schema>
文件F:\workspace\XML\4_1.xml无效。
属性'orderDate'不允许值'2009-1-20'。
提示: 有效的值应该是'1967-08-13'.
错误位置: Orders / Order / @orderDate
细节
cvc-datatype-valid.1.2.1: 对于类型定义'xs:date',字符串'2009-1-20'与在内嵌类型定义'xs:date'的词法空间里的文字不匹配。
cvc-simple-type.1: 对类型定义'xs:date'来说,字符串'2009-1-20'是无效的。
cvc-attribute.3: 属性'orderDate'的值'2009-1-20'与简单类型定义'xs:date'不匹配。
cvc-complex-type.3.1: 复杂类型'{匿名}'的属性'orderDate'是无效的。
cvc-elt.5.2.1: 元素相对于实际的类型定义'{匿名}'是无效的。
4_1.xsd(有效的,但是引进xml就出错了)
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Orders" type="ord"/>
<xs:complexType name="ord">
<xs:sequence>
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="number" type="numgs"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="zip" type="zipgs"/>
</xs:sequence>
<xs:attribute name="orderID" type="idgs" use="required"/>
<xs:attribute name="orderDate" type="xs:date" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="zipgs">
<xs:restriction base="xs:string">
<xs:length value="6"/>
<xs:pattern value="\d{6}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="idgs">
<xs:restriction base="xs:string">
<xs:length value="4"/>
<xs:pattern value="[A]{1}\d{3}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="numgs">
<xs:restriction base="xs:positiveInteger">
<xs:maxInclusive value="99"/>
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
4_1.xml
<?xml version="1.0" encoding="gb2312"?>
<Orders xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="4_1.xsd">
<Order orderID="A001" orderDate="2009-1-20">
<name>玩具</name>
<number>10</number>
<city>北京</city>
<zip>100000</zip>
</Order>
<Order orderID="A002" orderDate="2009-3-20">
<name>文具</name>
<number>5</number>
<city>青岛</city>
<zip>266000</zip>
</Order>
</Orders>