创建XML模式

时间:2018-04-26 07:16:58

标签: xml xsd schema

我有一个XML文件,格式如下:

<information xmlns:xlink="http://www.w3.org/1999/xlink">
  <fact>
    <header>some text</header>
    <text>some text</text>
  </fact>
<information>

我想知道是否有人能够帮助我创建XML模式文件?我目前有以下内容:

    <?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="information">
  <xs:complexType>
    <xs:sequence>
<xs:element name="fact">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="description" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>
      </xs:sequence>
    </xs:complexType>
          </xs:element>

</xs:schema>

但是当输入验证器时,会出现以下错误:

无效。 错误 - 第12,9行:org.xml.sax.SAXParseException; lineNumber:12; columnNumber:9; cvc-complex-type.2.4.d:从element&#39; fact&#39;开始发现无效内容。此时不会有子元素。

谢谢。

1 个答案:

答案 0 :(得分:0)

错误消息指向输入中的第12行。显示的示例输入只有7行,因此您必须验证不同的实例。

我的猜测,基于完全没有信息,fact元素作为information元素的子元素不止一次出现。

如果是这种情况,那么架构需要允许这样做:将<xs:element name="fact">更改为<xs:element name="fact" maxOccurs="unbounded">