2012-11-11 24 views
0

有兩個問題我所得到的,當我嘗試驗證我的XML模式:XML架構驗證返回2個錯誤

78,44 S4S-ELT-無效內容1: The content of 'gamesType' is invalid. Element 'element' is invalid, misplaced, or occurs too often.

4,9 cvc-complex-type.2.4a: Invalid content was found starting with element 'author'. One of '{autor}' is expected

我不知道該怎麼做這是我第一次使用Xml架構作業。

'<?xml version="1.0" encoding="utf-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
<!-- Jakub Gluch, Krzzis1013--> 

<xs:element name="collection"> 
<xs:complexType> 
<xs:sequence> 
<xs:element name="autor"/> 
<xs:element name="collection" minOccurs="10" maxOccurs="unbounded"/> 
<xs:element name="copyright" type="copyrightType"/> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 

<xs:complexType name="authorType"> 
<xs:sequence> 
<xs:element name="gender" type="genderType"/> 
<xs:element name="name" type="nameType" minOccurs="1" maxOccurs="2"/> 
<xs:element name="surname" type="surnameType"/> 
<xs:element name="age" type="ageType"/> 
<xs:element name="city" type="cityType"/> 
<xs:element name="study" type= "studyType"/> 
</xs:sequence> 
</xs:complexType> 

<xs:simpleType name="genderType"> 
<xs:restriction base="xs:string"> 
<xs:pattern value="mezczyzna|kobieta"/> 
</xs:restriction> 
</xs:simpleType> 

<xs:simpleType name="nameType" > 
<xs:restriction base="xs:string" > 
<xs:minLength value="1"/> 
<xs:maxLength value="16"/> 
</xs:restriction> 
</xs:simpleType> 

<xs:simpleType name="surnameType"> 
<xs:restriction base="xs:string"> 
<xs:minLength value="1"/> 
<xs:maxLength value="20"/> 
</xs:restriction> 
</xs:simpleType> 

<xs:simpleType name="ageType"> 
<xs:restriction base="xs:integer"> 
<xs:minInclusive value="1"/> 
<xs:maxInclusive value="100"/> 
</xs:restriction> 
</xs:simpleType> 

<xs:simpleType name="cityType"> 
<xs:restriction base="xs:string"> 
<xs:minLength value="1"/> 
<xs:maxLength value="30"/> 
</xs:restriction> 
</xs:simpleType> 

<xs:complexType name="studyType"> 
<xs:simpleContent> 
<xs:extension base="xs:string"> 
<xs:attribute name="semester" type="xs:integer"/> 
<xs:attribute name="group" type="xs:string"/> 
</xs:extension> 
</xs:simpleContent> 
</xs:complexType> 

<xs:complexType name="gamesType"> 
<xs:sequence> 
<xs:element name="game"/> 
<xs:element name="author"/> 
<xs:element name="date"/> 
<xs:element name="url"/> 
<xs:element name="species"/> 
</xs:sequence> 

<xs:element name="games" type="gamesType"/> 

<xs:complexType name="gamesType"> 
<xs:sequence> 

<xs:element name="game"> 
<xs:simpleType> 
<xs:restriction base="xs:string"> 
<xs:minLength value="5"/> 
<xs:maxLength value="40"/> 
</xs:restriction> 
</xs:simpleType> 
</xs:element> 

<xs:element name="author"> 
<xs:simpleType> 
<xs:restriction base="xs:string"> 
<xs:minLength value="5"/> 
<xs:maxLength value="30"/> 
</xs:restriction> 
</xs:simpleType> 
</xs:element> 

<xs:element name="date" type="xs:date" /> 

<xs:element name="url"> 
<xs:simpleType> 
<xs:restriction base="xs:string"> 
<xs:minLength value="10"/> 
<xs:maxLength value="60"/> 
</xs:restriction> 
</xs:simpleType> 
</xs:element> 

<xs:element name="species" type="speciesType"/> 

</xs:sequence> 
</xs:complexType> 

<xs:complexType name="speciesType"> 
<xs:simpleContent> 
<xs:restriction base="speciesTypeBase"> 
<xs:minLength value="2"/> 
<xs:maxLength value="20"/> 
</xs:restriction > 
</xs:simpleContent> 
</xs:complexType> 

<xs:complexType name="speciesTypeBase"> 
<xs:simpleContent> 
<xs:extension base="xs:string"> 
<xs:attribute name="type" type="xs:string"/> 
<xs:attribute name="age" type="xs:string"/> 
<xs:attribute name="language" type="xs:string"/> 
</xs:extension> 
</xs:simpleContent> 
</xs:complexType> 

</xs:complexType> 

<xs:simpleType name="copyrightType"> 
<xs:restriction base="xs:string"> 
<xs:minLength value="10"/> 
<xs:maxLength value="60"/> 
</xs:restriction> 
</xs:simpleType> 

</xs:schema>' 

回答

0

這很明顯。

gameType中的元素沒有定義類型(內聯或引用類型)。它需要看起來像authorType

你的第二個錯誤顯然是一個錯字...

+0

笑u有分辯:d,但我不知道我有什麼改變authorType coudl妳告訴我嗎? – user1815928

+0

不,不是真的:)我只是試圖讓錯誤信息更清晰。 – leppie