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

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-bindings message

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


Subject: [NEW ISSUE] Problems with the Extension Points in the XSD for binding.jms



Target:                sca-jmsbinding-1.1-spec-cd03-rev5.pdf

Description:

The SCA XSDs mix two different forms of extensibility and this causes significant problems such as UPA errors.

The two forms of extensibility are:

1) The use of substitution groups for the extensibility of:

implementation
interface
binding
wireFormat
operationSelector
importBase
exportBase

2) The use of

<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

for extensibility in many locations


A UPA problem potentially exists in any place where ONE or MORE of the elements in the list 1) above is declared
to be used within another element in combination with 2) in a sequence or choice where it may occur that one of the
list 1) elements is validly succeeded by an <any/> of the form in 2). IF an extended version of any of the 1) elements
is created, in a non-sca namespace (this is REQUIRED for any non-standard extension), then a UPA error will be
reported whenever such an extension is used.

This occurs in the XSD sca-binding-jms-1.1-cd04.xsd

   <complexType name="JMSBinding">
      <complexContent>
         <extension base="sca:Binding">
            <sequence>
               <element name="destination" type="sca:JMSDestination"
                        minOccurs="0"/>
               <choice minOccurs="0" maxOccurs="1">
                  <element name="connectionFactory"
                           type="sca:JMSConnectionFactory"/>
                  <element name="activationSpec" type="sca:JMSActivationSpec"/>
               </choice>    
               <element name="response" type="sca:JMSResponse" minOccurs="0"/>
               <element name="headers" type="sca:JMSHeaders" minOccurs="0"/>
               <element name="messageSelection" type="sca:JMSMessageSelection"
                        minOccurs="0"/>
               <element name="resourceAdapter" type="sca:JMSResourceAdapter"
                        minOccurs="0"/>
               <element name="operationProperties"
                        type="sca:JMSOperationProperties"
                        minOccurs="0" maxOccurs="unbounded"/>
               <any namespace="##other" processContents="lax"
                    minOccurs="0" maxOccurs="unbounded"/>
            </sequence>
            <attribute name="correlationScheme" type="QName"
                       default="sca:messageId"/>
            <attribute name="initialContextFactory" type="anyURI"/>
            <attribute name="jndiURL" type="anyURI"/>
            <attribute name="requestConnection" type="QName"/>
            <attribute name="responseConnection" type="QName"/>
            <attribute name="operationProperties" type="QName"/>
         </extension>
      </complexContent>
   </complexType>

The sca:Binding base contains both wireFormat and operationSelector elements - these then clash with the <any/> extensibility

Proposal:

Replace the <any/> extensibility with extensibility using the sca:extensions element as follows:


   <complexType name="JMSBinding">
      <complexContent>
         <extension base="sca:Binding">
            <sequence>
               <element name="destination" type="sca:JMSDestination"
                        minOccurs="0"/>
               <choice minOccurs="0" maxOccurs="1">
                  <element name="connectionFactory"
                           type="sca:JMSConnectionFactory"/>
                  <element name="activationSpec" type="sca:JMSActivationSpec"/>
               </choice>    
               <element name="response" type="sca:JMSResponse" minOccurs="0"/>
               <element name="headers" type="sca:JMSHeaders" minOccurs="0"/>
               <element name="messageSelection" type="sca:JMSMessageSelection"
                        minOccurs="0"/>
               <element name="resourceAdapter" type="sca:JMSResourceAdapter"
                        minOccurs="0"/>
               <element name="operationProperties"
                        type="sca:JMSOperationProperties"
                        minOccurs="0" maxOccurs="unbounded"/>
               <element ref="sca:extensions" minOccurs="0" maxOccurs="1" />
            </sequence>
            <attribute name="correlationScheme" type="QName"
                       default="sca:messageId"/>
            <attribute name="initialContextFactory" type="anyURI"/>
            <attribute name="jndiURL" type="anyURI"/>
            <attribute name="requestConnection" type="QName"/>
            <attribute name="responseConnection" type="QName"/>
            <attribute name="operationProperties" type="QName"/>
         </extension>
      </complexContent>
   </complexType>


Yours,  Mike.

Strategist - Emerging Technologies, SCA & SDO.
Co Chair OASIS SCA Assembly TC.
IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.
Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431  
Email:  mike_edwards@uk.ibm.com





Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU












Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU








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