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:
Toby.Considine@gmail.com Phone: (919)619-2104
http://www.tcnine.com blog:
http://www.NewDaedalus.com