2016-09-25 17 views
2

私が検証しようとしたとき、私は非常に基本的なXMLスキーマに取り組んでいると私は、NetBeansでXSDエラー:要素が単純型であるので、それは何の要素情報項目[子供]を持っていない必要があります

cvc-type.3.1.2: Element 'creator' is a simple type, so it must have no element information item [children]. [8]

を受け付けておりますXML。私はW3の学校のチュートリアルに従っています。私のコードは自分のものと非常に似ています。私は複雑なものとして宣言したとき、エラー状態の作成者が単純な型であることをどのように混同していますか。作成者の要素を複合型として誤って宣言しましたか?

XMLドキュメント:

<?xml version="1.0" encoding="UTF-8" ?> 
<gallery 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="Proj1Schema.xsd"> 
    <creator> 
     <name>John Doe</name> 
    </creator> 
</gallery> 

はスキーマ:

<?xml version="1.0"?> 

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:tns="http://xml.netbeans.org/schema/gallery" 
    elementFormDefault="qualified"> 

    <xs:element name="creator"> 
      <xs:complexType> 
       <xs:sequence> 
        <xs:element name="name" type="xs:string"/> 
       </xs:sequence> 
      </xs:complexType> 
    </xs:element> 

    <xs:element name="gallery"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element name="creator" type="xs:string"/> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 

</xs:schema> 

答えて

0

  <xs:element name="creator" type="xs:string"/> 

を交換してください210

  <xs:element ref="creator"/> 

コンテンツモデルgallery内のグローバル宣言elementを再利用します。あなたがXSDを持っていたので、の中にcreatorがあるのは、name子要素を含む複雑な内容を持つあなたのXMLとは対照的に、単純なxs:stringの内容しか許されません。

+0

あなたは私にそれを明確にしました。あなたの知識を共有していただきありがとうございます! :) –

関連する問題