[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sca-assembly] [Issue 223] Problems with the Extension Pointsin the SCA XSDs
+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
S/MIME Cryptographic Signature
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]