命名空间“无法在此架构中引用

时间:2014-01-15 13:02:58

标签: xml xsd

您好我是XML Schema的新手。 (这是我的第一次尝试。) 我不明白为什么我一直收到这个错误。命名空间“无法在此架构中引用。

这是我收到错误的行。

           <sch:element name="Field1" type="naming"/>

XSD文件

<?xml version="1.0" encoding="utf-8"?>
<sch:schema xmlns:sch="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://tempuri.org/MySchemaFile"
           elementFormDefault="qualified">

  <sch:element name="Root">
    <sch:complexType>
      <sch:sequence>
        <sch:element name="Nodes" maxOccurs="unbounded">
          <sch:complexType>
            <sch:sequence>
              <sch:element name="Field1" type="naming"/>
              <sch:element name="Field2" type="sch:string"/>
              <sch:element name="Field3" type="sch:integer" default="0"/>
              <sch:element name="Field4" type="sch:string" default="0"/>
              <sch:element name="Field5" type="sch:string"/>
              <sch:element name="Field6" type="sch:string"/>
              <sch:element name="Field7" type="sch:string" default="0"/>
              <sch:element name="Field8" type="sch:string" default="0"/>
              <sch:element name="Field9" type="sch:string" default="None"/>
            </sch:sequence>
          </sch:complexType>
        </sch:element>
      </sch:sequence>
    </sch:complexType>
  </sch:element>

    <sch:simpleType name="naming">
      <sch:restriction base ="sch:string">
        <sch:minLength value="0"/>
        <sch:maxLength value="5"/>
      </sch:restriction>
    </sch:simpleType>

</sch:schema>

谁能告诉我我做错了什么?感谢任何有帮助的人。

1 个答案:

答案 0 :(得分:9)

您已定义目标命名空间,这意味着所有类型定义都将存在于此命名空间中。但是Field1的类型引用引用了空名称空间。声明一个额外的命名空间:

<sch:schema xmlns:sch="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://tempuri.org/MySchemaFile"
           xmlns:tns="http://tempuri.org/MySchemaFile"
           elementFormDefault="qualified">

并在引用架构中定义的类型时使用该前缀:

        <sch:sequence>
          <sch:element name="Field1" type="tns:naming"/>
          <sch:element name="Field2" type="sch:string"/>
          ...
        </sch:sequence>
相关问题