sca-assembly message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: ISSUE 18: Proposal to resolve Issue 18
- From: Mike Edwards <mike_edwards@uk.ibm.com>
- To: "OASIS Assembly" <sca-assembly@lists.oasis-open.org>
- Date: Mon, 4 Feb 2008 14:38:50 +0000
Folks,
Here is my proposal for Issue 18, which
is one of the workitems following from the F2F meeting:
Issue 18 has the title "XSD definitions
of Component Service and Component Reference have unintended features"
- in particular, ComponentService and
ComponentReference pick up the "promote" attribute from Service
and
Reference.
The principle of this proposal is to
NOT derive ComponentService and ComponentReference through restriction.
Instead, they are simply declared in
a standalone fashion, as follows:
Current declarations:
<complexType
name="ComponentService">
<complexContent>
<restriction
base="sca:Service">
<sequence>
<element
ref="sca:interface"
minOccurs="0"
maxOccurs="1"/>
<element
name="operation"
type="sca:Operation"
minOccurs="0"
maxOccurs="unbounded"
/>
<choice
minOccurs="0"
maxOccurs="unbounded">
<element
ref="sca:binding"/>
<any
namespace="##other"
processContents="lax"
minOccurs="0"
maxOccurs="unbounded"/>
</choice>
<element
ref="sca:callback"
minOccurs="0"
maxOccurs="1"/>
<any
namespace="##other"
processContents="lax"
minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
<attribute
name="name"
type="NCName"
use="required"/>
<attribute
name="requires"
type="sca:listOfQNames"
use="optional"/>
<attribute
name="policySets"
type="sca:listOfQNames"
use="optional"/>
<anyAttribute
namespace="##any"
processContents="lax"/>
</restriction>
</complexContent>
</complexType>
<complexType
name="ComponentReference">
<complexContent>
<restriction
base="sca:Reference">
<sequence>
<element
ref="sca:interface"
minOccurs="0"
maxOccurs="1"
/>
<element
name="operation"
type="sca:Operation"
minOccurs="0"
maxOccurs="unbounded"
/>
<choice
minOccurs="0"
maxOccurs="unbounded">
<element
ref="sca:binding"
/>
<any
namespace="##other"
processContents="lax"
/>
</choice>
<element
ref="sca:callback"
minOccurs="0"
maxOccurs="1"
/>
<any
namespace="##other"
processContents="lax"
minOccurs="0"
maxOccurs="unbounded"
/>
</sequence>
<attribute
name="name"
type="NCName"
use="required"
/>
<attribute
name="autowire"
type="boolean"
use="optional"
default="false"/>
<attribute
name="wiredByImpl"
type="boolean"
use="optional"
default="false"/>
<attribute
name="target"
type="sca:listOfAnyURIs"
use="optional"/>
<attribute
name="multiplicity"
type="sca:Multiplicity"
use="optional"
default="1..1"
/>
<attribute
name="requires"
type="sca:listOfQNames"
use="optional"/>
<attribute
name="policySets"
type="sca:listOfQNames"
use="optional"/>
<anyAttribute
namespace="##any"
processContents="lax"
/>
</restriction>
</complexContent>
</complexType>
Proposed declarations:
<complexType
name="ComponentService">
<sequence>
<element
ref="sca:interface"
minOccurs="0"
maxOccurs="1"/>
<element
name="operation"
type="sca:Operation"
minOccurs="0"
maxOccurs="unbounded"
/>
<choice
minOccurs="0"
maxOccurs="unbounded">
<element
ref="sca:binding"/>
<any
namespace="##other"
processContents="lax"
minOccurs="0"
maxOccurs="unbounded"/>
</choice>
<element
ref="sca:callback"
minOccurs="0"
maxOccurs="1"/>
<any
namespace="##other"
processContents="lax"
minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
<attribute
name="name"
type="NCName"
use="required"/>
<attribute
name="requires"
type="sca:listOfQNames"
use="optional"/>
<attribute
name="policySets"
type="sca:listOfQNames"
use="optional"/>
<anyAttribute
namespace="##any"
processContents="lax"/>
</complexType>
<complexType
name="ComponentReference">
<sequence>
<element
ref="sca:interface"
minOccurs="0"
maxOccurs="1"
/>
<element
name="operation"
type="sca:Operation"
minOccurs="0"
maxOccurs="unbounded"
/>
<choice
minOccurs="0"
maxOccurs="unbounded">
<element
ref="sca:binding"
/>
<any
namespace="##other"
processContents="lax"
/>
</choice>
<element
ref="sca:callback"
minOccurs="0"
maxOccurs="1"
/>
<any
namespace="##other"
processContents="lax"
minOccurs="0"
maxOccurs="unbounded"
/>
</sequence>
<attribute
name="name"
type="NCName"
use="required"
/>
<attribute
name="autowire"
type="boolean"
use="optional"
default="false"/>
<attribute
name="wiredByImpl"
type="boolean"
use="optional"
default="false"/>
<attribute
name="target"
type="sca:listOfAnyURIs"
use="optional"/>
<attribute
name="multiplicity"
type="sca:Multiplicity"
use="optional"
default="1..1"
/>
<attribute
name="requires"
type="sca:listOfQNames"
use="optional"/>
<attribute
name="policySets"
type="sca:listOfQNames"
use="optional"/>
<anyAttribute
namespace="##any"
processContents="lax"
/>
</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: 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
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]