← Prev in month ← Prev in thread
Next in thread → Next in month →

[ISSUE 64] Specification inconsistent on whether a default value forProperty on a Constraining Type is allowed or not - PROPOSAL

From
Mike Edwards <>
Date
2008-10-14T13:00:53+00:00
ID
Thread
[ISSUE 64] Specification inconsistent on whether a default value forProperty on a Constraining Type is allowed or not - PROPOSAL
Folks,

The following is a proposal to RESOLVE
Issue 64:

Line numbers refer to sca-assembly-1.1-spec-cd01-rev2.pdf:

The basic idea is to accept that the
text in lines 2231 - 2236 is correct and that the constraining type

cannot set values for
services, references or properties.  This then requires changes in
the pseudo

schema and in the real schema, which
are detailed below:

(Pseudo schema) Replace lines 2266 -
2269 with the following:

<property
name="xs:NCName"
(type="xs:QName"
| element="xs:QName")
many="xs:boolean"?/>*

Change the XSD definition of constrainingType
between lines 3986 - 4001 to include:

<service/> subelement which is
of a new "ConstrainedService" type

<reference/> subelement which
is of a new "ConstrainedReference" type

<property/> subelement which is
of a new "ConstrainedProperty" type.

<element
name="constrainingType"
type="sca:ConstrainingType"/>

   <complexType
name="ConstrainingType">

      <sequence>

         <choice
minOccurs="0"
maxOccurs="unbounded">

           
<element name="service"
type="sca:ConstrainedService"/>

           
<element name="reference"
type="sca:ConstrainedReference"/>

           
<element name="property"
type="sca:ConstrainedProperty"
/>

         </choice>

         <any
namespace="##other"
processContents="lax"
minOccurs="0"
maxOccurs="unbounded"/>

      </sequence>

      <attribute
name="name"
type="NCName"
use="required"/>

      <attribute
name="targetNamespace"
type="anyURI"/>

      <attribute
name="requires"
type="sca:listOfQNames"
use="optional"/>

      <anyAttribute
namespace="##other"
processContents="lax"/>

</complexType>

Add ConstrainedService, ConstrainedReference
and ConstrainedProperty type definitions after line 3985:

<complexType
name="ConstrainedService">

   <sequence>

      <element
ref="sca:interface"
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"
/>

   <anyAttribute
namespace="##other"
processContents="lax"
/>

</complexType>

(This type allows for an interface definition
and the name and requires attributes)

<complexType
name="ConstrainedReference">

   <sequence>

      <element
ref="sca:interface"
minOccurs="0"
maxOccurs="1"/>

      <any
namespace="##other"
processContents="lax"
minOccurs="0"
maxOccurs="unbounded"
/>

   </sequence>

   <attribute
name="name"
type="NCName"
use="required"
/>

   <attribute
name="multiplicity"
type="sca:Multiplicity"
use="optional"
default="1..1"
/>

   <attribute
name="requires"
type="sca:listOfQNames"
use="optional"
/>

   <anyAttribute
namespace="##other"
processContents="lax"
/>

</complexType>

(This type allows for an interface definition
and the name, multiplicity and requires attributes)

<complexType
name="ConstrainedProperty">

   <complexContent>

      <attribute
name="name"
type="NCName"
use="required"/>

      <attribute
name="type"
type="QName"
use="optional"/>

      <attribute
name="element"
type="QName"
use="optional"/>

      <attribute
name="many"
type="boolean"
default="false"
use="optional"/>

      <anyAttribute
namespace="##other"
processContents="lax"/>

   </complexContent>

</complexType>

(This type has attributes only and cannot
hold a value.  It also cannot indicate "mustSupply" since

this is a feature of an implementation.)

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:  

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
← Prev in month ← Prev in thread
Next in thread → Next in month →