À propos des Schema Wrapper Libraries (Java)
Le mappage par défaut des types Schéma XML dans les types de données Java est le suivant :
Schéma XML | Java | Remarques |
---|---|---|
xs:string | String | |
xs:boolean | booléenne | |
xs:decimal | java.math.BigDecimal | |
xs:float, xs:double | double | |
xs:integer | java.math.BigInteger | |
xs:long | long | |
xs:unsignedLong | java.math.BigInteger | Java ne dispose pas de types non signés. |
xs:int | int | |
xs:unsignedInt | long | Java ne dispose pas de types non signés. |
xs:dateTime, date, time, gYearMonth, gYear, gMonthDay, gDay, gMonth | ||
xs:duration | ||
xs:hexBinary and xs:base64Binary | byte[] | L’encodage et le décodage des données binaires est effectué automatiquement. |
xs:anySimpleType | string |
Tous les types de Schéma XML qui ne sont pas contenus dans la liste sont des types dérivés, et mappés sur le même type Java que leur type de base respectif.
Classes générées
Pour chaque type dans le schéma, une classe est générée qui contient un membre pour chaque attribut et élément du type. Les membres sont nommés comme les attributs ou éléments dans le schéma original (en cas d’une collision éventuelle, un nombre est ajouté). Pour les types simples, des opérateurs d’attribution et de conversion sont générés. Pour des types simples avec des facettes d’énumération, les méthodes GetEnumerationValue() et SetEnumerationValue(int) peuvent être utilisés ensemble avec des constantes générées pour chaque valeur d’énumération. De plus, la méthode StaticInfo() permet l’accès à l’information de schéma en tant qu’un des types suivants :
com.altova.xml.meta.SimpleType
com.altova.xml.meta.ComplexType
Les classes générées depuis des types complexes comprennent la méthode SetXsiType(), qui vous permet de définir l’attribut xsi:type du type. Cette méthode est utile si vous souhaitez créer des éléments d’instance XML d’un type dérivé.
Outre les classes pour les types déclarés dans le schéma XML, une classe de document (identifiée par "Doc", voir ci-dessous) est générée. Elle contient tous les éléments root possibles, en tant que membres, ainsi que plusieurs autres méthodes. Pour plus d’informations concernant la classe, voir com.[YourSchema].[Doc].
Note: Le véritable nom de la classe dépend du nom du schéma .xsd.
Pour chaque attribut ou élément membre d’un type de schéma, une nouvelle classe est générée. Pour plus d’informations concernant ces classes, voir :
com.[YourSchema].[YourSchemaType].MemberAttribute
com.[YourSchema].[YourSchemaType].MemberElement
Note: Les véritables noms de la classe dépendent du nom de l’attribut ou de l’élément membre du schéma.
Gestion d'erreur
Les erreurs sont rapportées par exceptions. Les classes d’exception suivantes sont défínies dans l’espace de noms com.altova:
Classe | Classe de Base | Description |
---|---|---|
SourceInstanceUnvailableException | Exception | Un problème est survenu pendant le chargement d’une instance XML. |
TargetInstanceUnavailableException | Exception | Un problème est survenu pendant l’enregistrement d’une instance XML. |
De plus, les exceptions Java suivantes sont utilisées communément :
Classe | Description |
---|---|
java.lang.Error | Erreur de logique de programme interne (indépendant des données d’entrée) |
java.lang.Exception | Classe de Base pour les erreurs de runtime |
java.lang.IllegalArgumentsException | Une méthode a été appelée avec des valeurs d’argument invalide, ou bien une conversion de type a échoué. |
java.lang.ArithmeticException | Exception lancée lorsqu’une conversion de type numérique échoue. |
Accéder à l’information de schéma
La bibliothèque générée permet d’accéder à des informations de schéma statique par le biais des classes suivantes :
com.altova.xml.meta.ComplexType
com.altova.xml.meta.SimpleType
Les propriétés qui retournent une de ces classes des métadonnées retournent null si la propriété respective n’existe pas.