OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-c-cpp message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: ISSUE 2: Annotations for WSDL to C++



I have extracted some information from the C++ SDO document that addresses WSDL annotations for controlling the mapping from WSDL to C++ that applies to this issue.  In particular these are annotations for controlling the mapping of names and types.

There are a number of customizations that can be used to improve the mapping to C++. These are expressed as attributes in the SCA namespace for XML, "commonj.sdo/xml". The following XSD attributes in the SCA XML namespace are used to modify the constructed C++ model:

  1. name - sets the C++ name to the name specified here. Applies to types, message elements and operations. Used in Operation, ComplexType, SimpleType, element, and attribute declarations. The XSD type of the annotation is string.
  2. dataType - sets C++ type as specified by the QName value as a means to override the declared type. Applies to XML attributes and elements with simple content. Used in element and attribute declarations. The XSD type of the annotation is QName.
  3. string="true" - sets the C++ type to String for XSD SimpleTypes as a means to override the instance class when the exact values must be preserved. Applies to message elements. Used in element and attribute declarations. Same as sca:dataType="sca:String". The XSD type of the annotation is boolean.
  4. propertyType - sets the C++ type as specified by the QName value. Used in element and attribute declarations with complex content. The XSD type must be IDREF, IDREFS, or anyURI, or restrictions of these types. The XSD type of the annotation is QName.
  5. many – specifies if the mapping is to a scalar (false) or a List (true). Typically used on element declarations that appear inside a repeating model group declaration (<sequence>, <choice>, or <all> with maxOccurs > 1) to override the default value (true) that would otherwise be assigned.
I am not sure if 4 and 5 are really necessary, but they are worth discussing.


Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
Master Inventor

Research Triangle Park,  NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]