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

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

报告相同问题?

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号