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


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