Changeset 3115

Show
Ignore:
Timestamp:
01/09/11 22:42:04
Author:
douglm
Message:

More build changes.

Complete copy of changes to 3.7

Reorganize access sub-project to use new build method. Also caldav,

Use bedework libcache for all projects.

Bring web service changes in line for 3.7 and trunk

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • releases/bedework-3.7/build/buildTools/buildjar.xml

    r3107 r3115  
    7171 
    7272    <noisyMsg message="build.jar.file=${build.jar.file}" /> 
     73     
     74    <if> 
     75      <isset property="build.jar.dependency"/> 
     76      <then> 
     77        <dirname file="${build.jar.dependency}" 
     78                 property="dependency.dirname" /> 
     79        <basename file="${build.jar.dependency}" 
     80                  property="dependency.basename" /> 
     81        <fileset dir="${dependency.dirname}" id="dependency.fileset"> 
     82          <include name="${dependency.basename}"/> 
     83        </fileset> 
     84      </then> 
     85      <else> 
     86        <fileset refid="empty.fileset" id="dependency.fileset"/> 
     87      </else> 
     88    </if>       
    7389 
    7490    <uptodate property="build.jar.uptodate" 
     
    7793      <srcfiles refid="buildjar.generated.java.sources" /> 
    7894      <srcfiles refid="buildjar.resource.files"/> 
     95      <srcfiles refid="dependency.fileset"/> 
    7996    </uptodate> 
    8097 
  • releases/bedework-3.7/build/buildTools/deftasks.xml

    r3107 r3115  
    6161 
    6262      <property name="org.bedework.libcache.dir" 
    63                 location="${project.home}/libcache"/> 
     63                location="${bedework.home}/libcache"/> 
    6464       
    6565      <if> 
     
    9090    <attribute name="module-base"/> 
    9191    <attribute name="jar-file"/> 
     92    <attribute name="jar-dependency" default=""/> 
    9293    <attribute name="generated-sources" default=""/> 
    9394    <attribute name="property-resources" default=""/> 
     
    125126        <include name="**/*.class"/> 
    126127      </patternset> 
     128 
     129      <if> 
     130        <not> 
     131          <equals arg1="@{jar-dependency}" arg2="" /> 
     132        </not> 
     133        <then> 
     134          <property name="build.jar.dependency" value="@{jar-dependency}" /> 
     135        </then> 
     136      </if> 
    127137 
    128138      <ant antfile="${buildjar}" inheritRefs="true" target="build" > 
  • releases/bedework-3.7/build/buildTools/wsimport.xml

    r3107 r3115  
    2424  <macrodef name="wsimport"> 
    2525    <attribute name="wsdl"/> 
    26     <attribute name="sourcedestdir"/> 
     26    <attribute name="module-base"/> 
     27    <attribute name="jar-file"/> 
    2728    <attribute name="bindingsdir" default="" /> 
    2829    <sequential> 
    2930      <taskdef resource="net/sf/antcontrib/antcontrib.properties" /> 
    30    
    31       <!-- 
    32       <getJar name="jaxws-tools" version="2.2" />  
    33       <getJar name="jaxb-xjc" version="2.2" />  
    34       <getJar name="jaxws-rt" version="2.2" />  
    35       --> 
    36       <property name="wsimport.lib"  
    37                 location="${org.bedework.temp.dir}/wsimportlib" /> 
    38       <delete dir="${wsimport.lib}" /> 
    39       <mkdir dir="${wsimport.lib}" /> 
    4031       
    41       <getJar lib="${wsimport.lib}" 
    42               libcache="${org.bedework.libcache.dir}" 
    43               name="jaxws-tools" version="2.1.4" />  
    44       <getJar lib="${wsimport.lib}" 
    45               libcache="${org.bedework.libcache.dir}" 
    46               name="jaxb-xjc" version="2.1.7" />  
    47       <getJar lib="${wsimport.lib}" 
    48               libcache="${org.bedework.libcache.dir}" 
    49               name="jaxb-impl" version="2.1.8" />  
    50       <getJar lib="${wsimport.lib}" 
    51               libcache="${org.bedework.libcache.dir}" 
    52               name="jaxws-rt" version="2.1.4" />  
    53       <getJar lib="${wsimport.lib}" 
    54               libcache="${org.bedework.libcache.dir}" 
    55               name="streambuffer" version="1.0" />  
    56       <getJar lib="${wsimport.lib}" 
    57               libcache="${org.bedework.libcache.dir}" 
    58               name="stax-ex" version="2.2.1" />  
    59    
    60       <path id="wsimport.classpath"> 
    61         <fileset dir="${ant.home}/lib"> 
    62           <include name="jax*.jar"/> 
    63         </fileset> 
    64         <!-- 
    65         <pathelement location="${wsimport.lib}/jaxws-tools-2.2.jar"/> 
    66         <pathelement location="${wsimport.lib}/jaxb-xjc-2.2.jar"/> 
    67         <pathelement location="${wsimport.lib}/jaxws-rt-2.2.jar"/> 
    68         --> 
    69         <pathelement location="${wsimport.lib}/jaxws-tools-2.1.4.jar"/> 
    70         <pathelement location="${wsimport.lib}/jaxb-xjc-2.1.7.jar"/> 
    71         <pathelement location="${wsimport.lib}/jaxb-impl-2.1.8.jar"/> 
    72         <pathelement location="${wsimport.lib}/jaxws-rt-2.1.4.jar"/> 
    73         <pathelement location="${wsimport.lib}/tools-1.6.0_21.jar" /> 
    74         <pathelement location="${wsimport.lib}/streambuffer-1.0.jar" /> 
    75         <pathelement location="${wsimport.lib}/stax-ex-2.2.1.jar" /> 
    76         <fileset dir="${ant.home}/lib"> 
    77           <include name="**/*.jar"/> 
    78         </fileset> 
    79         <!-- 
    80         <fileset dir="${org.bedework.appserver.dir}/lib/endorsed" > 
    81           <include name="**/*.jar"/> 
    82         </fileset> 
    83         --> 
    84       </path> 
     32      <property name="sourcedestdir" location="@{module-base}/src" /> 
     33 
    8534       
    86       <debugCpid idpar="wsimport.classpath" /> 
    87    
    88       <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport"> 
    89         <classpath refid="wsimport.classpath" /> 
    90       </taskdef> 
    91        
    92       <!-- We don't want the generated classes but there doesn't appear to be a 
    93            way to suppress generation --> 
    94       <property name="wsimport.dest"  
    95                 location="${org.bedework.temp.dir}/wsclasses" /> 
    96       <mkdir dir="${wsimport.dest}" /> 
     35      <dirname property="org.bedework.wsdl.dir" file="@{wsdl}"/> 
    9736 
    9837      <if> 
    99         <equals arg1="@{bindingsdir}" arg2="" /> 
     38        <available file="${sourcedestdir}" type="dir" /> 
    10039        <then> 
    101           <wsimport keep="true" 
    102                     sourcedestdir="@{sourcedestdir}" 
    103                     destdir="${wsimport.dest}" 
    104                     wsdl="@{wsdl}"  
    105                     xendorsed="true" > 
    106           </wsimport> 
     40          <uptodate property="org.bedework.wsimport.uptodate" 
     41                    targetfile="@{jar-file}" > 
     42            <srcfiles dir="${org.bedework.wsdl.dir}" /> 
     43          </uptodate> 
     44        </then> 
     45      </if> 
     46 
     47      <if> 
     48        <isset property="org.bedework.wsimport.uptodate"/> 
     49        <then> 
     50          <noisyMsg message="**** @{jar.file} is up to date" /> 
    10751        </then> 
    10852        <else> 
    109           <wsimport keep="true" 
    110                     sourcedestdir="@{sourcedestdir}" 
    111                     destdir="${wsimport.dest}" 
    112                     wsdl="@{wsdl}"  
    113                     xendorsed="true" > 
    114             <binding dir="@{bindingsdir}" includes="*.xml"> 
    115             </binding> 
    116           </wsimport> 
     53          <noisyMsg message="**** @{jar.file} needs rebuilding" /> 
     54 
     55          <delete dir="${sourcedestdir}" /> 
     56          <mkdir dir="${sourcedestdir}" /> 
     57       
     58          <!-- 
     59          <getJar name="jaxws-tools" version="2.2" />  
     60          <getJar name="jaxb-xjc" version="2.2" />  
     61          <getJar name="jaxws-rt" version="2.2" />  
     62          --> 
     63          <property name="wsimport.lib"  
     64                    location="${org.bedework.temp.dir}/wsimportlib" /> 
     65          <delete dir="${wsimport.lib}" /> 
     66          <mkdir dir="${wsimport.lib}" /> 
     67           
     68          <getJar lib="${wsimport.lib}" 
     69                  libcache="${org.bedework.libcache.dir}" 
     70                  name="jaxws-tools" version="2.1.4" />  
     71          <getJar lib="${wsimport.lib}" 
     72                  libcache="${org.bedework.libcache.dir}" 
     73                  name="jaxb-xjc" version="2.1.7" />  
     74          <getJar lib="${wsimport.lib}" 
     75                  libcache="${org.bedework.libcache.dir}" 
     76                  name="jaxb-impl" version="2.1.8" />  
     77          <getJar lib="${wsimport.lib}" 
     78                  libcache="${org.bedework.libcache.dir}" 
     79                  name="jaxws-rt" version="2.1.4" />  
     80          <getJar lib="${wsimport.lib}" 
     81                  libcache="${org.bedework.libcache.dir}" 
     82                  name="streambuffer" version="1.0" />  
     83          <getJar lib="${wsimport.lib}" 
     84                  libcache="${org.bedework.libcache.dir}" 
     85                  name="stax-ex" version="2.2.1" />  
     86       
     87          <path id="wsimport.classpath"> 
     88            <fileset dir="${ant.home}/lib"> 
     89              <include name="jax*.jar"/> 
     90            </fileset> 
     91            <!-- 
     92            <pathelement location="${wsimport.lib}/jaxws-tools-2.2.jar"/> 
     93            <pathelement location="${wsimport.lib}/jaxb-xjc-2.2.jar"/> 
     94            <pathelement location="${wsimport.lib}/jaxws-rt-2.2.jar"/> 
     95            --> 
     96            <pathelement location="${wsimport.lib}/jaxws-tools-2.1.4.jar"/> 
     97            <pathelement location="${wsimport.lib}/jaxb-xjc-2.1.7.jar"/> 
     98            <pathelement location="${wsimport.lib}/jaxb-impl-2.1.8.jar"/> 
     99            <pathelement location="${wsimport.lib}/jaxws-rt-2.1.4.jar"/> 
     100            <pathelement location="${wsimport.lib}/tools-1.6.0_21.jar" /> 
     101            <pathelement location="${wsimport.lib}/streambuffer-1.0.jar" /> 
     102            <pathelement location="${wsimport.lib}/stax-ex-2.2.1.jar" /> 
     103            <fileset dir="${ant.home}/lib"> 
     104              <include name="**/*.jar"/> 
     105            </fileset> 
     106            <!-- 
     107            <fileset dir="${org.bedework.appserver.dir}/lib/endorsed" > 
     108              <include name="**/*.jar"/> 
     109            </fileset> 
     110            --> 
     111          </path> 
     112           
     113          <debugCpid idpar="wsimport.classpath" /> 
     114       
     115          <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport"> 
     116            <classpath refid="wsimport.classpath" /> 
     117          </taskdef> 
     118           
     119          <!-- We don't want the generated classes but there doesn't appear to be a 
     120               way to suppress generation --> 
     121          <property name="wsimport.dest"  
     122                    location="${org.bedework.temp.dir}/wsclasses" /> 
     123          <mkdir dir="${wsimport.dest}" /> 
     124     
     125          <if> 
     126            <equals arg1="@{bindingsdir}" arg2="" /> 
     127            <then> 
     128              <wsimport keep="true" 
     129                        sourcedestdir="${sourcedestdir}" 
     130                        destdir="${wsimport.dest}" 
     131                        wsdl="@{wsdl}"  
     132                        xendorsed="true" > 
     133              </wsimport> 
     134            </then> 
     135            <else> 
     136              <wsimport keep="true" 
     137                        sourcedestdir="${sourcedestdir}" 
     138                        destdir="${wsimport.dest}" 
     139                        wsdl="@{wsdl}"  
     140                        xendorsed="true" > 
     141                <binding dir="@{bindingsdir}" includes="*.xml"> 
     142                </binding> 
     143              </wsimport> 
     144            </else> 
     145          </if> 
     146           
     147 
     148          <build-jar module-base="@{module-base}"  
     149                     jar-file="@{jar-file}" /> 
    117150        </else> 
    118151      </if> 
  • releases/bedework-3.7/build/quickstart/windows/bw.bat

    r3099 r3115  
    2828SET offline= 
    2929SET quickstart= 
     30 
     31SET ant_listener= 
     32SET ant_xmllogfile= 
     33SET ant_logger= 
     34 
     35SET ant_loglevel="-quiet" 
     36SET bw_loglevel="" 
    3037 
    3138:: Projects we will build 
     
    7279   
    7380 
     81:: ----------------------- Log level        
     82 
     83:log-silent 
     84  SET ant_loglevel="-quiet" 
     85  SET bw_loglevel="-Dorg.bedework.build.silent=true" 
     86  SHIFT 
     87  GOTO branch 
     88 
     89:log-quiet 
     90  SET ant_loglevel="-quiet" 
     91  SET bw_loglevel="" 
     92  SHIFT 
     93  GOTO branch 
     94 
     95:log-inform 
     96  SET ant_loglevel="" 
     97  SET bw_loglevel="-Dorg.bedework.build.inform=true" 
     98  SHIFT 
     99  GOTO branch 
     100 
     101:log-verbose 
     102  SET ant_loglevel="-verbose" 
     103  SET bw_loglevel="-Dorg.bedework.build.inform=true -Dorg.bedework.build.noisy=true" 
     104  SHIFT 
     105  GOTO branch 
     106 
     107:ant-debug 
     108  SET ant_loglevel="-debug" 
     109  SHIFT 
     110  GOTO branch 
     111 
     112:build-debug 
     113  SET bw_loglevel="-Dorg.bedework.build.inform=true -Dorg.bedework.build.noisy=true -Dorg.bedework.build.debug=true " 
     114  SHIFT 
     115  GOTO branch 
     116       
    74117:: PROJECTS 
    75118 
     
    213256IF "%1" == "-reindex" GOTO reindex 
    214257IF "%1" == "-zoneinfo" GOTO zoneinfo 
     258 
     259IF "%1" == "-log-silent" GOTO log-silent 
     260IF "%1" == "-log-quiet" GOTO log-quiet 
     261IF "%1" == "-log-inform" GOTO log-inform 
     262IF "%1" == "-log-verbose" GOTO log-verbose 
     263IF "%1" == "-ant-debug" GOTO ant-debug 
     264IF "%1" == "-build-debug" GOTO build-debug 
     265 
    215266IF "%1" == "-carddav" GOTO carddav  
    216267IF "%1" == "-caldav" GOTO caldav 
  • releases/bedework-3.7/resources/exsynchwsdefs/iCalendar-bw-extensions.xsd

    r3055 r3115  
    66           elementFormDefault="qualified"> 
    77 
     8  <xs:include schemaLocation="iCalendar-valtypes.xsd" /> 
     9             
     10  <!-- ===================== Properties =================================  --> 
     11  <xs:include schemaLocation="iCalendar-props.xsd" /> 
     12           
     13  <!-- ===================================================================== 
     14       3.2 Property parameter definitions 
     15       ===================================================================== --> 
     16   
     17  <!-- Bedework x-parameters --> 
     18  <xs:element name="x-bedework-uid" type="xcal:XBedeworkUidParamType"  
     19              substitutionGroup="xcal:baseParameter" /> 
     20               
     21  <xs:complexType name="XBedeworkUidParamType"> 
     22    <xs:complexContent mixed="false"> 
     23      <xs:extension base="xcal:TextParameterType"/> 
     24    </xs:complexContent> 
     25  </xs:complexType> 
     26 
    827  <!-- ===================================================================== 
    928       3.7 Calendar Properties 
    1029       ===================================================================== -->   
    11              
    12   <!-- ===================== Properties =================================  --> 
    13   <xs:include schemaLocation="iCalendar-props.xsd" /> 
     30 
     31  <xs:element name="x-bedework-cost"  
     32              type="xcal:XBedeworkCostPropType" 
     33              substitutionGroup="xcal:baseProperty" /> 
    1434 
    1535  <xs:element name="x-bedework-exsynch-endtzid"  
    16               type="xcal:x-bw-exsynch-endtzidPropType" 
    17               substitutionGroup="xcal:base-property" /> 
     36              type="xcal:XBedeworkExsynchEndtzidPropType" 
     37              substitutionGroup="xcal:baseProperty" /> 
    1838 
    1939  <xs:element name="x-bedework-exsynch-lastmod"  
    20               type="xcal:x-bw-exsynch-lastmodPropType" 
    21               substitutionGroup="xcal:base-property" /> 
     40              type="xcal:XBedeworkExsynchLastmodPropType" 
     41              substitutionGroup="xcal:baseProperty" /> 
    2242 
    2343  <xs:element name="x-bedework-exsynch-organizer"  
    24               type="xcal:organizerPropType" 
    25               substitutionGroup="xcal:base-property" /> 
     44              type="xcal:OrganizerPropType" 
     45              substitutionGroup="xcal:baseProperty" /> 
    2646 
    2747  <xs:element name="x-bedework-exsynch-starttzid"  
    28               type="xcal:x-bw-exsynch-starttzidPropType" 
    29               substitutionGroup="xcal:base-property" /> 
     48              type="xcal:XBedeworkExsynchStarttzidPropType" 
     49              substitutionGroup="xcal:baseProperty" /> 
    3050   
    31   <xs:complexType name="x-bw-exsynch-endtzidPropType"> 
     51  <xs:complexType name="XBedeworkCostPropType"> 
    3252    <xs:complexContent mixed="false"> 
    3353      <xs:extension base="xcal:TextPropertyType"/> 
     
    3555  </xs:complexType> 
    3656   
    37   <xs:complexType name="x-bw-exsynch-lastmodPropType"> 
     57  <xs:complexType name="XBedeworkExsynchEndtzidPropType"> 
    3858    <xs:complexContent mixed="false"> 
    3959      <xs:extension base="xcal:TextPropertyType"/> 
     
    4161  </xs:complexType> 
    4262   
    43   <xs:complexType name="x-bw-exsynch-starttzidPropType"> 
     63  <xs:complexType name="XBedeworkExsynchLastmodPropType"> 
     64    <xs:complexContent mixed="false"> 
     65      <xs:extension base="xcal:TextPropertyType"/> 
     66    </xs:complexContent> 
     67  </xs:complexType> 
     68   
     69  <xs:complexType name="XBedeworkExsynchStarttzidPropType"> 
    4470    <xs:complexContent mixed="false"> 
    4571      <xs:extension base="xcal:TextPropertyType"/> 
  • releases/bedework-3.7/resources/exsynchwsdefs/iCalendar-ms-extensions.xsd

    r3055 r3115  
    1414 
    1515  <xs:element name="x-microsoft-cdo-busystatus"  
    16               type="xcal:x-ms-cdo-busystatusPropType" 
    17               substitutionGroup="xcal:base-property" /> 
     16              type="xcal:XMicrosoftCdoBusystatusPropType" 
     17              substitutionGroup="xcal:baseProperty" /> 
    1818 
    1919  <xs:element name="x-microsoft-cdo-intendedstatus"  
    20               type="xcal:x-ms-cdo-intendedstatusPropType" 
    21               substitutionGroup="xcal:base-property" /> 
     20              type="xcal:XMicrosoftCdoIntendedstatusPropType" 
     21              substitutionGroup="xcal:baseProperty" /> 
    2222   
    23   <xs:complexType name="x-ms-cdo-busystatusPropType"> 
     23  <xs:complexType name="XMicrosoftCdoBusystatusPropType"> 
    2424    <xs:complexContent mixed="false"> 
    2525      <xs:extension base="xcal:TextPropertyType"/> 
     
    2727  </xs:complexType> 
    2828   
    29   <xs:complexType name="x-ms-cdo-intendedstatusPropType"> 
     29  <xs:complexType name="XMicrosoftCdoIntendedstatusPropType"> 
    3030    <xs:complexContent mixed="false"> 
    3131      <xs:extension base="xcal:TextPropertyType"/> 
  • releases/bedework-3.7/resources/exsynchwsdefs/iCalendar-params.xsd

    r3046 r3115  
    1212       3.2 Property parameter definitions 
    1313       ===================================================================== --> 
    14         
     14 
     15  <xs:complexType name="BaseParameterType" abstract="true" > 
     16  </xs:complexType> 
     17 
     18  <xs:element name="baseParameter" 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:baseParameter" 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:baseParameter" /> 
     34  <xs:element name="cn" type="xcal:CnParamType" 
     35              substitutionGroup="xcal:baseParameter" /> 
     36  <xs:element name="cutype" type="xcal:CutypeParamType" 
     37              substitutionGroup="xcal:baseParameter" /> 
     38  <xs:element name="delegated-from" type="xcal:DelegatedFromParamType" 
     39              substitutionGroup="xcal:baseParameter" /> 
     40  <xs:element name="delegated-to" type="xcal:DelegatedToParamType" 
     41              substitutionGroup="xcal:baseParameter" /> 
     42  <xs:element name="dir" type="xcal:DirParamType" 
     43              substitutionGroup="xcal:baseParameter" /> 
     44  <xs:element name="encoding" type="xcal:EncodingParamType" 
     45              substitutionGroup="xcal:baseParameter" /> 
     46  <xs:element name="fmttype" type="xcal:FmttypeParamType" 
     47              substitutionGroup="xcal:baseParameter" /> 
     48  <xs:element name="fbtype" type="xcal:FbtypeParamType" 
     49              substitutionGroup="xcal:baseParameter" /> 
     50  <xs:element name="language" type="xcal:LanguageParamType" 
     51              substitutionGroup="xcal:baseParameter" /> 
     52  <xs:element name="member" type="xcal:MemberParamType" 
     53              substitutionGroup="xcal:baseParameter" /> 
     54  <xs:element name="partstat" type="xcal:PartstatParamType" 
     55              substitutionGroup="xcal:baseParameter" /> 
     56  <xs:element name="range" type="xcal:RangeParamType" 
     57              substitutionGroup="xcal:baseParameter" /> 
     58  <xs:element name="related" type="xcal:RelatedParamType" 
     59              substitutionGroup="xcal:baseParameter" /> 
     60  <xs:element name="reltype" type="xcal:ReltypeParamType" 
     61              substitutionGroup="xcal:baseParameter" /> 
     62  <xs:element name="role" type="xcal:RoleParamType" 
     63              substitutionGroup="xcal:baseParameter" /> 
     64  <xs:element name="rsvp" type="xcal:RsvpParamType" 
     65              substitutionGroup="xcal:baseParameter" /> 
     66  <xs:element name="sent-by" type="xcal:SentByParamType" 
     67              substitutionGroup="xcal:baseParameter" /> 
     68  <xs:element name="tzid" type="xcal:TzidParamType" 
     69              substitutionGroup="xcal:baseParameter" /> 
     70               
     71   
     72  <!-- Scheduling parameters for attendee or organizer --> 
     73  <xs:element name="schedule-agent" type="xcal:ScheduleAgentParamType" 
     74              substitutionGroup="xcal:baseParameter" /> 
     75  <xs:element name="schedule-force-send" type="xcal:ScheduleForceSendParamType" 
     76              substitutionGroup="xcal:baseParameter" /> 
     77  <xs:element name="schedule-status" type="xcal:ScheduleStatusParamType" 
     78              substitutionGroup="xcal:baseParameter" /> 
     79   
     80  <!-- Parameters that take a simple text value --> 
     81  <xs:complexType name="TextParameterType" > 
     82    <xs:complexContent mixed="false"> 
     83      <xs:extension base="xcal:BaseParameterType"> 
     84        <xs:sequence>  
     85          <xs:element ref="xcal:text" /> 
     86        </xs:sequence> 
     87      </xs:extension> 
     88    </xs:complexContent> 
     89  </xs:complexType> 
     90   
     91  <!-- Parameters that take a uri value --> 
     92  <xs:complexType name="UriParameterType" > 
     93    <xs:complexContent mixed="false"> 
     94      <xs:extension base="xcal:BaseParameterType"> 
     95        <xs:sequence> 
     96          <xs:element ref="xcal:uri"/> 
     97        </xs:sequence> 
     98      </xs:extension> 
     99    </xs:complexContent> 
     100  </xs:complexType> 
     101   
     102  <xs:complexType name="CalAddressListParamType"> 
     103    <xs:complexContent mixed="false"> 
     104      <xs:extension base="xcal:BaseParameterType"> 
     105        <xs:sequence> 
     106          <xs:element ref="xcal:cal-address" maxOccurs="unbounded"/> 
     107        </xs:sequence> 
     108      </xs:extension> 
     109    </xs:complexContent> 
     110  </xs:complexType> 
     111   
     112  <xs:complexType name="CalAddressParamType"> 
     113    <xs:complexContent mixed="false"> 
     114      <xs:extension base="xcal:BaseParameterType"> 
     115        <xs:sequence> 
     116          <xs:element ref="xcal:cal-address" /> 
     117        </xs:sequence> 
     118      </xs:extension> 
     119    </xs:complexContent> 
    43120  </xs:complexType> 
    44121  
    45122  <!-- 3.2.1 Alternate Text Representation --> 
    46   <xs:complexType name="altrepParamType"> 
    47     <xs:sequence
    48       <xs:element ref="xcal:uri"/> 
    49     </xs:sequence
     123  <xs:complexType name="AltrepParamType"> 
     124    <xs:complexContent mixed="false"
     125      <xs:extension base="xcal:UriParameterType"/> 
     126    </xs:complexContent
    50127  </xs:complexType> 
    51128   
    52129  <!-- 3.2.2 Common Name --> 
    53   <xs:simpleType name="cnParamType"> 
    54     <xs:restriction base="xs:string"/> 
    55   </xs:simpleType> 
     130  <xs:complexType name="CnParamType"> 
     131    <xs:complexContent mixed="false"> 
     132      <xs:extension base="xcal:TextParameterType"/> 
     133    </xs:complexContent> 
     134  </xs:complexType> 
    56135   
    57136  <!-- 3.2.3 Calendar User Type --> 
    58   <xs:simpleType name="cutypeParamType"> 
     137  <xs:simpleType name="CutypeValueType"> 
    59138    <xs:restriction base="xs:token"> 
    60139      <xs:enumeration value="INDIVIDUAL"/> 
     
    66145  </xs:simpleType> 
    67146   
     147  <xs:complexType name="CutypeParamType"> 
     148    <xs:complexContent mixed="false"> 
     149      <xs:extension base="xcal:TextParameterType"/> 
     150    </xs:complexContent> 
     151  </xs:complexType> 
     152   
    68153  <!-- 3.2.4 Delegators --> 
    69   <xs:complexType name="delegated-fromParamType"> 
    70     <xs:complexContent mixed="false"> 
    71       <xs:extension base="xcal:cal-addressListParamType"/> 
     154  <xs:complexType name="DelegatedFromParamType"> 
     155    <xs:complexContent mixed="false"> 
     156      <xs:extension base="xcal:CalAddressListParamType"> 
     157      </xs:extension> 
    72158    </xs:complexContent> 
    73159  </xs:complexType> 
    74160 
    75161  <!-- 3.2.5 Delegatees --> 
    76   <xs:complexType name="delegated-toParamType"> 
    77     <xs:complexContent mixed="false"> 
    78       <xs:extension base="xcal:cal-addressListParamType"/> 
     162  <xs:complexType name="DelegatedToParamType"> 
     163    <xs:complexContent mixed="false"> 
     164      <xs:extension base="xcal:CalAddressListParamType"> 
     165      </xs:extension> 
    79166    </xs:complexContent> 
    80167  </xs:complexType> 
    81168   
    82169  <!-- 3.2.6 Directory Entry Reference --> 
    83   <xs:complexType name="dirParamType"> 
    84     <xs:sequence
    85       <xs:element ref="xcal:uri"/> 
    86     </xs:sequence
     170  <xs:complexType name="DirParamType"> 
     171    <xs:complexContent mixed="false"
     172      <xs:extension base="xcal:UriParameterType"/> 
     173    </xs:complexContent
    87174  </xs:complexType> 
    88175   
    89176  <!-- 3.2.7 Inline Encoding --> 
    90   <xs:simpleType name="encodingParamType"> 
     177 
     178  <xs:simpleType name="EncodingValueType"> 
    91179    <xs:restriction base="xs:token"> 
    92180      <xs:enumeration value="8BIT"/> 
     
    95183  </xs:simpleType> 
    96184   
     185  <xs:complexType name="EncodingParamType"> 
     186    <xs:complexContent mixed="false"> 
     187      <xs:extension base="xcal:TextParameterType"/> 
     188    </xs:complexContent> 
     189  </xs:complexType> 
     190 
    97191  <!-- 3.2.8 Format Type --> 
    98   <xs:simpleType name="fmttypeParamType"> 
    99     <xs:restriction base="xs:string"/> 
    100   </xs:simpleType> 
     192  <xs:complexType name="FmttypeParamType"> 
     193    <xs:complexContent mixed="false"> 
     194      <xs:extension base="xcal:TextParameterType"/> 
     195    </xs:complexContent> 
     196  </xs:complexType> 
    101197   
    102198  <!-- 3.2.9 Free/Busy Time Type --> 
    103   <xs:simpleType name="fbtypeParamType"> 
     199  <xs:simpleType name="FbtypeValueType"> 
    104200    <xs:restriction base="xs:token"> 
    105201      <xs:enumeration value="FREE"/> 
     
    110206  </xs:simpleType> 
    111207   
     208  <xs:complexType name="FbtypeParamType"> 
     209    <xs:complexContent mixed="false"> 
     210      <xs:extension base="xcal:TextParameterType"/> 
     211    </xs:complexContent> 
     212  </xs:complexType> 
     213   
    112214  <!-- 3.2.10 Language --> 
    113   <xs:simpleType name="languageParamType"> 
    114     <xs:restriction base="xs:string"/> 
    115   </xs:simpleType> 
     215  <xs:complexType name="LanguageParamType"> 
     216    <xs:complexContent mixed="false"> 
     217      <xs:extension base="xcal:TextParameterType"/> 
     218    </xs:complexContent> 
     219  </xs:complexType> 
    116220   
    117221  <!-- 3.2.11 Group or List Membership --> 
    118   <xs:complexType name="memberParamType"> 
    119     <xs:complexContent mixed="false"> 
    120       <xs:extension base="xcal:cal-addressListParamType"/> 
     222  <xs:complexType name="MemberParamType"> 
     223    <xs:complexContent mixed="false"> 
     224      <xs:extension base="xcal:CalAddressListParamType"> 
     225      </xs:extension> 
    121226    </xs:complexContent> 
    122227  </xs:complexType> 
    123228   
    124229  <!-- 3.2.12 Participation Status --> 
    125   <xs:simpleType name="partstatParamType"> 
    126     <xs:union memberTypes="xcal:type-partstat-event xcal:type-partstat-todo xcal:type-partstat-jour"/> 
    127   </xs:simpleType> 
    128    
    129   <xs:simpleType name="type-partstat-event"> 
     230  <xs:simpleType name="PartstatValueType"> 
     231    <xs:union memberTypes="xcal:TypePartstatEvent xcal:TypePartstatTodo xcal:TypePartstatJour"/> 
     232  </xs:simpleType> 
     233   
     234  <xs:simpleType name="TypePartstatEvent"> 
    130235    <xs:restriction base="xs:token"> 
    131236      <xs:enumeration value="NEEDS-ACTION"/> 
     
    137242  </xs:simpleType> 
    138243   
    139   <xs:simpleType name="type-partstat-todo"> 
     244  <xs:simpleType name="TypePartstatTodo"> 
    140245    <xs:restriction base="xs:token"> 
    141246      <xs:enumeration value="NEEDS-ACTION"/> 
     
    149254  </xs:simpleType> 
    150255   
    151   <xs:simpleType name="type-partstat-jour"> 
     256  <xs:simpleType name="TypePartstatJour"> 
    152257    <xs:restriction base="xs:token"> 
    153258      <xs:enumeration value="NEEDS-ACTION"/> 
     
    157262  </xs:simpleType> 
    158263   
     264  <xs:complexType name="PartstatParamType"> 
     265    <xs:complexContent mixed="false"> 
     266      <xs:extension base="xcal:TextParameterType"/> 
     267    </xs:complexContent> 
     268  </xs:complexType> 
     269   
    159270  <!-- 3.2.13 Recurrence Identifier Range --> 
    160   <xs:simpleType name="rangeParamType"> 
     271  <xs:simpleType name="RangeValueType"> 
    161272    <xs:restriction base="xs:token"> 
    162273      <xs:enumeration value="THISANDFUTURE"/> 
     
    164275  </xs:simpleType> 
    165276   
     277  <xs:complexType name="RangeParamType"> 
     278    <xs:complexContent mixed="false"> 
     279      <xs:extension base="xcal:BaseParameterType"> 
     280        <xs:sequence> 
     281          <xs:element name="text" type="xcal:RangeValueType"/> 
     282        </xs:sequence> 
     283      </xs:extension> 
     284    </xs:complexContent> 
     285  </xs:complexType> 
     286   
    166287  <!-- 3.2.14 Alarm Trigger Relationship --> 
    167   <xs:simpleType name="relatedParamType"> 
     288  <xs:simpleType name="RelatedValueType"> 
    168289    <xs:restriction base="xs:token"> 
    169290      <xs:enumeration value="START"/> 
     
    172293  </xs:simpleType> 
    173294   
     295  <xs:complexType name="RelatedParamType"> 
     296    <xs:complexContent mixed="false"> 
     297      <xs:extension base="xcal:TextParameterType"/> 
     298    </xs:complexContent> 
     299  </xs:complexType> 
     300   
    174301  <!-- 3.2.15 Relationship Type --> 
    175   <xs:simpleType name="reltypeParamType"> 
     302  <xs:simpleType name="ReltypeValueType"> 
    176303    <xs:restriction base="xs:token"> 
    177304      <xs:enumeration value="PARENT"/> 
     
    181308  </xs:simpleType> 
    182309   
     310  <xs:complexType name="ReltypeParamType"> 
     311    <xs:complexContent mixed="false"> 
     312      <xs:extension base="xcal:TextParameterType"/> 
     313    </xs:complexContent> 
     314  </xs:complexType> 
     315   
    183316  <!-- 3.2.16 Participation Role --> 
    184   <xs:simpleType name="roleParamType"> 
     317  <xs:simpleType name="RoleValueType"> 
    185318    <xs:restriction base="xs:token"> 
    186319      <xs:enumeration value="CHAIR"/> 
     
    191324  </xs:simpleType> 
    192325   
     326  <xs:complexType name="RoleParamType"> 
     327    <xs:complexContent mixed="false"> 
     328      <xs:extension base="xcal:TextParameterType"/> 
     329    </xs:complexContent> 
     330  </xs:complexType> 
     331   
    193332  <!-- 3.2.17 RSVP Expectation --> 
    194   <xs:simpleType name="rsvpParamType"> 
     333  <xs:simpleType name="RsvpValueType"> 
    195334    <xs:restriction base="xs:token"> 
    196335      <xs:enumeration value="TRUE"/> 
     
    199338  </xs:simpleType> 
    200339   
     340  <xs:complexType name="RsvpParamType"> 
     341    <xs:complexContent mixed="false"> 
     342      <xs:extension base="xcal:TextParameterType"/> 
     343    </xs:complexContent> 
     344  </xs:complexType> 
     345   
    201346  <!-- 3.2.18 Sent By --> 
    202   <xs:complexType name="sent-byParamType"> 
    203     <xs:sequence> 
    204       <xs:element ref="xcal:cal-address"/> 
    205     </xs:sequence> 
     347  <xs:complexType name="SentByParamType"> 
     348    <xs:complexContent mixed="false"> 
     349      <xs:extension base="xcal:CalAddressParamType"> 
     350      </xs:extension> 
     351    </xs:complexContent> 
    206352  </xs:complexType> 
    207353   
    208354  <!-- 3.2.19 Time Zone Identifier --> 
    209   <xs:simpleType name="tzidParamType"> 
    210     <xs:restriction base="xs:string"/> 
    211   </xs:simpleType> 
     355  <xs:complexType name="TzidParamType"> 
     356    <xs:complexContent mixed="false"> 
     357      <xs:extension base="xcal:TextParameterType"/> 
     358    </xs:complexContent> 
     359  </xs:complexType> 
     360   
     361  <!-- Scheduling parameters - Defined by CalDAV scheduling --> 
     362   
     363  <xs:simpleType name="ScheduleAgentValueType"> 
     364    <xs:restriction base="xs:token"> 
     365      <xs:enumeration value="SERVER"/> 
     366      <xs:enumeration value="CLIENT"/> 
     367      <xs:enumeration value="NONE"/> 
     368    </xs:restriction> 
     369  </xs:simpleType> 
     370   
     371  <xs:complexType name="ScheduleAgentParamType"> 
     372    <xs:complexContent mixed="false"> 
     373      <xs:extension base="xcal:TextParameterType"/> 
     374    </xs:complexContent> 
     375  </xs:complexType> 
     376   
     377  <xs:simpleType name="ScheduleForceSendValueType"> 
     378    <xs:restriction base="xs:token"> 
     379      <xs:enumeration value="REQUEST"/> 
     380      <xs:enumeration value="REPLY"/> 
     381    </xs:restriction> 
     382  </xs:simpleType> 
     383   
     384  <xs:complexType name="ScheduleForceSendParamType"> 
     385    <xs:complexContent mixed="false"> 
     386      <xs:extension base="xcal:TextParameterType"/> 
     387    </xs:complexContent> 
     388  </xs:complexType> 
     389   
     390  <xs:complexType name="ScheduleStatusParamType"> 
     391    <xs:complexContent mixed="false"> 
     392      <xs:extension base="xcal:TextParameterType"/> 
     393    </xs:complexContent> 
     394  </xs:complexType> 
    212395</xs:schema> 
  • releases/bedework-3.7/resources/exsynchwsdefs/iCalendar-props.xsd

    r3055 r3115  
    1313  <!-- ===================== Parameters =================================  --> 
    1414  <xs:include schemaLocation="iCalendar-params.xsd" /> 
    15              
    16   <!-- ===================== Extensions =================================  --> 
    17   <xs:include schemaLocation="iCalendar-bw-extensions.xsd" /> 
    18   <xs:include schemaLocation="iCalendar-ms-extensions.xsd" /> 
    19  
    20   <xs:complexType name="ArrayOfProperties"> 
    21     <xs:sequence> 
    22       <xs:element ref="xcal:base-property" maxOccurs="unbounded"/> 
    23     </xs:sequence> 
    24   </xs:complexType> 
    25    
    26   <xs:element name="base-property" type="xcal:BasePropertyType" /> 
    27    
    28   <xs:element name="calscale" type="xcal:calscalePropType" 
    29               substitutionGroup="xcal:base-property" /> 
    30   <xs:element name="method" type="xcal:methodPropType" 
    31               substitutionGroup="xcal:base-property" /> 
    32   <xs:element name="prodid" type="xcal:prodidPropType" 
    33               substitutionGroup="xcal:base-property" /> 
    34   <xs:element name="version" type="xcal:versionPropType" 
    35               substitutionGroup="xcal:base-property" /> 
    36   <xs:element name="attach" type="xcal:attachPropType" 
    37               substitutionGroup="xcal:base-property" /> 
    38   <xs:element name="categories" type="xcal:categoriesPropType" 
    39               substitutionGroup="xcal:base-property" /> 
    40   <xs:element name="class" type="xcal:classPropType" 
    41               substitutionGroup="xcal:base-property" /> 
    42   <xs:element name="comment" type="xcal:commentPropType" 
    43               substitutionGroup="xcal:base-property" /> 
    44   <xs:element name="description" type="xcal:descriptionPropType" 
    45               substitutionGroup="xcal:base-property" /> 
    46   <xs:element name="geo" type="xcal:geoPropType" 
    47               substitutionGroup="xcal:base-property" /> 
    48   <xs:element name="location" type="xcal:locationPropType" 
    49               substitutionGroup="xcal:base-property" /> 
    50   <xs:element name="percent-complete" type="xcal:percent-completePropType" 
    51               substitutionGroup="xcal:base-property" /> 
    52   <xs:element name="priority" type="xcal:priorityPropType" 
    53               substitutionGroup="xcal:base-property" /> 
    54   <xs:element name="resources" type="xcal:resourcesPropType" 
    55               substitutionGroup="xcal:base-property" /> 
    56   <xs:element name="status" type="xcal:statusPropType" 
    57               substitutionGroup="xcal:base-property" /> 
    58   <xs:element name="summary" type="xcal:summaryPropType" 
    59               substitutionGroup="xcal:base-property" /> 
    60   <xs:element name="completed" type="xcal:completedPropType" 
    61               substitutionGroup="xcal:base-property" /> 
    62   <xs:element name="dtend" type="xcal:dtendPropType" 
    63               substitutionGroup="xcal:base-property" /> 
    64   <xs:element name="dtstart" type="xcal:dtstartPropType" 
    65               substitutionGroup="xcal:base-property" /> 
    66   <xs:element name="due" type="xcal:duePropType" 
    67               substitutionGroup="xcal:base-property" /> 
    68   <xs:element name="duration" type="xcal:durationPropType" 
    69               substitutionGroup="xcal:base-property" /> 
    70   <xs:element name="freebusy" type="xcal:freebusyPropType" 
    71               substitutionGroup="xcal:base-property" /> 
    72   <xs:element name="transp" type="xcal:transpPropType" 
    73               substitutionGroup="xcal:base-property" /> 
    74   <xs:element name="tzid" type="xcal:tzidPropType" 
    75               substitutionGroup="xcal:base-property" /> 
    76   <xs:element name="tzname" type="xcal:tznamePropType" 
    77               substitutionGroup="xcal:base-property" /> 
    78   <xs:element name="tzoffsetfrom" type="xcal:tzoffsetfromPropType" 
    79               substitutionGroup="xcal:base-property" /> 
    80   <xs:element name="tzoffsetto" type="xcal:tzoffsettoPropType" 
    81               substitutionGroup="xcal:base-property" /> 
    82   <xs:element name="tzurl" type="xcal:tzurlPropType" 
    83               substitutionGroup="xcal:base-property" /> 
    84   <xs:element name="attendee" type="xcal:attendeePropType" 
    85               substitutionGroup="xcal:base-property" /> 
    86   <xs:element name="contact" type="xcal:contactPropType" 
    87               substitutionGroup="xcal:base-property" /> 
    88   <xs:element name="organizer" type="xcal:organizerPropType" 
    89               substitutionGroup="xcal:base-property" /> 
    90   <xs:element name="recurrence-id" type="xcal:recurrence-idPropType" 
    91               substitutionGroup="xcal:base-property" /> 
    92   <xs:element name="url" type="xcal:urlPropType" 
    93               substitutionGroup="xcal:base-property" /> 
    94   <xs:element name="uid" type="xcal:uidPropType" 
    95               substitutionGroup="xcal:base-property" /> 
    96   <xs:element name="exdate" type="xcal:exdatePropType" 
    97               substitutionGroup="xcal:base-property" /> 
    98   <xs:element name="rdate" type="xcal:rdatePropType" 
    99               substitutionGroup="xcal:base-property" /> 
    100   <xs:element name="related-to" type="xcal:related-toPropType" 
    101               substitutionGroup="xcal:base-property" /> 
    102   <xs:element name="exrule" type="xcal:exrulePropType" 
    103               substitutionGroup="xcal:base-property" />  
    104   <xs:element name="rrule" type="xcal:rrulePropType" 
    105               substitutionGroup="xcal:base-property" />  
    106   <xs:element name="action" type="xcal:actionPropType" 
    107               substitutionGroup="xcal:base-property" /> 
    108   <xs:element name="repeat" type="xcal:repeatPropType" 
    109               substitutionGroup="xcal:base-property" /> 
    110   <xs:element name="trigger" type="xcal:triggerPropType" 
    111               substitutionGroup="xcal:base-property" /> 
    112   <xs:element name="created" type="xcal:createdPropType" 
    113               substitutionGroup="xcal:base-property" /> 
    114   <xs:element name="dtstamp" type="xcal:dtstampPropType" 
    115               substitutionGroup="xcal:base-property" /> 
    116   <xs:element name="last-modified" type="xcal:last-modifiedPropType" 
    117               substitutionGroup="xcal:base-property" /> 
    118   <xs:element name="sequence" type="xcal:request-statusPropType" 
    119               substitutionGroup="xcal:base-property" /> 
    120   <xs:element name="request-status" type="xcal:request-statusPropType" 
    121               substitutionGroup="xcal:base-property" /> 
    122  
     15 
     16  <!-- ===================================================================== 
     17        BasePropertyType  
     18        All properties are based off this type which defines a property as  
     19        nothing more than a list of parameters.  
     20         
     21        We make no attempt to define valid parameters for each property as this 
     22        would complicate the schema significantly. Consumers can ignore  
     23        property parameters they do not understand or expect.  
     24       ===================================================================== -->   
    12325  <xs:complexType name="BasePropertyType" abstract="true" > 
    12426    <xs:sequence> 
     
    12729  </xs:complexType> 
    12830 
     31  <xs:element name="baseProperty" type="xcal:BasePropertyType" /> 
     32 
     33  <xs:complexType name="ArrayOfProperties"> 
     34    <xs:sequence> 
     35      <xs:element ref="xcal:baseProperty" maxOccurs="unbounded"/> 
     36    </xs:sequence> 
     37  </xs:complexType> 
     38   
     39  <!-- ===================================================================== 
     40       Define all the standard properties. By using a substitutionGroup we 
     41       make it easy to extend the list of properties. As an example see  
     42       the properties defined in iCalendar-ms-extensions.xsd 
     43       ===================================================================== -->   
     44  <xs:element name="calscale" type="xcal:CalscalePropType" 
     45              substitutionGroup="xcal:baseProperty" /> 
     46               
     47  <xs:element name="method" type="xcal:MethodPropType" 
     48              substitutionGroup="xcal:baseProperty" /> 
     49               
     50  <xs:element name="prodid" type="xcal:ProdidPropType" 
     51              substitutionGroup="xcal:baseProperty" /> 
     52               
     53  <xs:element name="version" type="xcal:VersionPropType" 
     54              substitutionGroup="xcal:baseProperty" /> 
     55               
     56  <xs:element name="attach" type="xcal:AttachPropType" 
     57              substitutionGroup="xcal:baseProperty" /> 
     58               
     59  <xs:element name="categories" type="xcal:CategoriesPropType" 
     60              substitutionGroup="xcal:baseProperty" /> 
     61               
     62  <xs:element name="class" type="xcal:ClassPropType" 
     63              substitutionGroup="xcal:baseProperty" /> 
     64               
     65  <xs:element name="comment" type="xcal:CommentPropType" 
     66              substitutionGroup="xcal:baseProperty" /> 
     67               
     68  <xs:element name="description" type="xcal:DescriptionPropType" 
     69              substitutionGroup="xcal:baseProperty" /> 
     70               
     71  <xs:element name="geo" type="xcal:GeoPropType" 
     72              substitutionGroup="xcal:baseProperty" /> 
     73               
     74  <xs:element name="location" type="xcal:LocationPropType" 
     75              substitutionGroup="xcal:baseProperty" /> 
     76               
     77  <xs:element name="percent-complete" type="xcal:PercentCompletePropType" 
     78              substitutionGroup="xcal:baseProperty" /> 
     79               
     80  <xs:element name="priority" type="xcal:PriorityPropType" 
     81              substitutionGroup="xcal:baseProperty" /> 
     82               
     83  <xs:element name="resources" type="xcal:ResourcesPropType" 
     84              substitutionGroup="xcal:baseProperty" /> 
     85               
     86  <xs:element name="status" type="xcal:StatusPropType" 
     87              substitutionGroup="xcal:baseProperty" /> 
     88               
     89  <xs:element name="summary" type="xcal:SummaryPropType" 
     90              substitutionGroup="xcal:baseProperty" /> 
     91               
     92  <xs:element name="completed" type="xcal:CompletedPropType" 
     93              substitutionGroup="xcal:baseProperty" /> 
     94               
     95  <xs:element name="dtend" type="xcal:DtendPropType" 
     96              substitutionGroup="xcal:baseProperty" /> 
     97               
     98  <xs:element name="dtstart" type="xcal:DtstartPropType" 
     99              substitutionGroup="xcal:baseProperty" /> 
     100               
     101  <xs:element name="due" type="xcal:DuePropType" 
     102              substitutionGroup="xcal:baseProperty" /> 
     103               
     104  <xs:element name="duration" type="xcal:DurationPropType" 
     105              substitutionGroup="xcal:baseProperty" /> 
     106               
     107  <xs:element name="freebusy" type="xcal:FreebusyPropType" 
     108              substitutionGroup="xcal:baseProperty" /> 
     109               
     110  <xs:element name="transp" type="xcal:TranspPropType" 
     111              substitutionGroup="xcal:baseProperty" /> 
     112               
     113  <!-- Comment out tzid for the moment. It has the same name as the parameter 
     114       and this is causing me some issues 
     115  <xs:element name="tzid" type="xcal:TzidPropType" 
     116              substitutionGroup="xcal:baseProperty" /> --> 
     117  <xs:element name="tzname" type="xcal:TznamePropType" 
     118              substitutionGroup="xcal:baseProperty" /> 
     119               
     120  <xs:element name="tzoffsetfrom" type="xcal:TzoffsetfromPropType" 
     121              substitutionGroup="xcal:baseProperty" /> 
     122               
     123  <xs:element name="tzoffsetto" type="xcal:TzoffsettoPropType" 
     124              substitutionGroup="xcal:baseProperty" /> 
     125               
     126  <xs:element name="tzurl" type="xcal:TzurlPropType" 
     127              substitutionGroup="xcal:baseProperty" /> 
     128               
     129  <xs:element name="attendee" type="xcal:AttendeePropType" 
     130              substitutionGroup="xcal:baseProperty" /> 
     131               
     132  <xs:element name="contact" type="xcal:ContactPropType" 
     133              substitutionGroup="xcal:baseProperty" /> 
     134               
     135  <xs:element name="organizer" type="xcal:OrganizerPropType" 
     136              substitutionGroup="xcal:baseProperty" /> 
     137               
     138  <xs:element name="recurrence-id" type="xcal:RecurrenceIdPropType" 
     139              substitutionGroup="xcal:baseProperty" /> 
     140               
     141  <xs:element name="url" type="xcal:UrlPropType" 
     142              substitutionGroup="xcal:baseProperty" /> 
     143               
     144  <xs:element name="uid" type="xcal:UidPropType" 
     145              substitutionGroup="xcal:baseProperty" /> 
     146               
     147  <xs:element name="exdate" type="xcal:ExdatePropType" 
     148              substitutionGroup="xcal:baseProperty" /> 
     149               
     150  <xs:element name="rdate" type="xcal:RdatePropType" 
     151              substitutionGroup="xcal:baseProperty" /> 
     152               
     153  <xs:element name="related-to" type="xcal:RelatedToPropType" 
     154              substitutionGroup="xcal:baseProperty" /> 
     155               
     156  <xs:element name="exrule" type="xcal:ExrulePropType" 
     157              substitutionGroup="xcal:baseProperty" />  
     158               
     159  <xs:element name="rrule" type="xcal:RrulePropType" 
     160              substitutionGroup="xcal:baseProperty" />  
     161               
     162  <xs:element name="action" type="xcal:ActionPropType" 
     163              substitutionGroup="xcal:baseProperty" /> 
     164               
     165  <xs:element name="repeat" type="xcal:RepeatPropType" 
     166              substitutionGroup="xcal:baseProperty" /> 
     167               
     168  <xs:element name="trigger" type="xcal:TriggerPropType" 
     169              substitutionGroup="xcal:baseProperty" /> 
     170               
     171  <xs:element name="created" type="xcal:CreatedPropType" 
     172              substitutionGroup="xcal:baseProperty" /> 
     173               
     174  <xs:element name="dtstamp" type="xcal:DtstampPropType" 
     175              substitutionGroup="xcal:baseProperty" /> 
     176               
     177  <xs:element name="last-modified" type="xcal:LastModifiedPropType" 
     178              substitutionGroup="xcal:baseProperty" /> 
     179               
     180  <xs:element name="sequence" type="xcal:SequencePropType" 
     181              substitutionGroup="xcal:baseProperty" /> 
     182               
     183  <xs:element name="request-status" type="xcal:RequestStatusPropType" 
     184              substitutionGroup="xcal:baseProperty" /> 
     185 
    129186  <!-- Properties that take a simple text value --> 
    130187  <xs:complexType name="TextPropertyType" > 
     
    158215    </xs:complexContent> 
    159216  </xs:complexType> 
    160  
     217  
    161218  <!-- Properties that take a simple integer value --> 
    162219  <xs:complexType name="IntegerPropertyType" > 
     
    164221      <xs:extension base="xcal:BasePropertyType"> 
    165222        <xs:sequence> 
    166           <xs:element ref="xcal:integerType"/> 
     223          <xs:element ref="xcal:integer"/> 
    167224        </xs:sequence> 
    168225      </xs:extension> 
     
    198255        <xs:sequence> 
    199256          <xs:element ref="xcal:date-time"/> 
     257        </xs:sequence> 
     258      </xs:extension> 
     259    </xs:complexContent> 
     260  </xs:complexType> 
     261 
     262  <!-- Properties that take a utc-date-time value --> 
     263  <xs:complexType name="UtcDatetimePropertyType" > 
     264    <xs:complexContent mixed="false"> 
     265      <xs:extension base="xcal:BasePropertyType"> 
     266        <xs:sequence> 
     267          <xs:element ref="xcal:utc-date-time"/> 
    200268        </xs:sequence> 
    201269      </xs:extension> 
     
    222290      <xs:extension base="xcal:BasePropertyType"> 
    223291        <xs:sequence> 
    224           <xs:element ref="xcal:recur"/> 
    225         </xs:sequence> 
    226       </xs:extension> 
    227     </xs:complexContent> 
    228   </xs:complexType> 
    229    
     292          <xs:element name="recur" type="xcal:RecurType"/> 
     293        </xs:sequence> 
     294      </xs:extension> 
     295    </xs:complexContent> 
     296  </xs:complexType> 
     297      
    230298  <!-- 3.7.1 Calendar Scale --> 
    231   <xs:simpleType name="calscaleValueType"> 
     299  <xs:simpleType name="CalscaleValueType"> 
    232300    <xs:restriction base="xs:string"> 
    233301      <xs:enumeration value="GREGORIAN"/> 
     
    235303  </xs:simpleType> 
    236304   
    237   <xs:complexType name="calscalePropType"> 
    238     <xs:complexContent mixed="false"> 
    239       <xs:extension base="xcal:BasePropertyType"> 
    240         <xs:sequence> 
    241           <xs:element name="text" type="xcal:calscaleValueType"/> 
     305  <xs:complexType name="CalscalePropType"> 
     306    <xs:complexContent mixed="false"> 
     307      <xs:extension base="xcal:BasePropertyType"> 
     308        <xs:sequence> 
     309          <xs:element name="text" type="xcal:CalscaleValueType"/> 
    242310        </xs:sequence> 
    243311      </xs:extension> 
     
    246314   
    247315  <!-- 3.7.2 Method --> 
    248   <xs:complexType name="methodPropType"> 
     316  <xs:complexType name="MethodPropType"> 
    249317    <xs:complexContent mixed="false"> 
    250318      <xs:extension base="xcal:TextPropertyType"/> 
     
    253321 
    254322  <!-- 3.7.3 Product Identifier --> 
    255   <xs:complexType name="prodidPropType"> 
     323  <xs:complexType name="ProdidPropType"> 
    256324    <xs:complexContent mixed="false"> 
    257325      <xs:extension base="xcal:TextPropertyType"/> 
     
    260328 
    261329  <!-- 3.7.4 Version --> 
    262   <xs:complexType name="versionPropType"> 
     330  <xs:complexType name="VersionPropType"> 
    263331    <xs:complexContent mixed="false"> 
    264332      <xs:extension base="xcal:TextPropertyType"/> 
     
    269337  <!-- 3.8.1 Descriptive Component Properties --> 
    270338  <!-- 3.8.1.1 Attachment --> 
    271   <xs:complexType name="attachPropType"> 
     339  <xs:complexType name="AttachPropType"> 
    272340    <xs:complexContent mixed="false"> 
    273341      <xs:extension base="xcal:BasePropertyType"> 
     
    281349     
    282350  <!-- 3.8.1.2 Categories --> 
    283   <xs:complexType name="categoriesPropType"> 
     351  <xs:complexType name="CategoriesPropType"> 
    284352    <xs:complexContent mixed="false"> 
    285353      <xs:extension base="xcal:TextListPropertyType"/> 
     
    289357  <!-- 3.8.1.3 Classification --> 
    290358  <!-- Would like something lie this but not extensible 
    291   <xs:simpleType name="classValueType"> 
     359  <xs:simpleType name="ClassValueType"> 
    292360    <xs:restriction base="xs:string"> 
    293361      <xs:enumeration value="PUBLIC"/> 
     
    297365  </xs:simpleType> 
    298366    
    299   <xs:complexType name="classPropType"> 
    300     <xs:complexContent mixed="false"> 
    301       <xs:extension base="xcal:BasePropertyType"> 
    302         <xs:sequence> 
    303           <xs:element name="text" type="xcal:classValueType"/> 
     367  <xs:complexType name="ClassPropType"> 
     368    <xs:complexContent mixed="false"> 
     369      <xs:extension base="xcal:BasePropertyType"> 
     370        <xs:sequence> 
     371          <xs:element name="text" type="xcal:ClassValueType"/> 
    304372        </xs:sequence> 
    305373      </xs:extension> 
     
    307375  </xs:complexType> 
    308376 --> 
    309    
    310   <xs:complexType name="classPropType"> 
     377  <xs:simpleType name="ClassValueType"> 
     378    <xs:restriction base="xs:token"> 
     379      <xs:enumeration value="PUBLIC"/> 
     380      <xs:enumeration value="PRIVATE"/> 
     381      <xs:enumeration value="CONFIDENTIAL"/> 
     382    </xs:restriction> 
     383  </xs:simpleType> 
     384   
     385  <xs:complexType name="ClassPropType"> 
    311386    <xs:complexContent mixed="false"> 
    312387      <xs:extension base="xcal:TextPropertyType"/> 
     
    315390     
    316391  <!-- 3.8.1.4 Comment --> 
    317   <xs:complexType name="commentPropType"> 
     392  <xs:complexType name="CommentPropType"> 
    318393    <xs:complexContent mixed="false"> 
    319394      <xs:extension base="xcal:TextPropertyType"/> 
     
    322397     
    323398  <!-- 3.8.1.5 Description --> 
    324   <xs:complexType name="descriptionPropType"> 
     399  <xs:complexType name="DescriptionPropType"> 
    325400    <xs:complexContent mixed="false"> 
    326401      <xs:extension base="xcal:TextPropertyType"/> 
     
    329404     
    330405  <!-- 3.8.1.6 Geographic Position --> 
    331   <xs:complexType name="geoPropType"> 
     406  <xs:complexType name="GeoPropType"> 
    332407    <xs:complexContent mixed="false"> 
    333408      <xs:extension base="xcal:BasePropertyType"> 
     
    344419   
    345420  <!-- 3.8.1.7 Location --> 
    346   <xs:complexType name="locationPropType"> 
     421  <xs:complexType name="LocationPropType"> 
    347422    <xs:complexContent mixed="false"> 
    348423      <xs:extension base="xcal:TextPropertyType"/> 
     
    351426     
    352427  <!-- 3.8.1.8 Percent Complete --> 
    353   <xs:complexType name="percent-completePropType"> 
     428  <xs:complexType name="PercentCompletePropType"> 
    354429    <xs:complexContent mixed="false"> 
    355430      <xs:extension base="xcal:IntegerPropertyType"/> 
     
    358433 
    359434  <!-- 3.8.1.9 Priority --> 
    360   <xs:complexType name="priorityPropType"> 
     435  <xs:complexType name="PriorityPropType"> 
    361436    <xs:complexContent mixed="false"> 
    362437      <xs:extension base="xcal:IntegerPropertyType"/> 
     
    365440     
    366441  <!-- 3.8.1.10 Resources --> 
    367   <xs:complexType name="resourcesPropType"> 
     442  <xs:complexType name="ResourcesPropType"> 
    368443    <xs:complexContent mixed="false"> 
    369444      <xs:extension base="xcal:TextListPropertyType"/> 
     
    372447 
    373448  <!-- 3.8.1.11 Status --> 
    374   <xs:simpleType name="statusValueType"> 
    375     <xs:restriction base="xs:string"> 
     449  <xs:simpleType name="StatusValueType"> 
     450    <xs:restriction base="xs:token"> 
    376451      <xs:enumeration value="TENTATIVE"/> <!-- event --> 
    377452      <xs:enumeration value="CONFIRMED"/> <!-- event --> 
     
    385460  </xs:simpleType> 
    386461   
    387   <xs:complexType name="statusPropType"> 
    388     <xs:complexContent mixed="false"> 
    389       <xs:extension base="xcal:BasePropertyType"> 
    390         <xs:sequence> 
    391           <xs:element name="text" type="xcal:statusValueType"/> 
    392         </xs:sequence> 
    393       </xs:extension> 
     462  <xs:complexType name="StatusPropType"> 
     463    <xs:complexContent mixed="false"> 
     464      <xs:extension base="xcal:TextPropertyType"/> 
    394465    </xs:complexContent> 
    395466  </xs:complexType> 
    396467   
    397468  <!-- 3.8.1.12 Summary --> 
    398   <xs:complexType name="summaryPropType"> 
     469  <xs:complexType name="SummaryPropType"> 
    399470    <xs:complexContent mixed="false"> 
    400471      <xs:extension base="xcal:TextPropertyType"/> 
     
    404475  <!-- 3.8.2 Date and Time Component Properties --> 
    405476  <!-- 3.8.2.1 Date/Time Completed --> 
    406   <xs:complexType name="completedPropType"> 
     477  <xs:complexType name="CompletedPropType"> 
     478    <xs:complexContent mixed="false"> 
     479      <xs:extension base="xcal:UtcDatetimePropertyType"/> 
     480    </xs:complexContent> 
     481  </xs:complexType> 
     482     
     483  <!-- 3.8.2.2 Date/Time End --> 
     484  <xs:complexType name="DtendPropType"> 
    407485    <xs:complexContent mixed="false"> 
    408486      <xs:extension base="xcal:DateDatetimePropertyType"/> 
     
    410488  </xs:complexType> 
    411489     
    412   <!-- 3.8.2.2 Date/Time End --> 
    413   <xs:complexType name="dtendPropType"> 
     490  <!-- 3.8.2.3 Date/Time Due --> 
     491  <xs:complexType name="DuePropType"> 
    414492    <xs:complexContent mixed="false"> 
    415493      <xs:extension base="xcal:DateDatetimePropertyType"/> 
     
    417495  </xs:complexType> 
    418496     
    419   <!-- 3.8.2.3 Date/Time Due --> 
    420   <xs:complexType name="duePropType"> 
     497  <!-- 3.8.2.4 Date/Time Start --> 
     498  <xs:complexType name="DtstartPropType"> 
    421499    <xs:complexContent mixed="false"> 
    422500      <xs:extension base="xcal:DateDatetimePropertyType"/> 
     
    424502  </xs:complexType> 
    425503     
    426   <!-- 3.8.2.4 Date/Time Start --> 
    427   <xs:complexType name="dtstartPropType"> 
    428     <xs:complexContent mixed="false"> 
    429       <xs:extension base="xcal:DateDatetimePropertyType"/> 
    430     </xs:complexContent> 
    431   </xs:complexType> 
    432      
    433504  <!-- 3.8.2.5 Duration --> 
    434   <xs:complexType name="durationPropType"> 
     505  <xs:complexType name="DurationPropType"> 
    435506    <xs:complexContent mixed="false"> 
    436507      <xs:extension base="xcal:BasePropertyType"> 
     
    443514     
    444515  <!-- 3.8.2.6 Free/Busy Time --> 
    445   <xs:complexType name="freebusyPropType"> 
     516  <xs:complexType name="FreebusyPropType"> 
    446517    <xs:complexContent mixed="false"> 
    447518      <xs:extension base="xcal:BasePropertyType"> 
     
    454525     
    455526  <!-- 3.8.2.7 Time Transparency --> 
    456   <xs:simpleType name="transpValueType"> 
    457     <xs:restriction base="xs:string"> 
     527  <xs:simpleType name="TranspValueType"> 
     528    <xs:restriction base="xs:token"> 
    458529      <xs:enumeration value="OPAQUE"/> 
    459530      <xs:enumeration value="TRANSPARENT"/> 
     
    461532  </xs:simpleType> 
    462533   
    463   <xs:complexType name="transpPropType"> 
    464     <xs:complexContent mixed="false"> 
    465       <xs:extension base="xcal:BasePropertyType"> 
    466         <xs:sequence> 
    467           <xs:element name="text" type="xcal:transpValueType"/> 
    468         </xs:sequence> 
    469       </xs:extension> 
     534  <xs:complexType name="TranspPropType"> 
     535    <xs:complexContent mixed="false"> 
     536      <xs:extension base="xcal:TextPropertyType"/> 
    470537    </xs:complexContent> 
    471538  </xs:complexType> 
     
    497564  <!-- 3.8.3 Time Zone Component Properties --> 
    498565  <!-- 3.8.3.1 Time Zone Identifier --> 
    499   <xs:complexType name="tzidPropType"> 
     566  <xs:complexType name="TzidPropType"> 
    500567    <xs:complexContent mixed="false"> 
    501568      <xs:extension base="xcal:TextPropertyType"/> 
     
    504571         
    505572  <!-- 3.8.3.2 Time Zone Name --> 
    506   <xs:complexType name="tznamePropType"> 
     573  <xs:complexType name="TznamePropType"> 
    507574    <xs:complexContent mixed="false"> 
    508575      <xs:extension base="xcal:TextPropertyType"/> 
     
    511578     
    512579  <!-- 3.8.3.3 Time Zone Offset From --> 
    513   <xs:complexType name="tzoffsetfromPropType"> 
     580  <xs:complexType name="TzoffsetfromPropType"> 
    514581    <xs:complexContent mixed="false"> 
    515582      <xs:extension base="xcal:UtcOffsetPropertyType"/> 
     
    518585     
    519586  <!-- 3.8.3.4 Time Zone Offset To --> 
    520   <xs:complexType name="tzoffsettoPropType"> 
     587  <xs:complexType name="TzoffsettoPropType"> 
    521588    <xs:complexContent mixed="false"> 
    522589      <xs:extension base="xcal:UtcOffsetPropertyType"/> 
     
    525592     
    526593  <!-- 3.8.3.5 Time Zone URL --> 
    527   <xs:complexType name="tzurlPropType"> 
     594  <xs:complexType name="TzurlPropType"> 
    528595    <xs:complexContent mixed="false"> 
    529596      <xs:extension base="xcal:UriPropertyType"/> 
     
    533600  <!-- 3.8.4 Relationship Component Properties --> 
    534601  <!-- 3.8.4.1 Attendee --> 
    535   <xs:complexType name="attendeePropType"> 
     602  <xs:complexType name="AttendeePropType"> 
    536603    <xs:complexContent mixed="false"> 
    537604      <xs:extension base="xcal:CalAddressPropertyType"/> 
     
    540607     
    541608  <!-- 3.8.4.2 Contact --> 
    542   <xs:complexType name="contactPropType"> 
     609  <xs:complexType name="ContactPropType"> 
    543610    <xs:complexContent mixed="false"> 
    544611      <xs:extension base="xcal:TextPropertyType"/> 
     
    547614     
    548615  <!-- 3.8.4.3 Organizer --> 
    549   <xs:complexType name="organizerPropType"> 
     616  <xs:complexType name="OrganizerPropType"> 
    550617    <xs:complexContent mixed="false"> 
    551618      <xs:extension base="xcal:CalAddressPropertyType"/> 
     
    554621     
    555622  <!-- 3.8.4.4 Recurrence ID --> 
    556   <xs:complexType name="recurrence-idPropType"> 
     623  <xs:complexType name="RecurrenceIdPropType"> 
    557624    <xs:complexContent mixed="false"> 
    558625      <xs:extension base="xcal:DateDatetimePropertyType"/> 
     
    562629  <!-- 3.8.4.5 Related-To --> 
    563630  <!-- 3.8.4.6 Uniform Resource Locator --> 
    564   <xs:complexType name="urlPropType"> 
     631  <xs:complexType name="UrlPropType"> 
    565632    <xs:complexContent mixed="false"> 
    566633      <xs:extension base="xcal:UriPropertyType"/> 
     
    569636     
    570637  <!-- 3.8.4.7 Unique Identifier --> 
    571   <xs:complexType name="uidPropType"> 
     638  <xs:complexType name="UidPropType"> 
    572639    <xs:complexContent mixed="false"> 
    573640      <xs:extension base="xcal:TextPropertyType"/> 
     
    577644  <!-- 3.8.5 Recurrence Component Properties --> 
    578645  <!-- 3.8.5.1 Exception Date/Times --> 
    579   <xs:complexType name="exdatePropType"> 
     646  <xs:complexType name="ExdatePropType"> 
    580647    <xs:complexContent mixed="false"> 
    581648      <xs:extension base="xcal:DateDatetimePropertyType"/> 
     
    584651     
    585652  <!-- 3.8.5.2 Recurrence Date/Times --> 
    586   <xs:complexType name="rdatePropType"> 
     653  <xs:complexType name="RdatePropType"> 
    587654    <xs:complexContent mixed="false"> 
    588655      <xs:extension base="xcal:DateDatetimePropertyType"/> 
     
    590657  </xs:complexType> 
    591658     
    592   <xs:complexType name="related-toPropType"> 
     659  <xs:complexType name="RelatedToPropType"> 
    593660    <xs:complexContent mixed="false"> 
    594661      <xs:extension base="xcal:TextPropertyType"/> 
     
    597664     
    598665  <!-- 3.8.5.3 Recurrence Rule --> 
    599   <xs:complexType name="rrulePropType"> 
     666  <xs:complexType name="RrulePropType"> 
    600667    <xs:complexContent mixed="false"> 
    601668      <xs:extension base="xcal:RecurPropertyType"/> 
     
    604671     
    605672  <!-- x.x.x.x Deprecated ExRule --> 
    606   <xs:complexType name="exrulePropType"> 
     673  <xs:complexType name="ExrulePropType"> 
    607674    <xs:complexContent mixed="false"> 
    608675      <xs:extension base="xcal:RecurPropertyType"/> 
     
    612679  <!-- 3.8.6 Alarm Component Properties --> 
    613680  <!-- 3.8.6.1 Action --> 
    614   <xs:simpleType name="actionValueType"> 
    615     <xs:restriction base="xs:string"> 
     681  <xs:simpleType name="ActionValueType"> 
     682    <xs:restriction base="xs:token"> 
    616683      <xs:enumeration value="AUDIO"/> 
    617684      <xs:enumeration value="DISPLAY"/> 
     
    620687  </xs:simpleType> 
    621688   
    622   <xs:complexType name="actionPropType"> 
    623     <xs:complexContent mixed="false"> 
    624       <xs:extension base="xcal:BasePropertyType"> 
    625         <xs:sequence> 
    626           <xs:element name="text" type="xcal:actionValueType"/> 
    627         </xs:sequence> 
    628       </xs:extension> 
     689  <xs:complexType name="ActionPropType"> 
     690    <xs:complexContent mixed="false"> 
     691      <xs:extension base="xcal:TextPropertyType"/> 
    629692    </xs:complexContent> 
    630693  </xs:complexType> 
    631694   
    632695  <!-- 3.8.6.2 Repeat Count --> 
    633   <xs:complexType name="repeatPropType"> 
     696  <xs:complexType name="RepeatPropType"> 
    634697    <xs:complexContent mixed="false"> 
    635698      <xs:extension base="xcal:IntegerPropertyType"/> 
     
    638701   
    639702  <!-- 3.8.6.3 Trigger --> 
    640   <xs:complexType name="triggerPropType"> 
     703  <xs:complexType name="TriggerPropType"> 
    641704    <xs:complexContent mixed="false"> 
    642705      <xs:extension base="xcal:BasePropertyType"> 
     
    653716  <!-- 3.8.7 Change Management Component Properties --> 
    654717  <!-- 3.8.7.1 Date/Time Created --> 
    655   <xs:complexType name="createdPropType"> 
    656     <xs:complexContent mixed="false"> 
    657       <xs:extension base="xcal:DatetimePropertyType"/> 
     718  <xs:complexType name="CreatedPropType"> 
     719    <xs:complexContent mixed="false"> 
     720      <xs:extension base="xcal:UtcDatetimePropertyType"/> 
    658721    </xs:complexContent> 
    659722  </xs:complexType> 
    660723     
    661724  <!-- 3.8.7.2 Date/Time Stamp --> 
    662   <xs:complexType name="dtstampPropType"> 
    663     <xs:complexContent mixed="false"> 
    664       <xs:extension base="xcal:DatetimePropertyType"/> 
     725  <xs:complexType name="DtstampPropType"> 
     726    <xs:complexContent mixed="false"> 
     727      <xs:extension base="xcal:UtcDatetimePropertyType"/> 
    665728    </xs:complexContent> 
    666729  </xs:complexType> 
    667730 
    668731  <!-- 3.8.7.3 Last Modified --> 
    669   <xs:complexType name="last-modifiedPropType"> 
    670     <xs:complexContent mixed="false"> 
    671       <xs:extension base="xcal:DatetimePropertyType"/> 
     732  <xs:complexType name="LastModifiedPropType"> 
     733    <xs:complexContent mixed="false"> 
     734      <xs:extension base="xcal:UtcDatetimePropertyType"/> 
    672735    </xs:complexContent> 
    673736  </xs:complexType> 
    674737 
    675738  <!-- 3.8.7.4 Sequence Number --> 
    676   <xs:complexType name="sequencePropType"> 
     739  <xs:complexType name="SequencePropType"> 
    677740    <xs:complexContent mixed="false"> 
    678741      <xs:extension base="xcal:IntegerPropertyType"/> 
     
    682745  <!-- 3.8.8 Miscellaneous Component Properties --> 
    683746  <!-- 3.8.8.3 Request Status --> 
    684   <xs:complexType name="request-statusPropType"> 
     747  <xs:complexType name="RequestStatusPropType"> 
    685748    <xs:complexContent mixed="false"> 
    686749      <xs:extension base="xcal:BasePropertyType"> 
  • releases/bedework-3.7/resources/exsynchwsdefs/iCalendar-valtypes.xsd

    r3063 r3115  
    1515   
    1616        <!-- 3.3.2 BOOLEAN --> 
    17         <xs:element name="boolean" type="xcal:booleanType" /> 
     17        <xs:element name="boolean" type="xcal:BooleanType" /> 
    1818   
    19   <xs:simpleType name="booleanType"> 
     19  <xs:simpleType name="BooleanType"> 
    2020    <xs:restriction base="xs:token"> 
    2121      <xs:enumeration value="TRUE"/> 
     
    2525   
    2626        <!-- 3.3.3 CAL-ADDRESS --> 
    27   <xs:simpleType name="cal-addressType"> 
     27  <xs:simpleType name="CalAddressType"> 
    2828    <xs:restriction base="xs:string"/> 
    2929  </xs:simpleType> 
    3030   
    31   <xs:element name="cal-address" type="xcal:cal-addressType" />   
     31  <xs:element name="cal-address" type="xcal:CalAddressType" />   
    3232   
    3333        <!-- 3.3.4 DATE --> 
     
    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  
     
    4449   
    4550        <!-- 3.3.8 INTEGER --> 
    46         <xs:element name="integerType" type="xs:string"/> 
     51        <xs:element name="integer" type="xs:string"/> 
    4752   
    4853        <!-- 3.3.9 PERIOD --> 
     
    5055   
    5156  <!-- 3.3.10 RECUR --> 
    52   <xs:element name="recur" type="xcal:recurType"/> 
    53   <xs:complexType name="recurType"> 
     57  <xs:complexType name="RecurType"> 
    5458    <xs:sequence> 
    55       <xs:element name="freq" type="xcal:freqRecurType"/> 
     59      <xs:element name="freq" type="xcal:FreqRecurType"/> 
    5660      <xs:sequence> 
    5761        <xs:choice> 
     
    6670      <xs:element name="byday" type="xs:string" maxOccurs="unbounded"/> 
    6771      <xs:element name="byyearday" type="xs:string" maxOccurs="unbounded"/> 
    68       <xs:element name="bymonthday" type="xcal:bymonthdayRecurType" maxOccurs="unbounded"/> 
     72      <xs:element name="bymonthday" type="xcal:BymonthdayRecurType" maxOccurs="unbounded"/> 
    6973      <xs:element name="byweekno" type="xs:string" maxOccurs="unbounded"/> 
    70       <xs:element name="bymonth" type="xcal:bymonthRecurType" maxOccurs="unbounded"/> 
     74      <xs:element name="bymonth" type="xcal:BymonthRecurType" maxOccurs="unbounded"/> 
    7175      <xs:element name="bysetpos" type="xs:integer" maxOccurs="unbounded"/> 
    72       <xs:element name="wkst" type="xcal:weekdayRecurType" /> 
     76      <xs:element name="wkst" type="xcal:WeekdayRecurType" /> 
    7377    </xs:sequence> 
    7478  </xs:complexType> 
    7579   
    76         <xs:simpleType name="freqRecurType"> 
     80        <xs:simpleType name="FreqRecurType"> 
    7781                <xs:restriction base="xs:token"> 
    7882                        <xs:enumeration value="SECONDLY"/> 
     
    8690        </xs:simpleType> 
    8791   
    88   <xs:element name="until" type="xcal:untilRecurType"/> 
    89   <xs:complexType name="untilRecurType" > 
     92  <xs:element name="until" type="xcal:UntilRecurType"/> 
     93   
     94  <xs:complexType name="UntilRecurType" > 
    9095    <xs:sequence> 
    9196      <xs:choice> 
     
    98103  <xs:element name="count" type="xs:integer"/> 
    99104   
    100         <xs:simpleType name="weekdayRecurType"> 
     105        <xs:simpleType name="WeekdayRecurType"> 
    101106                <xs:restriction base="xs:token"> 
    102107                        <xs:enumeration value="SU"/> 
     
    110115        </xs:simpleType> 
    111116   
    112   <xs:simpleType name="bymonthdayRecurType"> 
     117  <xs:simpleType name="BymonthdayRecurType"> 
    113118    <xs:restriction base="xs:integer"> 
    114119      <xs:minInclusive value="-31"/> 
     
    117122  </xs:simpleType> 
    118123   
    119   <xs:simpleType name="bymonthRecurType"> 
     124  <xs:simpleType name="BymonthRecurType"> 
    120125    <xs:restriction base="xs:integer"> 
    121126      <xs:minInclusive value="1"/> 
     
    131136   
    132137        <!-- 3.3.13 URI --> 
    133         <xs:simpleType name="uriType"> 
     138        <xs:simpleType name="UriType"> 
    134139    <xs:restriction base="xs:string"/> 
    135140  </xs:simpleType> 
    136141   
    137   <xs:element name="uri" type="xcal:uriType" />   
     142  <xs:element name="uri" type="xcal:UriType" />   
    138143   
    139144        <!-- 3.3.14 UTC-OFFSET --> 
    140   <xs:simpleType name="utc-offsetType"> 
     145  <xs:simpleType name="UtcOffsetType"> 
    141146    <xs:restriction base="xs:string"/> 
    142147  </xs:simpleType> 
    143148   
    144   <xs:element name="utc-offset" type="xcal:utc-offsetType" />   
     149  <xs:element name="utc-offset" type="xcal:UtcOffsetType" />   
    145150   
    146151</xs:schema> 
  • releases/bedework-3.7/resources/exsynchwsdefs/iCalendar.xsd

    r3037 r3115  
    66           targetNamespace="urn:ietf:params:xml:ns:icalendar-2.0"  
    77           elementFormDefault="qualified"> 
     8             
     9  <!-- ===================== Standard Extensions =======================  --> 
     10  <xs:include schemaLocation="iCalendar-link-extension.xsd" /> 
     11             
     12  <!-- ===================== Proprietary Extensions =======================  --> 
     13  <xs:include schemaLocation="iCalendar-bw-extensions.xsd" /> 
     14  <xs:include schemaLocation="iCalendar-ms-extensions.xsd" /> 
     15  <xs:include schemaLocation="iCalendar-wscal-extensions.xsd" /> 
     16            
    817  <!-- ===================================================================== 
    918       3.4 Calendar Components 
     
    1120             
    1221  <xs:include schemaLocation="iCalendar-props.xsd" /> 
    13  
    14   <xs:complexType name="ArrayOfComponents"> 
    15     <xs:choice maxOccurs="unbounded"> 
    16       <xs:element name="vevent" type="xcal:veventType"/> 
    17       <xs:element name="vtodo" type="xcal:vtodoType"/> 
    18       <xs:element name="vjournal" type="xcal:vjournalType"/> 
    19       <xs:element name="vfreebusy" type="xcal:vfreebusyType"/> 
    20       <xs:element name="vtimezone" type="xcal:vtimezoneType"/> 
    21       <xs:element name="standard" type="xcal:standardType"/> 
    22       <xs:element name="daylight" type="xcal:daylightType"/> 
    23       <xs:element name="valarm" type="xcal:valarmType"/> 
    24     </xs:choice> 
    25   </xs:complexType> 
    2622           
    27   <xs:complexType name="BaseComponentType"
     23  <xs:complexType name="BaseComponentType" abstract="true"
    2824    <xs:sequence> 
    2925      <xs:element name="properties" type="xcal:ArrayOfProperties"/> 
     
    3127    </xs:sequence> 
    3228  </xs:complexType> 
     29 
     30  <xs:element name="baseComponent" type="xcal:BaseComponentType" /> 
     31 
     32  <xs:complexType name="ArrayOfComponents"> 
     33    <xs:sequence> 
     34      <xs:element ref="xcal:baseComponent" maxOccurs="unbounded"/> 
     35    </xs:sequence> 
     36  </xs:complexType> 
     37 
     38  <xs:element name="vevent" type="xcal:VeventType" 
     39              substitutionGroup="xcal:baseComponent"/> 
     40               
     41  <xs:element name="vtodo" type="xcal:VtodoType" 
     42              substitutionGroup="xcal:baseComponent"/> 
     43               
     44  <xs:element name="vjournal" type="xcal:VjournalType" 
     45              substitutionGroup="xcal:baseComponent"/> 
     46               
     47  <xs:element name="vfreebusy" type="xcal:VfreebusyType" 
     48              substitutionGroup="xcal:baseComponent"/> 
     49               
     50  <xs:element name="vtimezone" type="xcal:VtimezoneType" 
     51              substitutionGroup="xcal:baseComponent"/> 
     52               
     53  <xs:element name="standard" type="xcal:StandardType" 
     54              substitutionGroup="xcal:baseComponent"/> 
     55               
     56  <xs:element name="daylight" type="xcal:DaylightType" 
     57              substitutionGroup="xcal:baseComponent"/> 
     58               
     59  <xs:element name="valarm" type="xcal:ValarmType" 
     60              substitutionGroup="xcal:baseComponent"/> 
    3361   
    3462        <!-- 3.4 iCalendar Stream --> 
    35         <xs:complexType name="icalendarType"> 
     63        <xs:complexType name="IcalendarType"> 
    3664                <xs:sequence> 
    37                         <xs:element name="vcalendar" type="xcal:vcalendarType" maxOccurs="unbounded"/> 
     65                        <xs:element name="vcalendar" type="xcal:VcalendarType" maxOccurs="unbounded"/> 
    3866                </xs:sequence> 
    3967        </xs:complexType> 
    4068   
    4169        <!-- 3.6 Calendar Components --> 
    42         <xs:complexType name="vcalendarType"> 
     70        <xs:complexType name="VcalendarType"> 
    4371    <xs:complexContent mixed="false"> 
    4472      <xs:extension base="xcal:BaseComponentType"/> 
     
    4775   
    4876        <!-- 3.6.1 Event Component --> 
    49   <xs:complexType name="veventType"> 
     77  <xs:complexType name="VeventType"> 
    5078    <xs:complexContent mixed="false"> 
    5179      <xs:extension base="xcal:BaseComponentType"/> 
     
    5482 
    5583        <!-- 3.6.2 To-do Component --> 
    56   <xs:complexType name="vtodoType"> 
     84  <xs:complexType name="VtodoType"> 
    5785    <xs:complexContent mixed="false"> 
    5886      <xs:extension base="xcal:BaseComponentType"/> 
     
    6189 
    6290        <!-- 3.6.3 Journal Component --> 
    63   <xs:complexType name="vjournalType"> 
     91  <xs:complexType name="VjournalType"> 
    6492    <xs:complexContent mixed="false"> 
    6593      <xs:extension base="xcal:BaseComponentType"/> 
     
    6896   
    6997        <!-- 3.6.4 Free/Busy Component --> 
    70   <xs:complexType name="vfreebusyType"> 
     98  <xs:complexType name="VfreebusyType"> 
    7199    <xs:complexContent mixed="false"> 
    72100      <xs:extension base="xcal:BaseComponentType"/> 
     
    75103 
    76104        <!-- 3.6.5 timezone --> 
    77   <xs:complexType name="vtimezoneType"> 
     105  <xs:complexType name="VtimezoneType"> 
    78106    <xs:complexContent mixed="false"> 
    79107      <xs:extension base="xcal:BaseComponentType"/> 
     
    81109  </xs:complexType> 
    82110 
    83   <xs:complexType name="standardType"> 
     111  <xs:complexType name="StandardType"> 
    84112    <xs:complexContent mixed="false"> 
    85113      <xs:extension base="xcal:BaseComponentType"/> 
     
    87115  </xs:complexType> 
    88116 
    89   <xs:complexType name="daylightType"> 
     117  <xs:complexType name="DaylightType"> 
    90118    <xs:complexContent mixed="false"> 
    91119      <xs:extension base="xcal:BaseComponentType"/> 
     
    94122 
    95123        <!-- 3.6.6 Alarm Component --> 
    96   <xs:complexType name="valarmType"> 
     124  <xs:complexType name="ValarmType"> 
    97125    <xs:complexContent mixed="false"> 
    98126      <xs:extension base="xcal:BaseComponentType"/> 
  • releases/bedework-3.7/resources/exsynchwsdefs/wsmessages.xsd

    r3063 r3115  
    33        xmlns:tns="http://www.bedework.org/exsynch/wsmessages"  
    44        xmlns:xcal="urn:ietf:params:xml:ns:icalendar-2.0" 
    5         xmlns:xcup="urn:ietf:params:xml:ns:icalendar-upd-1.0"  
     5        xmlns:p="urn:ietf:params:xml:ns:pidf-diff"  
     6        xmlns:perr="urn:ietf:params:xml:ns:patch-ops-error"  
    67        targetNamespace="http://www.bedework.org/exsynch/wsmessages"  
    78        elementFormDefault="qualified"> 
     
    910  <import schemaLocation="iCalendar.xsd"  
    1011          namespace="urn:ietf:params:xml:ns:icalendar-2.0" /> 
    11          
    12   <import schemaLocation="iCalendar-update.xsd"  
    13           namespace="urn:ietf:params:xml:ns:icalendar-upd-1.0" /> 
     12 
     13  <!-- The schemas for RFC 5261 patch operations and errors. -->         
     14  <import schemaLocation="patch.xsd"   
     15          namespace="urn:ietf:params:xml:ns:pidf-diff" /> 
     16  <import schemaLocation="patch-errors.xsd"  
     17          namespace="urn:ietf:params:xml:ns:patch-ops-error" /> 
    1418           
    1519  <!-- Schema for messages passed from exsynch processor to the remote service. --> 
     
    269273      <extension base="tns:base-synch-entity-request"> 
    270274        <sequence> 
    271           <element name="icalendar" type="xcal:icalendarType" /> 
     275          <element name="icalendar" type="xcal:IcalendarType" /> 
    272276        </sequence> 
    273277      </extension> 
     
    313317    </annotation> 
    314318    <sequence> 
    315       <element name="icalendar" type="xcal:icalendarType" /> 
     319      <element name="icalendar" type="xcal:IcalendarType" /> 
    316320      <element name="status" type="tns:StatusType" /> 
    317321      <element name="message" type="string" /> 
     
    332336      <extension base="tns:base-synch-entity-request"> 
    333337        <sequence> 
    334           <element ref="xcup:updates" /> 
     338          <choice> 
     339            <element name="add" type="p:add" /> 
     340            <element name="replace" type="p:replace" /> 
     341            <element name="remove" type="p:remove" /> 
     342          </choice> 
    335343        </sequence> 
    336344      </extension> 
     
    348356    <sequence> 
    349357      <element name="status" type="tns:StatusType" /> 
     358      <element ref="perr:patch-ops-error" /> 
    350359      <element name="message" type="string" /> 
    351360    </sequence>