Règles de liaison des données pour les beans Java à partir de fichiers de schéma XML

Cette section décrit les règles utilisées pour générer des beans à partir d'un schéma XML. Elles ne sont applicables que pour le générateur de beans XSD basé sur DOM (qui est obsolète).

Type complexe

Un type complexe au niveau du fichier de schéma XML est mappé vers un bean qui sous-classe à partir d'un ComplexType. Chaque sous-élément du type complexe est mappé comme indiqué dans la section Elément.

Elément

Un élément résulte de la génération de méthodes set, get et remove. La méthode set définit l'élément sur la valeur spécifiée. Elle créera l'élément s'il n'existe pas déjà. La méthode get renvoie la valeur de l'élément. La méthode remove supprime l'élément de son parent. Le paramètre de la méthode set et le résultat du retour de la méthode get seront basés sur le type d'élément. Considérez les éléments de type complexe suivants :

<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> 
Pour l'élément PartNum dont le type est une chaîne, les méthodes get, set et remove ressembleront à ceci :
public void setPartNum(String partNum);
 public String getPartNum();
 public boolean removePartNum();
Pour l'élément address dont le type est Address, les méthodes get, set et remove ressembleront à ceci :
public void setAddress(Address address)
public Address getAddress();
public boolean removeAddress();

La table Type de données, abordée ultérieurement dans cette section, affiche le mappage des types de données de schéma XML intégrés vers les types de données Java.

Si le type d'un élément est un type complexe anonyme, alors le type complexe anonyme est généré en tant que classe interne.

La classe interne contiendra les méthodes get, set et remove correspondantes à son contenu. Dans l'exemple précédent, une classe interne Items.item sera générée. Les méthodes get, set et remove pour l'élément ressembleront à ceci :

public void setItem(Items.item item);
 public Items.item getItem();
public boolean removeItem();

Si l'attribut maxOccurs est défini sur unbounded pour un élément, alors une méthode supplémentaire est générée, getXXXCount(). Les méthodes get, set et remove auront un paramètre d'index supplémentaire pour la spécification de l'élément particulier sur lequel l'opération est effectuée. Si nous modifions l'élément item précédent pour ajouter maxOccursattribute comme suit :

<element name="item" minOccurs="1" maxOccurs="unbounded">

Les méthodes suivantes seront générées :

public void setItem(int index, Items.item item);
public Items.item getItem(int index);
public int getItemCount();
public boolean removeItem(int index);

Attribut

Un élément d'attribut résulte de la génération d'une méthode set, get et remove. La méthode set définit l'attribut sur la valeur spécifiée. Elle créera l'attribut s'il n'existe pas déjà. La méthode get renvoie la valeur de l'attribut. La méthode remove supprime l'attribut de son élément parent. Le paramètre de la méthode set et le résultat du retour de la méthode get seront basés sur le type d'attribut.

Elément global

Un élément global au niveau du fichier de schéma XML est mappé vers l'un des types de beans suivants :

Par exemple, l'élément global purchaseOrder suivant est une instance du type complexe PurchaseOrder. <element name="puchaseOrder" type="PurchaseOrderType"> Un classe purchaseOrder sera générée. La classe purchaseOrder étend le bean généré PurchaseOrderType qui étend ComplexType.

Type simple

Un type simple au niveau du fichier de schéma XML est mappé vers un bean qui sous-classe à partir d'un SimpleType.

Types de données

Lorsque cela est possible, les types de données intégrés au schéma XML sont mappés vers un type de données Java à l'aide de la classe du kit du développeur Java correspondant. Le tableau suivant récapitule le mappage des données. Tout type de données de schéma XML non répertorié est mappé en tant que string.

Type de schéma XML Type de données Java
string Chaîne
integer, int, nonPositiveInteger, nonNegativeInteger positiveInteger, negativeInteger,  unsignedLong, unsignedInt, ent
booléen boolean
flottant flottant
double double
long long
short, unsignedShort court
byte, unsignedByte octet
date Date

Infrastructure préfabriquée

Le package com.ibm.etools.xmlschema.beans contient un certain nombre de classes d'infrastructure préfabriquée utilisées par les beans générés. Il s'agit de :

Tâches associées
Génération de beans Java à partir d'un schéma XML

Retour d'informations