Создание XML-схемы - PullRequest
       9

Создание XML-схемы

0 голосов
/ 26 апреля 2018

У меня есть 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; номер строки: 12; номер столбца: 9; cvc-complex-type.2.4.d: найдено недопустимое содержимое, начиная с элемента 'fact'. На этом этапе не ожидается дочерний элемент.

Спасибо.

1 Ответ

0 голосов
/ 26 апреля 2018

Сообщение об ошибке указывает на строку 12 в вашем вводе.Показанный пример ввода содержит всего 7 строк, поэтому вы должны проверять другой экземпляр.

Мое предположение, основанное на отсутствии информации, заключается в том, что элемент fact встречается более одного раза как потомок элемента information.

Если это так, то схема должна разрешить это: изменить <xs:element name="fact"> на <xs:element name="fact" maxOccurs="unbounded">

...