[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sca-assembly] Action item 2010-12-07-3, ASSEMBLY-239
2. The other part of the issue concerns
the name of the event body filter. As I said in my email of Sept
22, there are three things that the filter syntax has to express.
i) The type of data that the filter operates against (the subject)
ii). The language used to express the filter (the dialect)
iii). The filter expression itself.
It is helpful to retain the separation of i) and ii), as it allows you to tell what the subject is, even if you don't recognise the dialect. If we just had a flat name I could define my own filter expression - say Peter_special_no_22 - and it would not be possible to tell what kind of filter it is. Also if you do a have a dialect used for more than one subject (e.g. XPath used for both body and metadata) you only have to define its syntax and semantics once. I actually prefer a syntax where the dialect is expressed as an attribute (that's what happens in WS-Notification and WS-Eventing), e.g.
<body dialect="xpath1"> A/B </body>
but I understand that the TC prefers an approach where we include the dialect as part of the element name, so I am ok with that,
3. This is what we have in the current
working draft
<filters>
<eventType.sca
qnames="list of xs:QName"? namespaces="list of xs:anyURI"?
/>*
<body.xpath1> xs:string
</body.xpath1>*
<any>*
</filters> ?
I agree with Anish that we don't need the word "filter" in the filter QName, since these elements are all children of the <filters> element.
4. I think it we should have a consistent appearance for the two filter names (and any others we may introduce in the future). Changing <body.xpath1> to <xpath1Body> or <bodyXpath1> makes the body filter syntax and the eventTye filter syntax inconsistent (in comparison with the consistent syntax we currently have).
As I understand things, the issue now is that we cannot use a . in the body name, since the element isn't defined using a substitution group and everywhere else in SCA assembly a . implies the substitution group. This is indeed the case.. here is the current schema definition:
<element name="filters"
type="sca:Filter"/>
<complexType name="Filter">
<sequence>
<choice minOccurs="0" maxOccurs="unbounded">
<element ref="sca:eventType" />
<element ref="sca:body.xpath1"
/>
</choice>
<any namespace="##other" processContents="lax"
minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
<anyAttribute
namespace="##other" processContents="lax"/>
</complexType>
<element name="eventType"
abstract="true"/>
<element name="eventType.sca"
type=sca:EventType.sca"
substitutionGroup="eventType"/>
<complexType name="EventType.sca">
<sequence>
<any namespace="##other" processContents="lax"
minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
<attribute
name="qnames" type="sca:listOfQNames" />
<attribute
name="namespaces" type="sca:listOfAnyURIs" />
<anyAttribute
namespace="##other" processContents="lax" />
</complexType>
<element name="body.xpath1"
type="string" />
As you can see that <eventType> is an abstract element with only one substitution group member defined (eventType.sca) but <body> is defined as a concrete element. I propose we keep the . in body filter - if we need any changes at all they are
i) Update the schema so that we have an abstract element for the body filter, just like we do for the eventType filter. That would regularise the appearance of the . character in the name
ii) Capitalise the X and the P, i.e. <body.XPath1> since it is usually referred to as XPath, not xpath or xPath or Xpath.
Regards
Peter Niblett
IBM Senior Technical Staff Member
Member of the IBM Academy of Technology
+44 1962 815055
+44 7825 657662 (mobile)
From:
Anish Karmarkar <Anish.Karmarkar@oracle.com>
To:
sca-assembly@lists.oasis-open.org
Date:
21/12/2010 07:50
Subject:
Re: [sca-assembly]
Action item 2010-12-07-3, ASSEMBLY-239
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]