那里。
我正在尝试使用自己制作的架构验证xml文档,并且我一直收到此错误: 验证在第40行第12栏停止:元素'文章'不允许用于内容模型'(book * | article * | mastersthesis * | inproceedings *)'
我的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>
你能看出我做错了吗?
答案 0 :(得分:0)
您好像很快关闭了元素标签。 而不是
<xs:element name="article" type="articleType"/>
尝试
<xs:element name="article" type="articleType">
(....)
</xs:element>