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

问题描述 投票:2回答:2

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

在此上下文中不支持“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>
xml xsd
2个回答
2
投票

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

但是在出现错误的情况下,您将简单类型直接放在序列中。

你需要一个元素。

例如。

<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属性移动到新元素上。


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>
© www.soinside.com 2019 - 2024. All rights reserved.