Teneo/Hibernate/XMLSchema/Support XML Schema Constructs

From Eclipsepedia

Jump to: navigation, search


Teneo supports practically all XML Schema Structures/Datatypes supported by EMF. For a description of the mapping from XML Schema to EMF (ecore) see here. In the listing below the numbers refer to the sections in this document.

Note: for each feature the following remarks are used:

  • Supported: means that there are test cases which show that the XML Schema feature is correctly translated in an ecore construction and EMF object and that the resulting EMF object can be persisted and retrieved.
  • Not yet supported: means that this feature will not work and EMF objects with this feature are not persisted correctly
  • To be tested: means that this feature is expected to work but has not been tested yet


The support by XML Schema Structure/Datatype:

  • Schema (Chapter 1)
    • 1.1 to 1.4: supported (not really relevant for persistence)
    • 1.5 and 1.6: DocumentRoot is supported if the option Persistence.MAP_DOCUMENT_ROOT is set to true.
    • 1.7: supported, (not really relevant for persistence)
  • Simple Type Definition (Chapter 2)
    • 2.1 Simple Type with restriction: supported
    • 2.2 Simple Type with enumeration: supported
    • 2.3 and 2.4 List and Union Simple Type: list is supported, union is to be tested
    • 2.5 Anonymous Simple Type: supported
    • 2.6 Simple Type with ecore:name: to be tested
    • 2.7 Simple Type with ecore:instanceClass: supported
  • Complex Type Definition (Chapter 3)
    • 3.1 Complex Type with extension or restriction: supported
    • 3.2 Anonymous Complex Type: supported
    • 3.3 Abstract Complex Type: supported
    • 3.4 Mixed Complex Type: supported
    • 3.5 Complex Type with ecore:name: supported
    • 3.6 Complex Type with ecore:featuremap: supported
    • 3.7 Complex Type with ecore:mixed: supported
  • Attribute declaration (Chapter 4), attributes have not been tested extensively. However because the java representation of EMF objects makes no difference between attributes and elements. The testcases for element declarations also in general apply to attribute declarations.
    • 4.1 Attribute of type xsd:ID: supported
    • 4.2 Attribute of type xsd:IDREF, xsd:IDREFS, xsd:anyURI: supported
    • 4.3 Required Attribute: supported
    • 4.4 Attribute with default: supported
    • 4.5 Qualified Attribute: to be tested (is probably supported out-of-the-box)
    • 4.6 Attribute reference: supported
    • 4.7 Global Attribute: not relevant for persistence
    • 4.8 Attribute with ecore:name: supported
  • Element Declaration (Chapter 5)
    • minOccurs/maxOccurs: all values of minOccurs and maxOccurs are supported
    • 5.1 Element of type xsd:anyType: supported
    • 5.2 Element of type xsd:ID: supported
    • 5.3 Element of type xsd:IDREF, xsd:IDREFS, xsd:anyURI: supported
    • 5.4 Nillable Element: supported
    • 5.5 Element with default: supported
    • 5.6 Qualified element: to be tested
    • 5,7 Element reference: supported
    • 5.8 Global Element: not relevant for persistence
    • 5.9 Element with substitution group: supported
    • 5.10 Abstract Element: to be tested
    • 5.11 Element with ecore:name: supported
    • 5.12 Element with ecore:opposite: supported
    • 5.13 Element with ecore:featureMap: supported
  • Model group (Chapter 6)
    • 6.1 Non repeating xsd:choice: supported
    • 6.2 Repeating model group: supported
    • 6.3 Repeating model group reference: supported
    • 6.4 Model group with ecore:featureMap: supported
    • 6.5 Model group with ecore:name: supported
  • Wildcards (Chapter 7): supported
  • Annotations (Chapter 8): not relevant for persistence
  • Predefined Schema Simple Types (Chapter 9): almost all simple types which are persistable are supported. The following types are not yet supported: gYear, gYearMonth, gDay, gMonthDay.