XML模式 - “此上下文中不支持的元素”

时间:2015-01-13 09:58:19

标签: xml xsd

我的代码中的上一个内容出现问题。它说:

  

此上下文不支持“http://www.w3.org/2001/XMLSchema”。

我该如何解决这个问题?

问题的屏幕截图:

enter image description here

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"   
xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Ansökan">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="hejsanförskolan">
          <xs:complexType>
            <xs:sequence>   
              <xs:element maxOccurs="2" name="vårdnadstagare">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="personnummer" type="datatypPersonnummer"minOccurs="1" />
                    <xs:element name="förnamn" type="xs:string" minOccurs="1" />
                    <xs:element name="efternamn" type="xs:string" minOccurs="1" />
                    <xs:element name="Adress" type="xs:string" minOccurs="1" />
                    <xs:element name="Telefonnummer" type="xs:unsignedInt" minOccurs="1" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>                 
              <xs:element name="ömmandeskäl">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="allergi" type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:simpleType name="datatypPersonnummer">
          <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{10}"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

2 个答案:

答案 0 :(得分:2)

查看另一个内联类型(对于元素vårdnadstagare):您的序列包含一个包含该类型的元素。

但是如果出现错误,您可以在序列中输入简单类型 direct

你需要一个元素。

例如

<xs:sequence>
  …
  <xs:element name="datatypPersonnummer">
     <xs:simpleType>
       <xs:restriction base="xs:string">
         <xs:pattern value="[0-9]{10}"/>
       </xs:restriction>
     </xs:simpleType>
   </xs:element>

IE中。将现有<xs:simpleType name="datatypPersonnummer">换行到新的<xs:element>中,将name属性移到新元素上。

答案 1 :(得分:0)

类型datatypPersonnummer位于错误的位置。这有效:

        </xs:complexType>
    </xs:element>
    <xs:simpleType name="datatypPersonnummer">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{10}"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>