s4s-elt-invalid-content.1:内容无效。元素 'attribute' 无效、放错位置或出现太频繁

s4s-elt-invalid-content.1: Content is invalid. Element 'attribute' is invalid, misplaced, or occurs too often

我正在为一个项目XSD工作,这是我得到的:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
targetNamespace="http://www.example.org/Elizabeth schema" 
xmlns:elz="http://www.example.org/Elizabeth_schema" elementFormDefault="qualified">
<xs:element name ="year">
<xs:complexType mixed = "true">
<xs:sequence>
<xs:element name="entry">
    <xs:complexType mixed ="true">
    <xs:simpleContent>
        <xs:attribute name ="when" type = "xs:string"/> 
        <xs:attribute name = "place" type = "xs:string"/>
        <xs:element name = "items" type = "xs:string"/>
        <xs:element name = "characters">
            <xs:complexType>
            <xs:attribute name ="character" type = "xs:string"/>
            </xs:complexType>
        </xs:element>
        <xs:element name = "eventscollection">
            <xs:complexType>
            <xs:attribute name = "type" type = "xs:string"/>
            </xs:complexType>
        </xs:element>
        <xs:element name ="entrytxt">
            <xs:complexType>
            <xs:any minOccurs = "0"/>
            <xs:anyAttribute minOccurs="0"/>
            </xs:complexType>
        </xs:element>
        </xs:simpleContent>
    </xs:complexType>
    </xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

我还没有将 xls 指向模式,因为我想先让模式工作。我的 IDE 给我一个错误:

s4s-elt-invalid-content.1: The content of '#AnonType_entryyear' is invalid. Element 'attribute' is invalid, misplaced, or occurs too often.

第 11 行是我在元素下引入第一个属性的地方 "entry." 我发现如果我删除第 10 行 ("simpleContent"),我会得到同样的错误,但是在第 13 行我在"entry."

下引入第一个元素

我是这方面的初学者,我已经在 Internet 上进行了一些尝试,但似乎无法弄清楚我的代码有什么问题。有什么想法吗?

您的 XSD 有很多问题,包括

  • entry没有简单的内容。将 xs:simpleContent 更改为 xs:sequencexs:complexType.
  • 然后,将 xs:attribute 声明移到 xs:sequence 之外。
  • xs:anyAttribute 中删除 minOccurs

请注意,您可能想要删除属性 = 符号周围的间距 -- 不是必需的,但它看起来很不合常规,而且与您所拥有的不一致。

这是您的 XSD 完全更正:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           targetNamespace="http://www.example.org/Elizabeth schema"
           xmlns:elz="http://www.example.org/Elizabeth_schema" 
           elementFormDefault="qualified">
  <xs:element name="year">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element name="entry">
          <xs:complexType mixed="true">
            <xs:sequence>
              <xs:element name="items" type="xs:string"/>
              <xs:element name="characters">
                <xs:complexType>
                  <xs:attribute name="character" type="xs:string"/>
                </xs:complexType>
              </xs:element>
              <xs:element name="eventscollection">
                <xs:complexType>
                  <xs:attribute name="type" type="xs:string"/>
                </xs:complexType>
              </xs:element>
              <xs:element name="entrytxt">
                <xs:complexType>
                  <xs:sequence>
                    <xs:any minOccurs="0"/>
                  </xs:sequence>
                  <xs:anyAttribute/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="when" type="xs:string"/> 
            <xs:attribute name="place" type="xs:string"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>