陌湘萘 2018-04-02 04:15 采纳率: 50%
浏览 963
已采纳

由于在XML模式/DTD(如下)里的错误

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>

  • 写回答

1条回答 默认 最新

  • 陌湘萘 2018-04-02 05:24
    关注

    文件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>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 matlab计算中误差
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊