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: Schema questions


Removing the substitutionGroup for components was relatively painless.

For properties it will be different:

I tried replacing the simple array of properties which used substitutionGroup to something like

<xs:complexType name="ArrayOfEventContainedProperties">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<!-- Exactly once -->
<xs:element ref="xcal:dtstamp"/>
<xs:element ref="xcal:uid"/>
...
<!-- 0 or more occurrences -->
<xs:element ref="xcal:attach"/>
...
<xs:element ref="xcal:resources"/>
<xs:element ref="xcal:rdate"/>
</xs:choice>
</xs:sequence>
</xs:complexType>

This still doesn't define how many times an element may occur and it has the undesirable characteristic (in Java anyway) that the resulting class is List<Object>.

However, it does have at least one good characteristic - the elements may appear in any order which is typically what happens. Also, when using the generated classes it is possible to iterate over the list of properties rather than name each one explicitly.

It would be possible to remove the choice and simply list each element with a minOccurs/maxOccurs. Now we've imposed ordering which may be an issue. Also we cannot express all the possibilities for some of the elements. For example there are various valid combinations of dtstart/end/duration which depend on semantics that cannot be expressed in the schema.




--

Mike Douglass                           douglm@rpi.edu
Senior Systems Programmer
Communication&  Collaboration Technologies      518 276 6780(voice) 2809
(fax)
Rensselaer Polytechnic Institute 110 8th Street, Troy, NY 12180



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