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: [sca-assembly] [Issue 223] Problems with the Extension Points in the SCA XSDs


hi danny,
   I'd recommend putting this on the liaison SC agenda, rather than  
the Steering committee. I don't think it takes a TC motion to do that.  
Just a request for it to be discussed.

     cheers,
    jeff

On Mar 23, 2010, at 11:36 AM, Danny van der Rijn wrote:

> +1 to Anish's proposed expansion of the solution.
>
> Either way we resolve, once we do, we should forward the resolution  
> to the Steering Committee as a proposed recommendation to all TCs.   
> Would this require, procedurally, a New Issue?  If so, I'll happily  
> file it.
>
> Danny
>
> On 3/23/2010 8:14 AM, Anish Karmarkar wrote:
>> 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
>

--
Jeff Mischkinsky			          		jeff.mischkinsky@oracle.com
Sr. Director, Oracle Fusion Middleware 				+1(650)506-1975
	and Web Services Standards           			500 Oracle Parkway, M/S 2OP9
Oracle								Redwood Shores, CA 94065











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