Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

TIP JOSIF Main Page |TIP  JOSIF Framework  | TIP Soap Generator | TIP Soap Generator Mapping Rules - Part III

...

Related to issue #17 in Mantis Datatype: isExtendable

Mapping Rule

refer to to   TIP _ Soap _ Generator _Mapping_Rules#Mapping Mapping Rules - Part I#Mapping Rule for Extendability (I,PR).     If a datatype has 'tipDatatype:isExtendable=true', the generator will inject an additional element to corresponding XSD type of the datatype.

...

Datatype; inheritance

Mapping Rule

refer to to    TIP _ Soap _ Generator _Mapping_Rules#Mapping Mapping Rules - Part I#Mapping Rule for Inheritance.      Map inheritance of datatype artifacts to extension of datatype XSD types.

...

Mapping Rules for Exceptions

Exception Base support

Exception Base support

Related to issue #346 in Mantis Exception Base Support

...

All Exception artifacts are mapped to XSD complex types, and under this mapping, the attributes of artifacts are mapped to sub-elements of the XSD complex types.

For details, refer to to  TIP _ Soap _ Generator _Mapping_Rules#Mapping Mapping Rules - Part I#Mapping Rule for Attributes and , Association Ends, and Parameters

Example

In Test1 model, we have org.tmforum.tip.cbe.test.TestFailureWithData. Some of their attributes is of primitive type, some is of Datatype type, some is of Enumeration type, and some is of Entity type.

...

Code Block
    <xsd:complexType name="TestFailure">
	<xsd:annotation>
	    <xsd:documentation>
                 Simple private exception
            </xsd:documentation>
	</xsd:annotation>
        <xsd:complexContent>
	    <xsd:extension base="exceptions:ExceptionBase">
		<xsd:sequence/>
	    </xsd:extension>
	</xsd:complexContent>
    </xsd:complexType>

Exception

...

; Inheritance

Mapping Rule

refer to [to   TIP _ Soap _ Generator _Mapping_Rules#Mapping Mapping Rules - Part I#Mapping Rule for Inheritance.   Map inheritance of exception artifacts to extension of exception XSD types.

...

When map ExceptionBase artifact to XSD complex type, the generator will inject an additional sub-element called extensionInfo. please refer to mapping rule in section TIP_Soap_Generator_Mapping_Rules#Exception Base support (I,NR,346). Exception Base support  For the structure of the sub-element, please refer to TIP_Soap_Generator_Mapping_Rules#Mapping to Mapping Rule for Extendability (I,PR).

All other exception artifacts will be mapped to a (direct or indirect) subtype of ExceptionBase XSD type, so all exception XSD type inherit that extensionInfo sub-element. In particular, if an exception aritifact is not explicitly given an ancestor, then in XSD, we will map it to a direct subtype of ExceptionBase XSD type.

...

for examples, please refer to sections:

TIP_Soap_Generator_Mapping_Rules#Exception Exception Base support TIP_Soap_Generator_Mapping_Rules#Exception___attribute support

Mapping Rule for Extendability

Mapping Rules for Notifications

Notification; abstract

Related to issue #64 in Mantis Notification: Abstract

...

In Test1 model, the notification org.tmforum.tip.service.test.TestEvent which is a direct subtype of NotificationBase:

refer to section TIP_Soap_Generator_Mapping_Rules#Notification___section  Notification; Notification Base Support (I,NR)   for examples.

Example (indirect subtype of NotificationBase)

...

When map NotificationBase artifact to XSD complex type, an additional sub-element named extensionInfo is injected into. please refer to mapping rule in sectionTIP_Soap_Generator_Mapping_Rules#Notification___Notification; Notification Base Support

All other notification artifacts will be mapped to a (direct or indirect) subtype of Notification XSD type, so they will inherit that extensionInfo sub-element. In particular, if a notification aritifact is not explicitly given an ancestor, then in XSD, we will map it to a direct subtype of Notification XSD type.

...

for examples, please refer to sections:

TIP_Soap_Generator_Mapping_Rules#Notification___Notification; Notification Base Support

TIP_Soap_Generator_Mapping_Rules#Notification___inheritance

TIP_Soap_Generator_Mapping_Rules#Notification___Notification; inheritance

Notification; attribute support

Mapping Rules for Enumerations

Int based Enum support

Related to issue #41 in Mantis Int based Enum support

...

Mapping Rules for Primitives

 

Please refer to XML Schema Part 2: Datatypes Second Edition (W3C Recommendation 28 October 2004) for more information about XSD anyType.

...

Operation using primitive filters as input arguments are mapped to operations using query filters which are XPATH expressions.

refer to *TIP _ Soap _ Generator _ Mapping _ Rules _ - _ Part _ VII