Home > Models

Types

Cette page présente les différents types de données supportés par EBX.Platform. Pour la définition de tables, veuillez vous reporter à la section Tables & Filtres


Types simples XML Schema

La table suivante liste tous les types simples définis dans XML Schema et supportés par EBX.Platform.

WXS type

Java class

string

primitive datatype

java.lang.String

boolean

primitive datatype

java.lang.Boolean

decimal

primitive datatype

java.math.BigDecimal

dateTime

primitive datatype

java.util.Date

time

primitive datatype

java.util.Date

date

primitive datatype

java.util.Date

anyURI

primitive datatype

java.net.URI

Name

string restriction

java.lang.String

int

decimal restriction

java.lang.Integer

integer

decimal restriction

java.lang.Integer

La colonne de droite indique en quelle classe Java chaque type XML Schema est instancié sur EBX.Platform. Les règles de correspondance entre types XML Schema et types Java sont détaillées dans le chapitre Mapping to Java

Limitation de la version actuelle: Le type integer n'est pas totalement implémenté par EBX.Platform car il n'est pas infini comme spécifié par XML Schema. Il est par conséquent préférable d'utiliser le type int

Types complexes XML Schema

Tout type complexe XML Schema peut être utilisé lors de la conception du modèle de données. Un type complexe nommé peut être réutilisé autant de fois que nécessaire.

Restrictions :

Types simples étendus définis par EBX.Platform

EBX.Platform fournit des types de données simples pré-définis :

WXS type

Java class

text

string restriction

java.lang.String

html

string restriction

java.lang.String

email

string restriction

java.lang.String

password

string restriction

java.lang.String

resource

anyURI restriction

classe interne

locale

string restriction

java.util.Locale

Ces types sont définis par le schéma réservé common-1.0.xsd . Leur définition est détaillée ci-dessous.

Types complexes définis par EBX.Platform

EBX.Platform fournit des types de données complexes pré-définis :

WXS type

Description

UDA

User Defined Attribute (UDA) : ce type permet à un utilisateur de définir, en accord avec les droits d'accès, une valeur associée à un attribut choisi dans un dictionnaire appelé Catalogue UDA (voir ci-dessous).

UDACatalog

User Defined Attributes Catalog : définit la table dans laquelle les types peuvent être déclarés. Ce catalogue sera utilisé par tous les osd:UDA declarés dans un même schéma.

Listes agrégées

Dans XML Schema, le nombre maximum d'occurrences d'un élément est spécifié par la valeur de son attribut maxOccurs . Si cette valeur est strictement supérieure à 1 ou égale à unbounded , alors plusieurs occurrences peuvent être associées à l'élément considéré. Si la déclaration osd:table n'est pas ajoutée, nous appelons ce cas une liste agrégée . En Java, la valorisation d'un tel élément est représentée par une instance de la classe java.util.List

Remarque importante : il est recommandé, dans la phase de conception, de considérer sérieusement l'ajout de la déclaration osd:table à chaque élément pour lequel maxOccurs > 1 . En effet, les listes agrégées sont sévèrement limitées vis à vis des nombreuses caractéristiques qui sont supportées par les tables. Pour rappel, en voici quelques-unes : filtres et recherches ; tris, vues personnalisées et affichage en hiérarchies ; contraintes d'identité (clés primaires et contraintes d'unicité) ; permissions détaillées pour créer, modifier, supprimer et permissions individuelles de niveau occurrence ; comparaison et fusion détaillées ; optimisations de performance et d'occupation mémoire. Ainsi, les listes agrégées doivent être utilisées uniquement pour de petits volumes de données simples (une ou deux dizaines d'occurrences), et s'il n'y a pas de besoins avancés . Pour des volumes plus importants ou des fonctionnalités avancées, il est fortement recommandé d'utiliser une déclaration osd:table .

Pour plus d'informations sur les déclarations de table, veuillez consulter le chapitre suivant

Ci-dessous figure un exemple de liste agrégée définissant la tarification d'un produit de crédit.

<xs:element name="pricingminOccurs="0maxOccurs="unboundedosd:access="RW">
    <xs:annotation>
        <xs:documentation>
             <osd:label>Pricing</osd:label>
             <osd:description>Pricing grid </osd:description>
        </xs:documentation>
    </xs:annotation>
    <xs:complexType>
         <xs:sequence>
             <xs:element name="amounttype="xs:integer">
                  <xs:annotation>
                      <xs:documentation>
                           <osd:label>Amount borrowed</osd:label>
                      </xs:documentation>
                  </xs:annotation>
             </xs:element>
             <xs:element name="monthlytype="xs:integer">
                 <xs:annotation>
                     <xs:documentation>
                         <osd:label>Monthly payment </osd:label>
                     </xs:documentation>
                 </xs:annotation>
             </xs:element>
             <xs:element name="costtype="xs:integer">
                 <xs:annotation>
                     <xs:documentation>
                         <osd:label>Cost</osd:label>
                     </xs:documentation>
                 </xs:annotation>
             </xs:element>
         </xs:sequence>
    </xs:complexType>
</xs:element>

Les listes agrégées disposent d'un éditeur graphique dédié dans EBX.Manager : Cet éditeur permet d'ajouter des occurrences à l'aide du lien 'Ajouter une occurrence' ou d'en supprimer à l'aide du bouton

Home > Models