Changeset 3103

Show
Ignore:
Timestamp:
12/22/10 11:25:04
Author:
douglm
Message:

Further changes to the icalendar schema

Add a translator to produce XML internal format from bw classes

Complete the SOAP fetchItem method

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/config/bwbuild/jboss-postgresql/cal.options.xml

    r3060 r3103  
    606606 
    607607          <!-- Exchange sync callback. Comment out for no service --> 
    608           <exchangeWsPushURI>http://128.113.124.238:8080/exsynch/</exchangeWsPushURI> 
     608          <exchangeWsPushURI>http://128.113.124.164:8080/exsynch/</exchangeWsPushURI> 
    609609 
    610610          <!-- Path to keystore - comment out to use default -->           
  • trunk/resources/exsynchwsdefs/iCalendar-bw-extensions.xsd

    r3055 r3103  
    1212  <!-- ===================== Properties =================================  --> 
    1313  <xs:include schemaLocation="iCalendar-props.xsd" /> 
     14 
     15  <xs:element name="x-bedework-cost"  
     16              type="xcal:x-bw-costPropType" 
     17              substitutionGroup="xcal:base-property" /> 
    1418 
    1519  <xs:element name="x-bedework-exsynch-endtzid"  
     
    2832              type="xcal:x-bw-exsynch-starttzidPropType" 
    2933              substitutionGroup="xcal:base-property" /> 
     34   
     35  <xs:complexType name="x-bw-costPropType"> 
     36    <xs:complexContent mixed="false"> 
     37      <xs:extension base="xcal:TextPropertyType"/> 
     38    </xs:complexContent> 
     39  </xs:complexType> 
    3040   
    3141  <xs:complexType name="x-bw-exsynch-endtzidPropType"> 
  • trunk/resources/exsynchwsdefs/iCalendar-params.xsd

    r3046 r3103  
    1212       3.2 Property parameter definitions 
    1313       ===================================================================== --> 
    14         
     14 
     15  <xs:complexType name="BaseParameterType" abstract="true" > 
     16  </xs:complexType> 
     17 
     18  <xs:element name="base-parameter" type="xcal:BaseParameterType" /> 
     19 
    1520  <xs:complexType name="ArrayOfParameters"> 
    16     <xs:choice maxOccurs="unbounded"> 
    17       <xs:element name="altrep" type="xcal:altrepParamType" /> 
    18       <xs:element name="cn" type="xcal:cnParamType" /> 
    19       <xs:element name="cutype" type="xcal:cutypeParamType" /> 
    20       <xs:element name="delegated-from" type="xcal:delegated-fromParamType" /> 
    21       <xs:element name="delegated-to" type="xcal:delegated-toParamType" /> 
    22       <xs:element name="dir" type="xcal:dirParamType" /> 
    23       <xs:element name="encoding" type="xcal:encodingParamType" /> 
    24       <xs:element name="fmttype" type="xcal:fmttypeParamType" /> 
    25       <xs:element name="fbtype" type="xcal:fbtypeParamType" /> 
    26       <xs:element name="language" type="xcal:languageParamType" /> 
    27       <xs:element name="member" type="xcal:memberParamType" /> 
    28       <xs:element name="partstat" type="xcal:partstatParamType" /> 
    29       <xs:element name="range" type="xcal:rangeParamType" /> 
    30       <xs:element name="related" type="xcal:relatedParamType" /> 
    31       <xs:element name="reltype" type="xcal:reltypeParamType" /> 
    32       <xs:element name="role" type="xcal:roleParamType" /> 
    33       <xs:element name="rsvp" type="xcal:rsvpParamType" /> 
    34       <xs:element name="sent-by" type="xcal:sent-byParamType" /> 
    35       <xs:element name="tzid" type="xcal:tzidParamType" /> 
    36     </xs:choice> 
    37   </xs:complexType> 
    38    
    39   <xs:complexType name="cal-addressListParamType"> 
    4021    <xs:sequence> 
    41       <xs:element ref="xcal:cal-address" maxOccurs="unbounded"/> 
     22      <xs:element ref="xcal:base-parameter" maxOccurs="unbounded"/> 
    4223    </xs:sequence> 
     24  </xs:complexType> 
     25          
     26  <!-- ===================================================================== 
     27       Define all the standard properties. By using a substitutionGroup we 
     28       make it easy to extend the list of parameters. As an example see  
     29       the parameters defined in iCalendar-caldavsched-extensions.xsd 
     30       ===================================================================== -->   
     31 
     32  <xs:element name="altrep" type="xcal:altrepParamType" 
     33              substitutionGroup="xcal:base-parameter" /> 
     34  <xs:element name="cn" type="xcal:cnParamType" 
     35              substitutionGroup="xcal:base-parameter" /> 
     36  <xs:element name="cutype" type="xcal:cutypeParamType" 
     37              substitutionGroup="xcal:base-parameter" /> 
     38  <xs:element name="delegated-from" type="xcal:delegated-fromParamType" 
     39              substitutionGroup="xcal:base-parameter" /> 
     40  <xs:element name="delegated-to" type="xcal:delegated-toParamType" 
     41              substitutionGroup="xcal:base-parameter" /> 
     42  <xs:element name="dir" type="xcal:dirParamType" 
     43              substitutionGroup="xcal:base-parameter" /> 
     44  <xs:element name="encoding" type="xcal:encodingParamType" 
     45              substitutionGroup="xcal:base-parameter" /> 
     46  <xs:element name="fmttype" type="xcal:fmttypeParamType" 
     47              substitutionGroup="xcal:base-parameter" /> 
     48  <xs:element name="fbtype" type="xcal:fbtypeParamType" 
     49              substitutionGroup="xcal:base-parameter" /> 
     50  <xs:element name="language" type="xcal:languageParamType" 
     51              substitutionGroup="xcal:base-parameter" /> 
     52  <xs:element name="member" type="xcal:memberParamType" 
     53              substitutionGroup="xcal:base-parameter" /> 
     54  <xs:element name="partstat" type="xcal:partstatParamType" 
     55              substitutionGroup="xcal:base-parameter" /> 
     56  <xs:element name="range" type="xcal:rangeParamType" 
     57              substitutionGroup="xcal:base-parameter" /> 
     58  <xs:element name="related" type="xcal:relatedParamType" 
     59              substitutionGroup="xcal:base-parameter" /> 
     60  <xs:element name="reltype" type="xcal:reltypeParamType" 
     61              substitutionGroup="xcal:base-parameter" /> 
     62  <xs:element name="role" type="xcal:roleParamType" 
     63              substitutionGroup="xcal:base-parameter" /> 
     64  <xs:element name="rsvp" type="xcal:rsvpParamType" 
     65              substitutionGroup="xcal:base-parameter" /> 
     66  <xs:element name="sent-by" type="xcal:sent-byParamType" 
     67              substitutionGroup="xcal:base-parameter" /> 
     68  <xs:element name="tzid" type="xcal:tzidParamType" 
     69              substitutionGroup="xcal:base-parameter" /> 
     70               
     71   
     72  <!-- Scheduling parameters for attendee or organizer --> 
     73  <xs:element name="schedule-agent" type="xcal:schedule-agentParamType" 
     74              substitutionGroup="xcal:base-parameter" /> 
     75  <xs:element name="schedule-force-send" type="xcal:schedule-force-sendParamType" 
     76              substitutionGroup="xcal:base-parameter" /> 
     77  <xs:element name="schedule-status" type="xcal:schedule-statusParamType" 
     78              substitutionGroup="xcal:base-parameter" /> 
     79   
     80  <!-- Bedework x-parameters --> 
     81  <xs:element name="x-bedework-uid" type="xcal:x-bedework-uidParamType"  
     82              substitutionGroup="xcal:base-parameter" /> 
     83   
     84  <!-- Parameters that take a simple text value --> 
     85  <xs:complexType name="TextParameterType" > 
     86    <xs:complexContent mixed="false"> 
     87      <xs:extension base="xcal:BaseParameterType"> 
     88        <xs:sequence>  
     89          <xs:element ref="xcal:text" /> 
     90        </xs:sequence> 
     91      </xs:extension> 
     92    </xs:complexContent> 
     93  </xs:complexType> 
     94   
     95  <!-- Parameters that take a uri value --> 
     96  <xs:complexType name="UriParameterType" > 
     97    <xs:complexContent mixed="false"> 
     98      <xs:extension base="xcal:BaseParameterType"> 
     99        <xs:sequence> 
     100          <xs:element ref="xcal:uri"/> 
     101        </xs:sequence> 
     102      </xs:extension> 
     103    </xs:complexContent> 
     104  </xs:complexType> 
     105   
     106  <xs:complexType name="CalAddressListParamType"> 
     107    <xs:complexContent mixed="false"> 
     108      <xs:extension base="xcal:BaseParameterType"> 
     109        <xs:sequence> 
     110          <xs:element ref="xcal:cal-address" maxOccurs="unbounded"/> 
     111        </xs:sequence> 
     112      </xs:extension> 
     113    </xs:complexContent> 
     114  </xs:complexType> 
     115   
     116  <xs:complexType name="CalAddressParamType"> 
     117    <xs:complexContent mixed="false"> 
     118      <xs:extension base="xcal:BaseParameterType"> 
     119        <xs:sequence> 
     120          <xs:element ref="xcal:cal-address" /> 
     121        </xs:sequence> 
     122      </xs:extension> 
     123    </xs:complexContent> 
    43124  </xs:complexType> 
    44125  
    45126  <!-- 3.2.1 Alternate Text Representation --> 
    46127  <xs:complexType name="altrepParamType"> 
    47     <xs:sequence
    48       <xs:element ref="xcal:uri"/> 
    49     </xs:sequence
     128    <xs:complexContent mixed="false"
     129      <xs:extension base="xcal:UriParameterType"/> 
     130    </xs:complexContent
    50131  </xs:complexType> 
    51132   
    52133  <!-- 3.2.2 Common Name --> 
    53   <xs:simpleType name="cnParamType"> 
    54     <xs:restriction base="xs:string"/> 
    55   </xs:simpleType> 
     134  <xs:complexType name="cnParamType"> 
     135    <xs:complexContent mixed="false"> 
     136      <xs:extension base="xcal:TextParameterType"/> 
     137    </xs:complexContent> 
     138  </xs:complexType> 
    56139   
    57140  <!-- 3.2.3 Calendar User Type --> 
    58   <xs:simpleType name="cutypeParamType"> 
     141  <xs:simpleType name="cutypeValueType"> 
    59142    <xs:restriction base="xs:token"> 
    60143      <xs:enumeration value="INDIVIDUAL"/> 
     
    66149  </xs:simpleType> 
    67150   
     151  <xs:complexType name="cutypeParamType"> 
     152    <xs:complexContent mixed="false"> 
     153      <xs:extension base="xcal:BaseParameterType"> 
     154        <xs:sequence> 
     155          <xs:element name="text" type="xcal:cutypeValueType"/> 
     156        </xs:sequence> 
     157      </xs:extension> 
     158    </xs:complexContent> 
     159  </xs:complexType> 
     160   
    68161  <!-- 3.2.4 Delegators --> 
    69162  <xs:complexType name="delegated-fromParamType"> 
    70163    <xs:complexContent mixed="false"> 
    71       <xs:extension base="xcal:cal-addressListParamType"/> 
     164      <xs:extension base="xcal:CalAddressListParamType"> 
     165      </xs:extension> 
    72166    </xs:complexContent> 
    73167  </xs:complexType> 
     
    76170  <xs:complexType name="delegated-toParamType"> 
    77171    <xs:complexContent mixed="false"> 
    78       <xs:extension base="xcal:cal-addressListParamType"/> 
     172      <xs:extension base="xcal:CalAddressListParamType"> 
     173      </xs:extension> 
    79174    </xs:complexContent> 
    80175  </xs:complexType> 
     
    82177  <!-- 3.2.6 Directory Entry Reference --> 
    83178  <xs:complexType name="dirParamType"> 
    84     <xs:sequence
    85       <xs:element ref="xcal:uri"/> 
    86     </xs:sequence
     179    <xs:complexContent mixed="false"
     180      <xs:extension base="xcal:UriParameterType"/> 
     181    </xs:complexContent
    87182  </xs:complexType> 
    88183   
    89184  <!-- 3.2.7 Inline Encoding --> 
    90   <xs:simpleType name="encodingParamType"> 
     185  <xs:simpleType name="encodingValueType"> 
    91186    <xs:restriction base="xs:token"> 
    92187      <xs:enumeration value="8BIT"/> 
     
    95190  </xs:simpleType> 
    96191   
     192  <xs:complexType name="encodingParamType"> 
     193    <xs:complexContent mixed="false"> 
     194      <xs:extension base="xcal:BaseParameterType"> 
     195        <xs:sequence> 
     196          <xs:element name="text" type="xcal:encodingValueType"/> 
     197        </xs:sequence> 
     198      </xs:extension> 
     199    </xs:complexContent> 
     200  </xs:complexType> 
     201   
    97202  <!-- 3.2.8 Format Type --> 
    98   <xs:simpleType name="fmttypeParamType"> 
    99     <xs:restriction base="xs:string"/> 
    100   </xs:simpleType> 
     203  <xs:complexType name="fmttypeParamType"> 
     204    <xs:complexContent mixed="false"> 
     205      <xs:extension base="xcal:TextParameterType"/> 
     206    </xs:complexContent> 
     207  </xs:complexType> 
    101208   
    102209  <!-- 3.2.9 Free/Busy Time Type --> 
    103   <xs:simpleType name="fbtypeParamType"> 
     210  <xs:simpleType name="fbtypeValueType"> 
    104211    <xs:restriction base="xs:token"> 
    105212      <xs:enumeration value="FREE"/> 
     
    110217  </xs:simpleType> 
    111218   
     219  <xs:complexType name="fbtypeParamType"> 
     220    <xs:complexContent mixed="false"> 
     221      <xs:extension base="xcal:BaseParameterType"> 
     222        <xs:sequence> 
     223          <xs:element name="text" type="xcal:fbtypeValueType"/> 
     224        </xs:sequence> 
     225      </xs:extension> 
     226    </xs:complexContent> 
     227  </xs:complexType> 
     228   
    112229  <!-- 3.2.10 Language --> 
    113   <xs:simpleType name="languageParamType"> 
    114     <xs:restriction base="xs:string"/> 
    115   </xs:simpleType> 
     230  <xs:complexType name="languageParamType"> 
     231    <xs:complexContent mixed="false"> 
     232      <xs:extension base="xcal:TextParameterType"/> 
     233    </xs:complexContent> 
     234  </xs:complexType> 
    116235   
    117236  <!-- 3.2.11 Group or List Membership --> 
    118237  <xs:complexType name="memberParamType"> 
    119238    <xs:complexContent mixed="false"> 
    120       <xs:extension base="xcal:cal-addressListParamType"/> 
     239      <xs:extension base="xcal:CalAddressListParamType"> 
     240      </xs:extension> 
    121241    </xs:complexContent> 
    122242  </xs:complexType> 
    123243   
    124244  <!-- 3.2.12 Participation Status --> 
    125   <xs:simpleType name="partstatParamType"> 
     245  <xs:simpleType name="partstatValueType"> 
    126246    <xs:union memberTypes="xcal:type-partstat-event xcal:type-partstat-todo xcal:type-partstat-jour"/> 
    127247  </xs:simpleType> 
     
    157277  </xs:simpleType> 
    158278   
     279  <xs:complexType name="partstatParamType"> 
     280    <xs:complexContent mixed="false"> 
     281      <xs:extension base="xcal:BaseParameterType"> 
     282        <xs:sequence> 
     283          <xs:element name="text" type="xcal:partstatValueType"/> 
     284        </xs:sequence> 
     285      </xs:extension> 
     286    </xs:complexContent> 
     287  </xs:complexType> 
     288   
    159289  <!-- 3.2.13 Recurrence Identifier Range --> 
    160   <xs:simpleType name="rangeParamType"> 
     290  <xs:simpleType name="rangeValueType"> 
    161291    <xs:restriction base="xs:token"> 
    162292      <xs:enumeration value="THISANDFUTURE"/> 
     
    164294  </xs:simpleType> 
    165295   
     296  <xs:complexType name="rangeParamType"> 
     297    <xs:complexContent mixed="false"> 
     298      <xs:extension base="xcal:BaseParameterType"> 
     299        <xs:sequence> 
     300          <xs:element name="text" type="xcal:rangeValueType"/> 
     301        </xs:sequence> 
     302      </xs:extension> 
     303    </xs:complexContent> 
     304  </xs:complexType> 
     305   
    166306  <!-- 3.2.14 Alarm Trigger Relationship --> 
    167   <xs:simpleType name="relatedParamType"> 
     307  <xs:simpleType name="relatedValueType"> 
    168308    <xs:restriction base="xs:token"> 
    169309      <xs:enumeration value="START"/> 
     
    172312  </xs:simpleType> 
    173313   
     314  <xs:complexType name="relatedParamType"> 
     315    <xs:complexContent mixed="false"> 
     316      <xs:extension base="xcal:BaseParameterType"> 
     317        <xs:sequence> 
     318          <xs:element name="text" type="xcal:relatedValueType"/> 
     319        </xs:sequence> 
     320      </xs:extension> 
     321    </xs:complexContent> 
     322  </xs:complexType> 
     323   
    174324  <!-- 3.2.15 Relationship Type --> 
    175   <xs:simpleType name="reltypeParamType"> 
     325  <xs:simpleType name="reltypeValueType"> 
    176326    <xs:restriction base="xs:token"> 
    177327      <xs:enumeration value="PARENT"/> 
     
    181331  </xs:simpleType> 
    182332   
     333  <xs:complexType name="reltypeParamType"> 
     334    <xs:complexContent mixed="false"> 
     335      <xs:extension base="xcal:BaseParameterType"> 
     336        <xs:sequence> 
     337          <xs:element name="text" type="xcal:reltypeValueType"/> 
     338        </xs:sequence> 
     339      </xs:extension> 
     340    </xs:complexContent> 
     341  </xs:complexType> 
     342   
    183343  <!-- 3.2.16 Participation Role --> 
    184   <xs:simpleType name="roleParamType"> 
     344  <xs:simpleType name="roleValueType"> 
    185345    <xs:restriction base="xs:token"> 
    186346      <xs:enumeration value="CHAIR"/> 
     
    191351  </xs:simpleType> 
    192352   
     353  <xs:complexType name="roleParamType"> 
     354    <xs:complexContent mixed="false"> 
     355      <xs:extension base="xcal:BaseParameterType"> 
     356        <xs:sequence> 
     357          <xs:element name="text" type="xcal:roleValueType"/> 
     358        </xs:sequence> 
     359      </xs:extension> 
     360    </xs:complexContent> 
     361  </xs:complexType> 
     362   
    193363  <!-- 3.2.17 RSVP Expectation --> 
    194   <xs:simpleType name="rsvpParamType"> 
     364  <xs:simpleType name="rsvpValueType"> 
    195365    <xs:restriction base="xs:token"> 
    196366      <xs:enumeration value="TRUE"/> 
     
    199369  </xs:simpleType> 
    200370   
     371  <xs:complexType name="rsvpParamType"> 
     372    <xs:complexContent mixed="false"> 
     373      <xs:extension base="xcal:BaseParameterType"> 
     374        <xs:sequence> 
     375          <xs:element name="text" type="xcal:rsvpValueType"/> 
     376        </xs:sequence> 
     377      </xs:extension> 
     378    </xs:complexContent> 
     379  </xs:complexType> 
     380   
    201381  <!-- 3.2.18 Sent By --> 
    202382  <xs:complexType name="sent-byParamType"> 
    203     <xs:sequence> 
    204       <xs:element ref="xcal:cal-address"/> 
    205     </xs:sequence> 
     383    <xs:complexContent mixed="false"> 
     384      <xs:extension base="xcal:CalAddressParamType"> 
     385      </xs:extension> 
     386    </xs:complexContent> 
    206387  </xs:complexType> 
    207388   
    208389  <!-- 3.2.19 Time Zone Identifier --> 
    209   <xs:simpleType name="tzidParamType"> 
    210     <xs:restriction base="xs:string"/> 
    211   </xs:simpleType> 
     390  <xs:complexType name="tzidParamType"> 
     391    <xs:complexContent mixed="false"> 
     392      <xs:extension base="xcal:TextParameterType"/> 
     393    </xs:complexContent> 
     394  </xs:complexType> 
     395   
     396  <!-- Scheduling parameters - Defined by CalDAV scheduling --> 
     397   
     398  <xs:simpleType name="schedule-agentValueType"> 
     399    <xs:restriction base="xs:token"> 
     400      <xs:enumeration value="SERVER"/> 
     401      <xs:enumeration value="CLIENT"/> 
     402      <xs:enumeration value="NONE"/> 
     403    </xs:restriction> 
     404  </xs:simpleType> 
     405   
     406  <xs:complexType name="schedule-agentParamType"> 
     407    <xs:complexContent mixed="false"> 
     408      <xs:extension base="xcal:BaseParameterType"> 
     409        <xs:sequence> 
     410          <xs:element name="text" type="xcal:schedule-agentValueType"/> 
     411        </xs:sequence> 
     412      </xs:extension> 
     413    </xs:complexContent> 
     414  </xs:complexType> 
     415   
     416  <xs:simpleType name="schedule-force-sendValueType"> 
     417    <xs:restriction base="xs:token"> 
     418      <xs:enumeration value="REQUEST"/> 
     419      <xs:enumeration value="REPLY"/> 
     420    </xs:restriction> 
     421  </xs:simpleType> 
     422   
     423  <xs:complexType name="schedule-force-sendParamType"> 
     424    <xs:complexContent mixed="false"> 
     425      <xs:extension base="xcal:BaseParameterType"> 
     426        <xs:sequence> 
     427          <xs:element name="text" type="xcal:schedule-force-sendValueType"/> 
     428        </xs:sequence> 
     429      </xs:extension> 
     430    </xs:complexContent> 
     431  </xs:complexType> 
     432   
     433  <xs:complexType name="schedule-statusParamType"> 
     434    <xs:complexContent mixed="false"> 
     435      <xs:extension base="xcal:TextParameterType"/> 
     436    </xs:complexContent> 
     437  </xs:complexType> 
     438   
     439  <!-- Bedework x-parameters --> 
     440   
     441  <xs:complexType name="x-bedework-uidParamType"> 
     442    <xs:complexContent mixed="false"> 
     443      <xs:extension base="xcal:TextParameterType"/> 
     444    </xs:complexContent> 
     445  </xs:complexType> 
    212446</xs:schema> 
  • trunk/resources/exsynchwsdefs/iCalendar-props.xsd

    r3055 r3103  
    1818  <xs:include schemaLocation="iCalendar-ms-extensions.xsd" /> 
    1919 
     20  <!-- ===================================================================== 
     21        BasePropertyType  
     22        All properties are based off this type which defines a property as  
     23        nothing more than a list of parameters.  
     24         
     25        We make no attempt to define valid parameters for each property as this 
     26        would complicate the schema significantly. Consumers can ignore  
     27        property parameters they do not understand or expect.  
     28       ===================================================================== -->   
     29  <xs:complexType name="BasePropertyType" abstract="true" > 
     30    <xs:sequence> 
     31      <xs:element name="parameters" type="xcal:ArrayOfParameters"/> 
     32    </xs:sequence> 
     33  </xs:complexType> 
     34 
     35  <xs:element name="base-property" type="xcal:BasePropertyType" /> 
     36 
    2037  <xs:complexType name="ArrayOfProperties"> 
    2138    <xs:sequence> 
     
    2441  </xs:complexType> 
    2542   
    26   <xs:element name="base-property" type="xcal:BasePropertyType" /> 
    27    
     43  <!-- ===================================================================== 
     44       Define all the standard properties. By using a substitutionGroup we 
     45       make it easy to extend the list of properties. As an example see  
     46       the properties defined in iCalendar-ms-extensions.xsd 
     47       ===================================================================== -->   
    2848  <xs:element name="calscale" type="xcal:calscalePropType" 
    2949              substitutionGroup="xcal:base-property" /> 
     
    7292  <xs:element name="transp" type="xcal:transpPropType" 
    7393              substitutionGroup="xcal:base-property" /> 
     94  <!-- Comment out tzid for the moment. It has the same name as the parameter 
     95       and this is causing me some issues 
    7496  <xs:element name="tzid" type="xcal:tzidPropType" 
    75               substitutionGroup="xcal:base-property" /> 
     97              substitutionGroup="xcal:base-property" /> --> 
    7698  <xs:element name="tzname" type="xcal:tznamePropType" 
    7799              substitutionGroup="xcal:base-property" /> 
     
    116138  <xs:element name="last-modified" type="xcal:last-modifiedPropType" 
    117139              substitutionGroup="xcal:base-property" /> 
    118   <xs:element name="sequence" type="xcal:request-statusPropType" 
     140  <xs:element name="sequence" type="xcal:sequencePropType" 
    119141              substitutionGroup="xcal:base-property" /> 
    120142  <xs:element name="request-status" type="xcal:request-statusPropType" 
    121143              substitutionGroup="xcal:base-property" /> 
    122  
    123   <xs:complexType name="BasePropertyType" abstract="true" > 
    124     <xs:sequence> 
    125       <xs:element name="parameters" type="xcal:ArrayOfParameters"/> 
    126     </xs:sequence> 
    127   </xs:complexType> 
    128144 
    129145  <!-- Properties that take a simple text value --> 
     
    198214        <xs:sequence> 
    199215          <xs:element ref="xcal:date-time"/> 
     216        </xs:sequence> 
     217      </xs:extension> 
     218    </xs:complexContent> 
     219  </xs:complexType> 
     220 
     221  <!-- Properties that take a utc-date-time value --> 
     222  <xs:complexType name="UtcDatetimePropertyType" > 
     223    <xs:complexContent mixed="false"> 
     224      <xs:extension base="xcal:BasePropertyType"> 
     225        <xs:sequence> 
     226          <xs:element ref="xcal:utc-date-time"/> 
    200227        </xs:sequence> 
    201228      </xs:extension> 
     
    406433  <xs:complexType name="completedPropType"> 
    407434    <xs:complexContent mixed="false"> 
    408       <xs:extension base="xcal:DateDatetimePropertyType"/> 
     435      <xs:extension base="xcal:UtcDatetimePropertyType"/> 
    409436    </xs:complexContent> 
    410437  </xs:complexType> 
     
    655682  <xs:complexType name="createdPropType"> 
    656683    <xs:complexContent mixed="false"> 
    657       <xs:extension base="xcal:DatetimePropertyType"/> 
     684      <xs:extension base="xcal:UtcDatetimePropertyType"/> 
    658685    </xs:complexContent> 
    659686  </xs:complexType> 
     
    662689  <xs:complexType name="dtstampPropType"> 
    663690    <xs:complexContent mixed="false"> 
    664       <xs:extension base="xcal:DatetimePropertyType"/> 
     691      <xs:extension base="xcal:UtcDatetimePropertyType"/> 
    665692    </xs:complexContent> 
    666693  </xs:complexType> 
     
    669696  <xs:complexType name="last-modifiedPropType"> 
    670697    <xs:complexContent mixed="false"> 
    671       <xs:extension base="xcal:DatetimePropertyType"/> 
     698      <xs:extension base="xcal:UtcDatetimePropertyType"/> 
    672699    </xs:complexContent> 
    673700  </xs:complexType> 
  • trunk/resources/exsynchwsdefs/iCalendar-valtypes.xsd

    r3063 r3103  
    3636        <!-- 3.3.5 DATE-TIME --> 
    3737        <xs:element name="date-time" type="xs:string"/> 
     38   
     39  <!-- Patterns should allow us to restrict this  
     40     e.g.     19980119T070000Z 
     41  --> 
     42  <xs:element name="utc-date-time" type="xs:string"/> 
    3843   
    3944        <!-- 3.3.6 DURATION