たとえば、コマンド ライン ツール 'xjc' を使用すると、既存の XML スキーマから Java クラスを作成できます。
私は前に単純な XML スキーマでそれを試しました:
<?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="employee" type="employee"/>
<xs:complexType name="employee">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="salary" type="xs:double"/>
<xs:element name="designation" type="xs:string" minOccurs="0"/>
<xs:element name="address" type="address" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:int" use="required"/>
</xs:complexType>
<xs:complexType name="address">
<xs:sequence>
<xs:element name="city" type="xs:string" minOccurs="0"/>
<xs:element name="line1" type="xs:string" minOccurs="0"/>
<xs:element name="line2" type="xs:string" minOccurs="0"/>
<xs:element name="state" type="xs:string" minOccurs="0"/>
<xs:element name="zipcode" type="xs:long"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
しかし、いくつかの制限がある定義を追加すると、制限は無視されます。例えば:
<xs:element name="Temperature" type="myTemperature"/>
<xs:simpleType name="myTemperature">
<xs:restriction base="xs:double">
<xs:minExclusive value="-273.15"/>
</xs:restriction>
</xs:simpleType>
また
<xs:element name="age">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
minInclusive、maxInclusive、maxLength、totalDigits などのすべての制限は無視されます。XML スキーマから Java クラスを作成する際に、この制限を含める方法はありますか?