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

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

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


Subject: Re: [Issue 223] Problems with the Extension Points in the SCA XSDs



Folks,

An argument against removing all the <any/> elements from all locations in all the XSDs is that it is making
more changes than are necessary.

Strictly, this problem only occurs where <any/> elements can exist alongside elements that are extended using
the substitution group mechanism.  The issue description describes all the elements that are extended using
this mechanism and this implies a limited set of locations which must be changed.

There are currently 58 places in our complete set of XSDs which use <any/> (we do like extensibility....)

In my estimation, the fix I propose would need to be applied in the 4 places listed in the proposal below, plus
an additional 5 places which are in the specific binding XSDs, making a total of 9 changes.

Do we really need to change the other 49 places?



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



From: Anish Karmarkar <Anish.Karmarkar@oracle.com>
To: sca-assembly@lists.oasis-open.org
Date: 23/03/2010 15:19
Subject: [sca-assembly] [Issue 223]  Problems with the Extension Points in the SCA XSDs





I like this solution.
One comment I have is:
wouldn't it be better if we used <sca:extensions> element for all
<any>s, regardless of whether we encounter UPA or not? I like the
uniformity of that. Otherwise, one has to remember whether there is a
maxOccurs="1" on the substitution group or that there is no substitution
group, and therefore no wrapper for <any>.

-Anish
--

On 3/22/2010 7:31 AM, Mike Edwards wrote:
>
> Logged as: _http://www.osoa.org/jira/browse/ASSEMBLY-223_
>
> 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
>
>
> From:                  Mike Edwards/UK/IBM@IBMGB
> To:                  "OASIS Assembly" <sca-assembly@lists.oasis-open.org>
> Date:                  22/03/2010 14:20
> Subject:                  [sca-assembly] [NEW ISSUE] Problems with the Extension Points
> in the SCA XSDs
>
>
> ------------------------------------------------------------------------
>
>
>
>
> Raiser: Mike Edwards
>
> Target: sca-assembly-1.1-spec-cd05.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.
>
> The following locations in the current XSDs are at fault:
>
> - ComponentType type
> - Component type ("lash up" fix applied here)
> - Callback type
> - ContributionType type
>
>
> Proposal:
>
> For the locations affected, provide flexible extensibility using the
> following element instead of <any/>:
>
> <element ref="sca:extensions" minOccurs="0" maxOccurs="1" />
>
> ...as has already been done for some elements/types including the
> "Contract" type:
>
> 1) ComponentType
>
> <complexType name="ComponentType">
> <complexContent>
> <extension base="sca:CommonExtensionBase">
> <sequence>
> <element ref="sca:implementation" minOccurs="0"/>
> <choice minOccurs="0" maxOccurs="unbounded">
> <element name="service" type="sca:ComponentService"/>
> <element name="reference" type="sca:ComponentTypeReference"/>
> <element name="property" type="sca:Property"/>
> </choice>
> <element ref="sca:extensions" minOccurs="0" maxOccurs="1" />
> </sequence>
> </extension>
> </complexContent>
> </complexType>
>
> 2) Callback type
>
> <complexType name="Callback">
> <complexContent>
> <extension base="sca:CommonExtensionBase">
> <choice minOccurs="0" maxOccurs="unbounded">
> <element ref="sca:binding"/>
> <element ref="sca:requires"/>
> <element ref="sca:policySetAttachment"/>
> <element ref="sca:extensions" minOccurs="0" maxOccurs="1" />
> </choice>
> <attribute name="requires" type="sca:listOfQNames" use="optional"/>
> <attribute name="policySets" type="sca:listOfQNames" use="optional"/>
> </extension>
> </complexContent>
> </complexType>
>
>
> 3) ContributionType type
>
> <complexType name="ContributionType">
> <complexContent>
> <extension base="sca:CommonExtensionBase">
> <sequence>
> <element name="deployable" type="sca:DeployableType" minOccurs="0"
> maxOccurs="unbounded"/>
> <element ref="sca:importBase" minOccurs="0" maxOccurs="unbounded"/>
> <element ref="sca:exportBase" minOccurs="0" maxOccurs="unbounded"/>
> <element ref="sca:extensions" minOccurs="0" maxOccurs="1" />
> </sequence>
> </extension>
> </complexContent>
> </complexType>
>
>
> 4) Component type (strictly this is already "fixed" but is not
> consistent with the above...)
>
> <complexType name="Component">
> <complexContent>
> <extension base="sca:CommonExtensionBase">
> <sequence>
> <element ref="sca:implementation" minOccurs="0" maxOccurs="1"/>
> <choice minOccurs="0" maxOccurs="unbounded">
> <element name="service" type="sca:ComponentService"/>
> <element name="reference" type="sca:ComponentReference"/>
> <element name="property" type="sca:PropertyValue"/>
> <element ref="sca:requires"/>
> <element ref="sca:policySetAttachment"/>
> </choice>
> <element ref="sca:extensions" minOccurs="0" maxOccurs="1" />
> </sequence>
> <attribute name="name" type="NCName" use="required"/>
> <attribute name="autowire" type="boolean" use="optional"/>
> <attribute name="requires" type="sca:listOfQNames" use="optional"/>
> <attribute name="policySets" type="sca:listOfQNames" use="optional"/>
> </extension>
> </complexContent>
> </complexType>
>
>
> This leaves all the other locations where <any/> is used, but in those
> cases there is no use of substitution groups
> in any of the peer elements of the <any/>.
>
>
> 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/
>
>
>
>
>
>

---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php









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]