XML スキーマ・ファイルのレベルの複合タイプは、ComplexType のサブクラスである Bean にマップされます。 複合タイプの各サブ要素は、要素セクションに説明するようにマップされます。
要素により、set、get、および remove の各メソッドが生成されます。 set メソッドは、要素を指定の値に設定します。要素がまだ存在しない場合、このメソッドは要素を作成します。 get メソッドは、要素の値を戻します。remove メソッドは、要素を親から除去します。 set メソッドのパラメーターと get メソッドの戻り結果は、要素のタイプに基づいています。次の複合タイプ Items を考えてみましょう。
<complexType name="Items"> <sequence> <element name="PartNum" type="string"> <element name="address" type="Address"> <element name="item"> <complexType> <sequence> <element name="productName" type="String"> </sequence> </complexType> </element> <element name="price"> <simpleType base="float"> <restriction> <maxExclusive="1000"/> </restriction> </simpleType> </element> </sequence> </complexType>
public void setPartNum(String partNum); public String getPartNum(); public boolean removePartNum();
public void setAddress(Address address) public Address getAddress(); public boolean removeAddress();
後に示すデータ・タイプの表に、組み込み XML スキーマのデータ・タイプと Java™ データ・タイプのマッピングを示します。
要素のタイプが無名複合タイプの場合、無名複合タイプは内部クラスとして生成されます。
内部クラスには、対応する get、set、および remove の各メソッドが内容として含まれます。 前述の例では、内部クラス Items.item が生成されます。 item の get、set、および remove の各メソッドは、次のようになります。
public void setItem(Items.item item); public Items.item getItem(); public boolean removeItem();
要素の属性 maxOccurs が unbounded に設定されている場合は、1 つの追加メソッド getXXXCount() が生成されます。get、set、および remove の各メソッドには、操作対象の特定の要素を指定するための索引パラメーターが追加されます。 次のように、前述の item 要素を変更して maxOccursattribute 属性を追加した場合:
<element name="item" minOccurs="1" maxOccurs="unbounded">
次のメソッドが生成されます。
public void setItem(int index, Items.item item);
public Items.item getItem(int index);
public int getItemCount();
public boolean removeItem(int index);
属性要素により、set、get、および remove の各メソッドが生成されます。set メソッドは、属性を指定の値に設定します。属性がまだ存在しない場合、このメソッドは属性を作成します。 get メソッドは、属性値を戻します。remove メソッドは、属性を親要素から除去します。set メソッドのパラメーターと get メソッドの戻り結果は、属性のタイプに基づいています。
XML スキーマ・ファイルのレベルのグローバル要素は、次の Bean のいずれかにマップされます。
XML スキーマ・ファイルのレベルの単純タイプは、SimpleType のサブクラスである Bean にマップされます。
可能な場合は、対応する Java デベロッパー・キット・クラスを使用して、XML スキーマの組み込みデータ・タイプが Java データ・タイプにマップされます。次の表に、データ・マッピングを要約します。 リストされていない XML スキーマのデータ・タイプは、string としてマップされています。
| XML スキーマのタイプ | Java データ・タイプ |
|---|---|
| string | ストリング |
| integer, int, nonPositiveInteger, nonNegativeInteger positiveInteger, negativeInteger, unsignedLong, unsignedInt, | int |
| boolean | boolean |
| float | float |
| double | double |
| long | long |
| short、unsignedShort | short |
| byte、unsignedByte | byte |
| date | 日付 |
パッケージ com.ibm.etools.xmlschema.beans には、生成される Bean によって使用されるフレームワーク・クラスがいくつか含まれています。これらは次のとおりです。