← Prev in month ← Prev in thread
Next in thread → Next in month →

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

From
Mike Edwards <>
Date
2010-04-14T10:51:54+00:00
ID
Thread
[NEW ISSUE] Problems with the Extension Points in the XSD for binding.jms
Target:        
       sca-ejbbinding-1.1-spec-cd02.doc

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-ejb-1.1-cd02.xsd

    <complexType
name="EJBSessionBeanBinding">

        <complexContent>

         
  <extension
base="sca:Binding">

         
      <sequence>

         
          <any
namespace="##other"
processContents="lax"

     
                   minOccurs="0"
maxOccurs="unbounded"/>

         
      </sequence>

         
      <attribute
name="homeInterface"
type="NCName"
use="optional"/>

         
      <attribute
name="ejb-link-name"
type="string"
use="optional"/>

         
      <attribute
name="ejb-version"
type="sca:VersionValue"
use="optional"
default="EJB3"/>

         
  </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="EJBSessionBeanBinding">

        <complexContent>

         
  <extension
base="sca:Binding">

         
      <sequence>

         
          <element
ref="sca:extensions" minOccurs="0" maxOccurs="1"
/> 

         
      </sequence>

         
      <attribute
name="homeInterface"
type="NCName"
use="optional"/>

         
      <attribute
name="ejb-link-name"
type="string"
use="optional"/>

         
      <attribute
name="ejb-version"
type="sca:VersionValue"
use="optional"
default="EJB3"/>

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

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
← Prev in month ← Prev in thread
Next in thread → Next in month →