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

Streams, PIM, and Sequence

From
Toby Considine
Date
2013-05-13T14:55:00+00:00
ID
Thread
Streams, PIM, and Sequence
Now that Streams is defined as compliant with the PIM rather than with WS-Calendar, It appears that a major simplification can occur. Each interval in a Stream is an instance of the Stream Interval Type.


<  xs:complexType
name  ="  StreamIntervalType  "
abstract  ="  true  "
mixed  ="  false  ">

<  xs:annotation  >

<  xs:documentation
xml:lang  ="  en  ">  Restricted variant of ws-calendar interval for streams. Stream Intervals are restricted expressions of the WS-Calendar Interval that are transformable to but not identical to WS-Calendar Intervals.  </  xs:documentation  >

</  xs:annotation  >

<  xs:sequence  >

<  xs:element
ref  ="  xcal:baseProperty  "
minOccurs  ="  0  "
maxOccurs  ="  unbounded  "/>

<  xs:element
ref  ="  strm:streamPayloadBase  "
minOccurs  ="  1  "
maxOccurs  ="  1  "/>

</  xs:sequence  >

</  xs:complexType
>

The simplification is tied to the unbounded instances of BaseProperty. They add considerable complexity while making it harder to approach the Stream. Base Property includes:

Action / Category / Attendees / Comment / Completed / Contact / Description. I can imagine uses for these in particular streams, but of so, I could put them in the PayloadBase for a particular domain conforming to Streams

Many Time Zone Variables. These should be inherited within a given Stream

DtStamp. These should be inherited within a given Stream

DtStart/DtEnd all inherited from the Sequence, and the Stream Base. Could be useful for exception in telemetry.

Due Date – Not Applicable, or refers to whole Stream

Location . These should be inherited within a given Stream

Method / Organizer / Product ID – should be inherited if present

Rdate, Recurrence, Request Status: Not relevant

Related
To: Dealt with by Streams Processing Rules

And so on.


Still, we do not want to make it illegal to use this stuff.

I am tempted to make a sequenceID, an integer which controls sorting during XML parsing.
Conform that the UID is illegal (in deference to the UID constructed through inheritance and concatenation) or perhaps that n Interval in a Stream MAY have a sequenceID OR a UID.


<  xs:complexType
name  ="  StreamIntervalType  "
abstract  ="  true  "
mixed  ="  false  ">

<  xs:annotation  >

<  xs:documentation
xml:lang  ="  en  ">  Restricted variant of ws-calendar interval for streams. Stream Intervals are restricted expressions of the WS-Calendar Interval that are transformable to but not identical to WS-Calendar Intervals.  </  xs:documentation  >

</  xs:annotation  >

<  xs:sequence  >

<  xs:element
ref  ="  strm:sequenceId  "
minOccurs  ="1"
maxOccurs  ="1"/>

<  xs:element
ref  ="  xcal:baseProperty  "
minOccurs  ="  0  "
maxOccurs  ="  unbounded  "/>

<  xs:element
ref  ="  strm:streamPayloadBase  "
minOccurs  ="  1  "
maxOccurs  ="  1  "/>

</  xs:sequence  >

</  xs:complexType  >


<  xs:element
name  ="  sequenceId  "
type  ="  strm:  SequenceIdType  "
abstract  ="  true  "/>

<  xs:element
name  ="  SequenceIdType  "
type=”xcal:integer”
abstract  ="  true  ">

<  xs:annotation  >

<  xs:documentation
xml:lang  ="  en  ">  Sequence number used to order intervals in a Stream.  </  xs:documentation  >

</  xs:annotation  >

</  xs:simpleType
>


Comments?
"Energy and persistence conquer all things."

--
Benjamin Franklin
Toby Considine TC9, Inc
OASIS TC Chair: oBIX & WS-Calendar
OASIS TC Editor: EMIX, Energy Interoperation
SGIP Smart Grid Architecture Committee
Email:

Phone: (919)619-2104
http://www.tcnine.com blog: http://www.NewDaedalus.com
← Prev in month ← Prev in thread
Next in thread → Next in month →