Home > Models

Types

This page presents the Data Types supported by EBX.Platform. For the definition of tables, read the section Tables & Filters


XML Schema Simple types

The table below lists all simple types defined in XML Schema and supported by 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

The rightmost column shows the Java class that is instantiated in for each XML Schema type in EBX.Platform. Correspondence rules between XML Schema types and Java types are detailed in the section Mapping to Java

Limitation of EBX.Platform current version: the type integer is not fully implemented by EBX.Platform since it is not infinite as specified by XML Schema. Hence it is preferable to use type int .

XML Schema Complex types

Complex types can be defined when designing an adaptation model. A named complex type can be reused in the model.

Restrictions:

Extended Simple Types defined by EBX.Platform

EBX.Platform provides pre-defined simple data types:

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

internal class

locale

string restriction

java.util.Locale

Those types are defined by the reserved schema common-1.0.xsd . Their definition is detailed below:

Complex Types defined by EBX.Platform

EBX.Platform provides pre-defined complex data types:

WXS type

Description

UDA

User Defined Attribute: this type allows any user, according to his access rights, to define a value associated with an attribute defined in a dictionary called a UDA Catalog.

UDACatalog

Catalog of User Defined Attributes: this type consists of a table in which attributes can be specified. This catalog will be used by all osd:UDA declared in the same schema.

Aggregated Lists

In XML Schema, the maximum number of times an element may appear is determined by the value of a maxOccurs attribute in its declaration. If this value is strictly greater than 1 or is equal to unbounded , then the Master Data can have multiple occurrences. If no osd:table declaration is added, this case is called aggregated lists . In Java, it is represented as an instance of class java.util.List .

Important note: the addition of a osd:table declaration to an element with maxOccurs > 1 is a very important consideration that must be taken into account during the design process. An aggregated list is indeed severely limited regarding the many features that are supported by tables. As a reminder, here are some of them: lookups, filters and searches; sorting, custom view and display in hierarchies; identity constraints (primary keys and uniqueness constraints); detailed permissions for creation, modification, delete and particular permissions at occurrence level; detailed comparison and merge; and last but not least performance and memory optimizations. Hence aggregated lists should be used only for small volumes of simple data (one or two dozen of occurrences), with no advanced requirements . For larger volumes of data or more advanced functionalities, it is strongly advised to use osd:table declarations.

For more information on table declarations, please read the chapter about tables .

Below is an example of an aggregated list that defines the pricing of a loan product, depending on the amount borrowed.

<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>

Aggregated lists have a dedicated editor in EBX.Manager . This editor allows you to add occurrences with the link Add an occurrence or to delete occurrences with the button

Home > Models