Changeset 3153
- Timestamp:
- 01/25/11 11:05:36
- Files:
-
- trunk/resources/exsynchwsdefs/iCalendar-availability-extension.xsd (added)
- trunk/resources/exsynchwsdefs/patch.xsd (modified) (1 diff)
- trunk/resources/exsynchwsdefs/wsmessages.xsd (modified) (25 diffs)
- trunk/resources/exsynchwsdefs/wssvc.wsdl (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/resources/exsynchwsdefs/patch.xsd
r3113 r3153 20 20 <!ENTITY last "(&child;|&aname;|&nspa;)"> 21 21 ]> 22 <!-- This is the schema for the XML patch operations defined in RFC 5261 22 <!-- This is the schema for the XML patch operations defined in RFC 5261 as 23 modified for xcalendar updates and according to appropriate conventions. 24 25 As this is intended for use in a SOAP environment the xs:any for the new or 26 replacement value is going to be a problem. 27 28 For icalendar patching we can restrict the value to be an icalendar element. 29 30 We select the outer vcalendar is we wish to add a component 31 32 We select a component if we wish to add a property or a component to that 33 component or if we wish to delete that component 34 35 We select a property to change it's parameters or it's value or delete it. The 36 value can be a parameter to add, a new value for the property or nothing to delete 37 38 We select a parameter to delete it or change its value. The value is a value-type 39 element 40 23 41 --> 24 42 25 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 26 xmlns="urn:ietf:params:xml:ns:pidf-diff" 27 targetNamespace="urn:ietf:params:xml:ns:pidf-diff" 28 elementFormDefault="qualified"> 29 <xsd:simpleType name="xpath"> 30 <xsd:restriction base="xsd:string"> 31 <xsd:pattern 43 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 44 xmlns:xcal="urn:ietf:params:xml:ns:icalendar-2.0" 45 xmlns="urn:ietf:params:xml:ns:pidf-diff" 46 targetNamespace="urn:ietf:params:xml:ns:pidf-diff" 47 elementFormDefault="qualified"> 48 49 <xs:import schemaLocation="iCalendar.xsd" 50 namespace="urn:ietf:params:xml:ns:icalendar-2.0" /> 51 52 <xs:simpleType name="XpathType"> 53 <xs:restriction base="xs:string"> 54 <xs:pattern 32 55 value="(/)?((&id;)((/&step;)*(/&last;))?|(&step;/)*(&last;))"/> 33 </xs d:restriction>34 </xs d:simpleType>56 </xs:restriction> 57 </xs:simpleType> 35 58 36 <xs d:simpleType name="xpath-add">37 <xs d:restriction base="xsd:string">38 <xs d:pattern59 <xs:simpleType name="XpathAddType"> 60 <xs:restriction base="xs:string"> 61 <xs:pattern 39 62 value="(/)?((&id;)((/&step;)*(/&child;))?|(&step;/)*(&child;))"/> 40 </xs d:restriction>41 </xs d:simpleType>63 </xs:restriction> 64 </xs:simpleType> 42 65 43 <xs d:simpleType name="pos">44 <xs d:restriction base="xsd:string">45 <xs d:enumeration value="before"/>46 <xs d:enumeration value="after"/>47 <xs d:enumeration value="prepend"/>48 </xs d:restriction>49 </xs d:simpleType>66 <xs:simpleType name="PosType"> 67 <xs:restriction base="xs:string"> 68 <xs:enumeration value="before"/> 69 <xs:enumeration value="after"/> 70 <xs:enumeration value="prepend"/> 71 </xs:restriction> 72 </xs:simpleType> 50 73 51 <xs d:simpleType name="type">52 <xs d:restriction base="xsd:string">53 <xs d:pattern value="&aname;|&nspa;"/>54 </xs d:restriction>55 </xs d:simpleType>74 <xs:simpleType name="AddValueType"> 75 <xs:restriction base="xs:string"> 76 <xs:pattern value="&aname;|&nspa;"/> 77 </xs:restriction> 78 </xs:simpleType> 56 79 57 <xsd:complexType name="add"> 58 <xsd:complexContent mixed="true"> 59 <xsd:restriction base="xsd:anyType"> 60 <xsd:sequence> 61 <xsd:any processContents="lax" namespace="##any" 62 minOccurs="0" maxOccurs="unbounded"/> 63 </xsd:sequence> 64 <xsd:attribute name="sel" type="xpath-add" 65 use="required"/> 66 <xsd:attribute name="pos" type="pos"/> 67 <xsd:attribute name="type" type="type"/> 68 </xsd:restriction> 69 </xsd:complexContent> 70 </xsd:complexType> 80 <xs:complexType name="BaseUpdateType" abstract="true"> 81 <xs:attribute name="sel" type="XpathAddType" 82 use="required"/> 83 </xs:complexType> 71 84 72 <xs d:complexType name="replace">73 <xs d:complexContent mixed="true">74 <xs d:restriction base="xsd:anyType">75 <xs d:sequence>76 <xs d:any processContents="lax" namespace="##any"77 minOccurs="0" maxOccurs="1"/>78 </xsd:sequence>79 < xsd:attribute name="sel" type="xpath" use="required"/>80 </xs d:restriction>81 </xs d:complexContent>82 </xs d:complexType>85 <xs:complexType name="NewValueType" abstract="true"> 86 <xs:complexContent mixed="false"> 87 <xs:extension base="BaseUpdateType"> 88 <xs:choice> 89 <xs:element name="component" type="xcal:BaseComponentType"/> 90 <xs:element name="property" type="xcal:BasePropertyType"/> 91 <xs:element name="parameter" type="xcal:BaseParameterType"/> 92 </xs:choice> 93 </xs:extension> 94 </xs:complexContent> 95 </xs:complexType> 83 96 84 <xs d:simpleType name="ws">85 <xs d:restriction base="xsd:string">86 <xs d:enumeration value="before"/>87 <xs d:enumeration value="after"/>88 <xs d:enumeration value="both"/>89 </xs d:restriction>90 </xs d:simpleType>97 <xs:simpleType name="WhitespaceType"> 98 <xs:restriction base="xs:string"> 99 <xs:enumeration value="before"/> 100 <xs:enumeration value="after"/> 101 <xs:enumeration value="both"/> 102 </xs:restriction> 103 </xs:simpleType> 91 104 92 <xsd:complexType name="remove"> 93 <xsd:attribute name="sel" type="xpath" use="required"/> 94 <xsd:attribute name="ws" type="ws"/> 95 </xsd:complexType> 96 </xsd:schema> 105 <xs:complexType name="AddType"> 106 <xs:complexContent mixed="false"> 107 <xs:extension base="NewValueType"> 108 <xs:attribute name="pos" type="PosType"/> 109 <xs:attribute name="type" type="AddValueType"/> 110 </xs:extension> 111 </xs:complexContent> 112 </xs:complexType> 113 114 <xs:complexType name="ReplaceType"> 115 <xs:complexContent mixed="false"> 116 <xs:extension base="NewValueType"> 117 </xs:extension> 118 </xs:complexContent> 119 </xs:complexType> 120 121 <xs:complexType name="RemoveType"> 122 <xs:complexContent mixed="false"> 123 <xs:extension base="BaseUpdateType"> 124 <xs:attribute name="ws" type="WhitespaceType"/> 125 </xs:extension> 126 </xs:complexContent> 127 </xs:complexType> 128 </xs:schema> 97 129 trunk/resources/exsynchwsdefs/wsmessages.xsd
r3113 r3153 49 49 </simpleType> 50 50 51 <complexType name=" base-synch-request">51 <complexType name="BaseSynchRequestType"> 52 52 <annotation> 53 53 <documentation xml:lang="en"> … … 62 62 </complexType> 63 63 64 <complexType name=" base-synch-entity-request">64 <complexType name="BaseSynchEntityRequestType"> 65 65 <annotation> 66 66 <documentation xml:lang="en"> … … 70 70 </annotation> 71 71 <complexContent mixed="false"> 72 <extension base="tns: base-synch-request">72 <extension base="tns:BaseSynchRequestType"> 73 73 <sequence > 74 74 <element name="uid" type="string" minOccurs="1" /> … … 79 79 </complexType> 80 80 81 <complexType name=" base-synch-response">81 <complexType name="BaseSynchResponseType"> 82 82 <annotation> 83 83 <documentation xml:lang="en"> … … 96 96 ********************************************************************* --> 97 97 98 <complexType name=" subscribe-request-type">98 <complexType name="SubscribeRequestType"> 99 99 <annotation> 100 100 <documentation xml:lang="en"> … … 113 113 </annotation> 114 114 <complexContent mixed="false"> 115 <extension base="tns: base-synch-request">115 <extension base="tns:BaseSynchRequestType"> 116 116 <sequence > 117 117 <element name="token" type="string" /> … … 126 126 </complexType> 127 127 128 <element name="subscribe" type="tns: subscribe-request-type" />129 130 <complexType name=" subscribe-response-type">128 <element name="subscribe" type="tns:SubscribeRequestType" /> 129 130 <complexType name="SubscribeResponseType"> 131 131 <annotation> 132 132 <documentation xml:lang="en"> … … 135 135 </annotation> 136 136 <complexContent mixed="false"> 137 <extension base="tns: base-synch-response">137 <extension base="tns:BaseSynchResponseType"> 138 138 <sequence > 139 139 <element name="subscription-id" type="string" /> … … 144 144 </complexType> 145 145 146 <element name="subscribe-response" type="tns: subscribe-response-type" />147 148 <complexType name=" unsubscribe-request-type">146 <element name="subscribe-response" type="tns:SubscribeResponseType" /> 147 148 <complexType name="UnsubscribeRequestType"> 149 149 <annotation> 150 150 <documentation xml:lang="en"> … … 153 153 </annotation> 154 154 <complexContent mixed="false"> 155 <extension base="tns: base-synch-request">155 <extension base="tns:BaseSynchRequestType"> 156 156 <sequence > 157 157 <element name="subscription-id" type="string" /> … … 161 161 </complexType> 162 162 163 <element name="unsubscribe" type="tns: unsubscribe-request-type" />164 165 <complexType name=" unsubscribe-response-type">163 <element name="unsubscribe" type="tns:UnsubscribeRequestType" /> 164 165 <complexType name="UnsubscribeResponseType"> 166 166 <annotation> 167 167 <documentation xml:lang="en"> … … 170 170 </annotation> 171 171 <complexContent mixed="false"> 172 <extension base="tns: base-synch-response">173 </extension> 174 </complexContent> 175 </complexType> 176 177 <element name="unsubscribe-response" type="tns: unsubscribe-response-type" />172 <extension base="tns:BaseSynchResponseType"> 173 </extension> 174 </complexContent> 175 </complexType> 176 177 <element name="unsubscribe-response" type="tns:UnsubscribeResponseType" /> 178 178 179 179 <!-- ********************************************************************* … … 187 187 ********************************************************************* --> 188 188 189 <complexType name=" start-service-notificationType">189 <complexType name="StartServiceNotificationType"> 190 190 <annotation> 191 191 <documentation xml:lang="en"> … … 203 203 204 204 <element name="start-service-notification" 205 type="tns: start-service-notificationType" />206 207 <complexType name=" start-service-response-type">205 type="tns:StartServiceNotificationType" /> 206 207 <complexType name="StartServiceResponseType"> 208 208 <annotation> 209 209 <documentation xml:lang="en"> … … 219 219 </complexType> 220 220 221 <element name="start-service-response" type="tns: start-service-response-type" />222 223 <complexType name=" get-sycnch-info-type">221 <element name="start-service-response" type="tns:StartServiceResponseType" /> 222 223 <complexType name="GetSynchInfoType"> 224 224 <annotation> 225 225 <documentation xml:lang="en"> … … 228 228 </annotation> 229 229 <complexContent mixed="false"> 230 <extension base="tns: base-synch-request"/>231 </complexContent> 232 </complexType> 233 234 <element name="get-sycnch-info" type="tns: get-sycnch-info-type" />230 <extension base="tns:BaseSynchRequestType"/> 231 </complexContent> 232 </complexType> 233 234 <element name="get-sycnch-info" type="tns:GetSynchInfoType" /> 235 235 236 236 <complexType name="SynchInfoType"> … … 241 241 </complexType> 242 242 243 <complexType name=" synch-info-response-type">243 <complexType name="SynchInfoResponseType"> 244 244 <annotation> 245 245 <documentation xml:lang="en"> … … 260 260 </complexType> 261 261 262 <element name="synch-info-response" type="tns: synch-info-response-type" />262 <element name="synch-info-response" type="tns:SynchInfoResponseType" /> 263 263 264 264 <!-- ============================ add-item =============================== --> 265 265 266 <complexType name=" add-item-type">266 <complexType name="AddItemType"> 267 267 <annotation> 268 268 <documentation xml:lang="en"> … … 271 271 </annotation> 272 272 <complexContent mixed="false"> 273 <extension base="tns: base-synch-entity-request">273 <extension base="tns:BaseSynchEntityRequestType"> 274 274 <sequence> 275 275 <element name="icalendar" type="xcal:IcalendarType" /> … … 279 279 </complexType> 280 280 281 <element name="add-item" type="tns: add-item-type" />282 283 <complexType name=" add-item-response-type">281 <element name="add-item" type="tns:AddItemType" /> 282 283 <complexType name="AddItemResponseType"> 284 284 <annotation> 285 285 <documentation xml:lang="en"> … … 293 293 </complexType> 294 294 295 <element name="add-item-response" type="tns: add-item-response-type" />295 <element name="add-item-response" type="tns:AddItemResponseType" /> 296 296 297 297 <!-- ============================ add-item =============================== --> 298 298 299 <complexType name=" fetch-item-type">299 <complexType name="FetchItemType"> 300 300 <annotation> 301 301 <documentation xml:lang="en"> … … 304 304 </annotation> 305 305 <complexContent mixed="false"> 306 <extension base="tns: base-synch-entity-request"/>307 </complexContent> 308 </complexType> 309 310 <element name="fetch-item" type="tns: fetch-item-type" />311 312 <complexType name=" fetch-item-response-type">306 <extension base="tns:BaseSynchEntityRequestType"/> 307 </complexContent> 308 </complexType> 309 310 <element name="fetch-item" type="tns:FetchItemType" /> 311 312 <complexType name="FetchItemResponseType"> 313 313 <annotation> 314 314 <documentation xml:lang="en"> … … 323 323 </complexType> 324 324 325 <element name="fetch-item-response" type="tns: fetch-item-response-type" />325 <element name="fetch-item-response" type="tns:FetchItemResponseType" /> 326 326 327 327 <!-- ========================== update-item ============================== --> 328 328 329 <complexType name="update-item-type"> 329 <element name="baseUpdate" type="p:BaseUpdateType" /> 330 331 <complexType name="ArrayOfUpdates"> 332 <sequence> 333 <element ref="tns:baseUpdate" maxOccurs="unbounded"/> 334 </sequence> 335 </complexType> 336 337 <element name="add" type="p:AddType" 338 substitutionGroup="tns:baseUpdate"/> 339 340 <element name="replace" type="p:ReplaceType" 341 substitutionGroup="tns:baseUpdate"/> 342 343 <element name="remove" type="p:RemoveType" 344 substitutionGroup="tns:baseUpdate"/> 345 346 <complexType name="UpdateItemType"> 330 347 <annotation> 331 348 <documentation xml:lang="en"> … … 334 351 </annotation> 335 352 <complexContent mixed="false"> 336 <extension base="tns: base-synch-entity-request">353 <extension base="tns:BaseSynchEntityRequestType"> 337 354 <sequence> 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> 343 </sequence> 344 </extension> 345 </complexContent> 346 </complexType> 347 348 <element name="update-item" type="tns:update-item-type" /> 349 350 <complexType name="update-item-response-type"> 355 <element name="updates" type="tns:ArrayOfUpdates" /> 356 </sequence> 357 </extension> 358 </complexContent> 359 </complexType> 360 361 <element name="update-item" type="tns:UpdateItemType" /> 362 363 <complexType name="UpdateItemResponseType"> 351 364 <annotation> 352 365 <documentation xml:lang="en"> … … 361 374 </complexType> 362 375 363 <element name="update-item-response" type="tns: update-item-response-type" />376 <element name="update-item-response" type="tns:UpdateItemResponseType" /> 364 377 </schema> trunk/resources/exsynchwsdefs/wssvc.wsdl
r3063 r3153 10 10 namespace="http://www.bedework.org/exsynch/wsmessages" /> 11 11 </s:schema> 12 </wsdl:types> 12 </wsdl:types> 13 13 14 14 <!-- ====================== startServiceNotification ===================== --> … … 52 52 </wsdl:message> 53 53 54 <!-- ============================= UpdateItem =============================== --> 55 56 <wsdl:message name="UpdateItemIn"> 57 <wsdl:part name="request" element="tns:update-item" /> 58 </wsdl:message> 59 60 <wsdl:message name="UpdateItemOut"> 61 <wsdl:part name="response" element="tns:update-item-response" /> 62 </wsdl:message> 63 54 64 <!-- ============================== port ================================= --> 55 65 56 66 <wsdl:portType name="ExsynchRemoteServicePortType"> 57 <wsdl:operation name=" notify-remote-service">67 <wsdl:operation name="NotifyRemoteService"> 58 68 <wsdl:input message="tns:StartServiceIn" /> 59 69 <wsdl:output message="tns:StartServiceOut" /> 60 70 </wsdl:operation> 61 71 62 <wsdl:operation name=" get-synch-info">72 <wsdl:operation name="GetSynchInfo"> 63 73 <wsdl:input message="tns:GetSynchInfoIn" /> 64 74 <wsdl:output message="tns:GetSynchInfoOut" /> 65 75 </wsdl:operation> 66 76 67 <wsdl:operation name=" add-item">77 <wsdl:operation name="AddItem"> 68 78 <wsdl:input message="tns:AddItemIn" /> 69 79 <wsdl:output message="tns:AddItemOut" /> 70 80 </wsdl:operation> 71 81 72 <wsdl:operation name=" fetch-item">82 <wsdl:operation name="FetchItem"> 73 83 <wsdl:input message="tns:FetchItemIn" /> 74 84 <wsdl:output message="tns:FetchItemOut" /> 85 </wsdl:operation> 86 87 <wsdl:operation name="UpdateItem"> 88 <wsdl:input message="tns:UpdateItemIn" /> 89 <wsdl:output message="tns:UpdateItemOut" /> 75 90 </wsdl:operation> 76 91 </wsdl:portType> … … 86 101 <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> 87 102 88 <wsdl:operation name=" notify-remote-service">103 <wsdl:operation name="NotifyRemoteService"> 89 104 <soap:operation soapAction="http://www.bedework.org/exsynch/wsmessages/notify-remote-service" /> 90 105 <wsdl:input> … … 96 111 </wsdl:operation> 97 112 98 <wsdl:operation name=" get-synch-info">113 <wsdl:operation name="GetSynchInfo"> 99 114 <soap:operation soapAction="http://www.bedework.org/exsynch/wsmessages/get-synch-info" /> 100 115 <wsdl:input> … … 106 121 </wsdl:operation> 107 122 108 <wsdl:operation name=" add-item">123 <wsdl:operation name="AddItem"> 109 124 <soap:operation soapAction="http://www.bedework.org/exsynch/wsmessages/add-item" /> 110 125 <wsdl:input> … … 116 131 </wsdl:operation> 117 132 118 <wsdl:operation name=" fetch-item">133 <wsdl:operation name="FetchItem"> 119 134 <soap:operation soapAction="http://www.bedework.org/exsynch/wsmessages/fetch-item" /> 120 135 <wsdl:input> … … 123 138 <wsdl:output> 124 139 <soap:body use="literal" parts="fetchItemResponse" /> 140 </wsdl:output> 141 </wsdl:operation> 142 143 <wsdl:operation name="UpdateItem"> 144 <soap:operation soapAction="http://www.bedework.org/exsynch/wsmessages/update-item" /> 145 <wsdl:input> 146 <soap:body use="literal" parts="request" /> 147 </wsdl:input> 148 <wsdl:output> 149 <soap:body use="literal" parts="response" /> 125 150 </wsdl:output> 126 151 </wsdl:operation>
