OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-calendar message

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


Subject: RE: [ws-calendar] WS-Calendar derivations


 

 

Bruce Bartell

Xtensible Solutions

Mobile: +1.321.258.6500

bbartell@xtensible.net  |   www.xtensible.net


From: Edward Koch [mailto:ed@akuacom.com]
Sent: Sunday, April 17, 2011 4:22 PM
To: ws-calendar@lists.oasis-open.org
Subject: [ws-calendar] WS-Calendar derivations

 

WS-Calendar TC,

 

For some time I’ve been trying to come up with a way to restrict/extend the WS-Calendar schemas in such a way to get a tighter definition and validation on the schedule types that I desire to use. The deeper I dig into this to try to find some creative solution the worse it seems to get.  In my opinion there are some serious issues with the way the core WS-Calendar structures have been defined.  Basically EVERYTHING is a BaseComponentType which means that the ONLY actual structure in the schema is a general purpose recursive collection of entities that really only have two attributes: “ArrayOfProperties” and “ArrayOfComponents”. To make matters worse because the baseComponent and baseProperty elements of the BaseComponentType are just abstract substitution group heads there is no way to restrict anything. I can really only extend by adding more types to the substitution group which is not adding to the structure or constraining my options. Furthermore since many of the substitutions group elements are nothing more than a named wrapper around yet another BaseComponentType, that amounts to nothing more than adding a naming convention for how to chain together the BasComponentTypes without really adding any additional structure. I’m still hoping that I’m just not skilled enough to manipulate the schemas but I think someone went way too far to try to make everything extensible.

 

I’m confident that I can hand code a reasonable XML for what I want to do by just referencing the top level VAvailabiity, etc. but given that there are literally an infinite number (and yes because of the recursive definitions it really is infinite!) valid XML documents that can be validated against that schema I’m left with making A LOT of very detailed conformance statements that will need to be implemented in application code.  In fact one could argue that I will be making so many conformance statements that I might be better off skipping the schema definitions altogether and just describing what the XML document is going to look like since almost all the validation will be done at the application level anyway.

 

In my attempts to derive the WS-calendar schemas I have some partial solutions that extend the schemas in different ways that might be acceptable, but they will in essence bypass the interval stuff and directly extend the BaseComponent with the fixed intervals that I want.  Of course you can always attempt to do a redefine as well.

 

In order to frame the discussion better let’s start at the top level with a simple description of an EIEvent schedule.  Let not worry about the sub intervals yet.  Lets just answer one simple question:

 

Assume I have the following attributes of an EIEvent schedule.  For the time being let’s not get into some esoteric discussion of whether people think these are the right attributes, but concentrate instead on how we represent these in a derivation of a WS-Calendar schema.  Note I said schema NOT XML. I’m sure we could hand craft an XML that would validate against the existing WS-Calendar schemas, but there would be very little to constrain the xml to just the intervals I want. Here are the intervals that all EIEvent Schedules have:

 

Start date/time

Duration of the event

Notification period before the event starts

Ramp up time after the event starts

Ramp down or recovery period after the event ends

 

Assuming we want to fix these so that these same set of attributes always exist as part of the schedule, how do we derive the existing WS-Calendar to create a schema that expresses that fact. Maybe I’m reading too much into this and its as simple as creating an extended type with all these attributes in it.  That’s essentially what I am exploring now in what I alluded to above.

 

 

 

Thanks,

 

-ed Koch

 

 



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