2017-01-24 21 views
0

CIは、私は読む必要があるXMLファイルを持っており、それは次のようになります。ビルドでのSrc-解決:(n)は、名前を「花」を解決できません。「タイプの定義」コンポーネント

<?xml version="1.0" encoding="UTF-8"?> 
<flowers> 
    <flower name="rose"> 
     <soilType>Podzolic</soilType> 
     <visualParameters> 
      <stemColor>Green</stemColor> 
      <leafColor>Red</leafColor> 
      <averageSize>50</averageSize> 
     </visualParameters> 
    <growingTips> 
      <LightType>photophilous</LightType> 
      <temperature>38</temperature> 
      <watering>1200</watering> 
     </growingTips> 
    <multiplying>bySeeds</multiplying> 
    <origin>Belarus</origin> 
     <description>Classic Choice</description> 
    </flower> 
</flowers> 

私はJAXBを使用してXSD用のクラスを生成しています(このxsdはいくつかの列で変更されています)。それを検証しようとすると、それは文句を言います

名前 '花'をA(n) 'タイプ定義'コンポーネントに解決できません。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
<xs:element name="flowers" type="Flowers"></xs:element> 

<xs:complexType name="flowers"> 
    <xs:sequence> 
    <xs:element name="flower" type="flower" maxOccurs="unbounded" /> 
    </xs:sequence> 
</xs:complexType> 

    <xs:element name="flower" type="FlowerType"/> 
<xs:complexType name="flower"> 
    <xs:sequence> 
     <xs:element name="soilType" type="SoilType" minOccurs="0"/> 
     <xs:element name="visualParameters" type="VisualParameters" minOccurs="0"/> 
     <xs:element name="growingTips" type="growingTips" minOccurs="0"/> 
     <xs:element name="multiplyingType" type="multiplyingType" minOccurs="0"/> 
     <xs:element name="origin" type="xs:string" minOccurs="0"/> 
     <xs:element name="description" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    <xs:attribute name="name" type="xs:string"/> 
    </xs:complexType> 


    <xs:complexType name="growingTips"> 
    <xs:sequence> 
     <xs:element name="temperature" type="xs:int"/> 
     <xs:element name="watering" type="xs:int"/> 
    </xs:sequence> 
    <xs:attribute name="value" type="lightingType"/> 
    </xs:complexType> 

    <xs:complexType name="VisualParameters"> 
    <xs:sequence> 
     <xs:element name="stemColor" type="xs:string" minOccurs="0"/> 
     <xs:element name="leafColor" type="xs:string" minOccurs="0"/> 
     <xs:element name="averageSize" type="xs:int"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:simpleType name="multiplyingType"> 
    <xs:restriction base="SoilName"/> 
    </xs:simpleType> 

    <xs:complexType name="SoilType"> 
    <xs:sequence> 
     <xs:element name="value" type="Soil" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:simpleType name="lightingType"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="photophilous"/> 
     <xs:enumeration value="unphotophilous"/> 
    </xs:restriction> 
    </xs:simpleType> 

    <xs:simpleType name="SoilName"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="byLeafs"/> 
     <xs:enumeration value="byCutting"/> 
     <xs:enumeration value="bySeeds"/> 
    </xs:restriction> 
    </xs:simpleType> 

    <xs:simpleType name="Soil"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="podzolic"/> 
     <xs:enumeration value="dirt"/> 
     <xs:enumeration value="sodPodzolic"/> 
    </xs:restriction> 
    </xs:simpleType> 
</xs:schema> 

どのように私はセットアップ私のスキーマが正常にXMLを検証するのですか?

答えて

0

私はflowers要素の定義が原因である疑いがある、それはおそらく読んでください:

<xs:complexType name="flowers"> 
    <xs:sequence> 
    <xs:element name="flower" type="flower" maxOccurs="unbounded" /> 
    </xs:sequence> 
</xs:complexType> 
+0

はあなたに感謝します。それは最初の問題を解決しました。しかし、今私は別のものを持っていた。私は投稿を更新しています –

+0

''に大文字 'F'の' Flowers'がありますが、型定義では 'f'です。 –

+0

また、この行は場所が違っているようです: '' –

関連する問題