私はxmlに非常に慣れていないので、愚かな質問を許してください。まあ、私はそのようなスキーマを持っています
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="Product">
<xs:complexType>
<xs:sequence>
<xs:element name= "name" type = "xs:string"/>
<xs:element name= "price" type = "xs:decimal"/>
<xs:element name= "Fish">
<xs:complexType>
<xs:sequence>
<xs:element name= "Type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="herbivourus"/>
<xs:enumeration value="predator"/>
<xs:enumeration value="detritophages"/>
<xs:enumeration value="omnivourus"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Clown">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="Character" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Slow"/>
<xs:enumeration value="Quiet"/>
<xs:enumeration value="Fearful"/>
<xs:enumeration value="Motile"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Agressiveness">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="HIGH"/>
<xs:enumeration value="MEDIUM"/>
<xs:enumeration value="LOW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="gotSpikes" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Lionfish">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="gotSpikes" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Triggerfish">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="needsHideout" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Trumpetfish">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="gregarious" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Yellow_boxfish">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="gregarious" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reptile">
<xs:complexType>
<xs:sequence>
<xs:element name="compatibleWithFish" type= "xs:boolean"/>
<xs:element name="needsLand" type= "xs:boolean"/>
<xs:element name="turtle">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="gregarious" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="decoration">
<xs:complexType>
<xs:sequence>
<xs:element name="size" type= "xs:int"/>
<xs:element name="alga">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="doesGetsOxygen" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="castle">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="isHideOut" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
そして実際に私のxmlがあります
<?xml version="1.0" encoding="UTF-8"?>
xsi:schemaLocation="tank.xsd">
<Product>
<<Fish>
<Clown name = "Clown">
<serialVersionUID>
-7114819146190513293L
</serialVersionUID>
<Character>QUIET</Character>
<Aggressiveness>LOW</Aggressiveness>
<gotSpikes>false</gotSpikes>
<type> herbivourus</type>
<price> 51000 </price>
</Clown>
<Lionfish>
<serialVersionUID>
5302423581237004299L
</serialVersionUID>
<price>25000</price>
<name> Lionfish </name>
<type> herbivourus</type>
<gotSpikes>true</gotSpikes>
</Lionfish>
<Triggerfish>
<serialVersionUID>
4102072582518577014L
</serialVersionUID>
<price>27000</price>
<name> Triggerfish </name>
<type> herbivourus</type>
<needsHideout>true</needsHideout>
</Triggerfish>
<Trumpetfish>
<serialVersionUID>
-6802935171639886135L
</serialVersionUID>
<price>34500</price>
<name> Trumpetfish </name>
<type> herbivourus</type>
<gregarious> true</gregarious>
</Trumpetfish>
<Yellow_boxfish>
<serialVersionUID>
4377441012026861992L
</serialVersionUID>
<price>56900</price>
<name> Yellow_boxfish </name>
<type> herbivourus</type>
<gregarious> true</gregarious>
</Yellow_boxfish>
</Fish>
<Reptile>
<Turtle>
<serialVersionUID>
-3606085842515781016L
</serialVersionUID>
<price>129000</price>
<name> Turtle </name>
<compatibleWithFish> true</compatibleWithFish>
<needsLand>true</needsLand>
<gregarious> true </gregarious>
</Turtle>
</Reptile>
<Decoration>
<Alga>
<serialVersionUID>
-4311096533955485410L
</serialVersionUID>
<price>15000</price>
<name> alga </name>
<doesGetOxygen> true</doesGetOxygen>
</Alga>
<Castle>
<serialVersionUID>
1L
</serialVersionUID>
<price>110300</price>
<name> Castle </name>
<ishideout> true</ishideout>
</Castle>
</Decoration>
</Product>
また、私はそのようなクラス階層を持っています
- 抽象的な製品
- 抽象的な魚
- ピエロ
- ミノカサゴ
- トリガーフィッシュ
- トランペットフィッシュ
- イエロー_ボックスフィッシュ
- 抽象的な爬虫類
- カメ
- 抽象的な装飾
- 藻類
- Calstleバリデーターの出力は「ルート要素の前のドキュメントのマークアップは整形式でなければなりません」なので、何が間違っているのか教えてください
- 抽象的な魚
PS私はクラスの階層をxsdで表示する必要があり、基本クラスは製品クラスであり、すべての子にはフィールド名と価格があるため、スキーマで正しく表示されるかどうかわかりません:Cとところでimこのクラスをインスタンス化します