1

そこの。

自分で作成したスキーマを使用してxmlドキュメントを検証しようとしていますが、次のエラーが発生し続けます: 検証は行40、列12で停止しました:要素'article'はコンテンツモデルに許可されていません'(book * | article * | mastersthesis * |手続き*) '

私のxsdファイルは、私のxmlファイルと同様に整形式です。40行目は私のxmlドキュメントの終わりです(</bibEntry>)。

これは私のxsdファイルの一部です:

<xs:element name="bibEntry" type="entryType"/>
 <xs:complexType name="entryType">
  <xs:choice>
    <xs:element ref="book" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element ref="article" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element ref="mastersthesis" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element ref="inproceedings" minOccurs="0" maxOccurs="unbounded"/>
  </xs:choice>
 </xs:complexType>

<xs:element name="author" type="xs:string"/>
<xs:element name="title" type="xs:string"/>
<xs:element name="publisher" type="xs:string"/>
<xs:element name="year" type="xs:string"/>
<xs:element name="edition" type="xs:string"/>
<xs:element name="ISBN" type="xs:string"/>
<xs:element name="journal" type="xs:string"/>
<xs:element name="volume" type="xs:positiveInteger"/>
<xs:element name="number" type="xs:positiveInteger"/>
<xs:element name="pages" type="xs:string"/>
<xs:element name="school" type="xs:string"/>
<xs:element name="booktitle" type="xs:string"/>

<xs:element name="book" type="bookType"/>
 <xs:complexType name="bookType">
  <xs:sequence>
    <xs:element ref="author"/>
    <xs:element ref="title"/>
    <xs:element ref="publisher"/>
    <xs:element ref="year"/>
    <xs:element ref="edition"/>
    <xs:element ref="ISBN"/>
   </xs:sequence>
  <xs:attribute name="id" type="xs:NMTOKEN"/>
 </xs:complexType>

 <xs:element name="article" type="articleType"/>
  <xs:complexType name="articleType" mixed="true">
   <xs:sequence>
    <xs:element ref="author"/>
    <xs:element ref="title"/>
    <xs:element ref="year"/>
    <xs:element ref="journal"/>
    <xs:element ref="volume"/>
    <xs:element ref="number"/>
    <xs:element ref="pages"/>
   </xs:sequence>
   <xs:attribute name="id" type="xs:NMTOKEN"/>
 </xs:complexType>

そしてこれは私のxmlです:

<bibEntry xmlns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com bibEntry.xsd">

  <book>
    <author>José Saramago</author>
    <title>Ensaio Sobre a Cegueira</title>
    <publisher>Caminho</publisher>
    <year>1995</year>
    <edition>1ª</edition>
    <ISBN>9722110217</ISBN>
  </book>

  <article>
    <author>Regev, Oded</author>
    <title>On Lattices, learning with errors, random linear codes and cryptography</title>
    <year>2009</year>
    <journal>Journal of the ACM</journal>
    <volume>56</volume>
    <number>13</number>
    <pages>34</pages>
  </article>

  <mastersthesis>
    <author>Menno den Hollander</author>
    <title>Automatic Unit Test Generation</title>
    <school>Delft University of Technology</school>
    <year>2010</year>
  </mastersthesis>

  <inproceedings>
    <author>Thomas Tilley</author>
    <title>Tool Support for FCA</title>
    <booktitle>ICFCA</booktitle>
    <year>2004</year>
    <pages>104-111</pages>
  </inproceedings>

</bibEntry>

私が間違っていることがわかりますか?

4

1 に答える 1

0

要素タグを閉じるのが早すぎるようです。それ以外の

<xs:element name="article" type="articleType"/>

試す

<xs:element name="article" type="articleType">
 (....)
</xs:element>
于 2016-05-19T13:47:59.337 に答える