Questa sezione descrive le regole che vengono utilizzate per generare i bean da uno schema XML. Queste sono solo applicabili per il Generatore bean XSD basato su DOM (che è obsoleto).
Un tipo complesso a livello del file di schema XML viene associato ad un bean che sottoclassifica un ComplexType. Ogni sottoelemento del tipo complesso viene associato come descritto nella sezione Elemento.
Un elemento risulta nella generazione dei metodi set, get, e remove. Il metodo set imposta l'elemento su un valore specificato. Questo crea l'elemento se non esiste già. Il metodo get restituisce il valore dell'elemento. Il metodo remove rimuove l'elemento da quello principale. Il parametro per il metodo set ed il risultato di restituzione del metodo get saranno basati sul tipo di elemento. Considerare i seguenti elementi del tipo complesso:
<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();
La tabella Tipo dati successivamente mostra in questa sezione l'associazione dei tipi di dati di schema XML integrati ai tipi di datiJava.
Se il tipo di un elemento è un tipo complesso anonimo, allora il tipo complesso anonimo viene generato come classe interna.
La classe interna contiene i metodi get, set, e remove corrispondenti per il suo contenuto. Nell'esempio precedente, una Items.item della classe interna viene generato. I metodi get, set, e remove per elemento appaiono saranno simili a quanto segue:
public void setItem(Items.item item); public Items.item getItem(); public boolean removeItem();
Se maxOccurs dell'attributo viene impostato su non collegato su un elemento, allora l'ulteriore metodo viene generato, getXXXCount(). I metodi get, set e remove hanno il parametro dell'indice facoltativo per la specifica di un elemento particolare su cui si desidera operare. Se si modifica l'elemento della voce precedente per aggiungere un maxOccursattribute nel modo seguente:
<element name="item" minOccurs="1" maxOccurs="unbounded">
Verranno generati i seguenti metodi:
public void setItem(int index, Items.item item);
public Items.item getItem(int index);
public int getItemCount();
public boolean removeItem(int index);
Un elemento dell'attributo risulta nella generazione dei metodi set, get, e remove. Il metodo set imposta l'attributo sul valore specificato. Questo crea l'attributo se non esiste già. Il metodo get restituisce il valore dell'attributo. Il metodo remove rimuove l'attributo dall'elemento principale. Il parametro per impostare il metodo ed il risultato di restituzione del metodo get sarà basato sul tipo di attributo.
Un elemento globale a livello del file dello schema XML viene associato ad uno dei seguenti tipi di bean:
Un tipo semplice a livello del livello dello schema XML viene associato al bean che sottoclassifica da SimpleType.
Dove possibile, i tipi di dati integrati dello schema XML sono associato ad un tipo di dati Java utilizzando la classe del kit dello sviluppatore Java. La seguente tabelle riepiloga l'associazione di dati. I tipi di dati dello schema XML che non sono elencati sono associati come stringa.
Tipo di schema XML | Tipo di dati Java |
---|---|
stringa | String |
integer, int, nonPositiveInteger, nonNegativeInteger positiveInteger, negativeInteger, unsignedLong, unsignedInt, | int |
booleano | booleano |
float | float |
double | double |
long | long |
breve, unsignedShort | short |
byte, unsignedByte | byte |
data | Date |
Il pacchetto com.ibm.etools.xmlschema.beans contiene un numero di classi framework che sono utilizzati dai bean generati. Queste sono: