[Bedework-commit] bwxml r10 - in releases/bedework-3.7: . exsynchws schemas schemas/icalendar schemas/xrd

svnadmin at bedework.org svnadmin at bedework.org
Tue Mar 1 00:51:39 EST 2011


Author: douglm
Date: 2011-03-01 00:51:31 -0500 (Tue, 01 Mar 2011)
New Revision: 10

Added:
   releases/bedework-3.7/schemas/xrd/
   releases/bedework-3.7/schemas/xrd/xrd-1.0-os.xsd
Removed:
   releases/bedework-3.7/exsynchws/patch-errors.xsd
   releases/bedework-3.7/exsynchws/patch.xsd
Modified:
   releases/bedework-3.7/.classpath
   releases/bedework-3.7/.project
   releases/bedework-3.7/exsynchws/wsmessages.xsd
   releases/bedework-3.7/exsynchws/wssvc.wsdl
   releases/bedework-3.7/schemas/icalendar/iCalendar-params.xsd
   releases/bedework-3.7/schemas/icalendar/iCalendar-props.xsd
   releases/bedework-3.7/schemas/icalendar/iCalendar-valtypes.xsd
   releases/bedework-3.7/schemas/icalendar/iCalendar-wscal-extensions.xsd
   releases/bedework-3.7/schemas/icalendar/iCalendar.xsd
Log:
Fixes to icalendar schema

Fix the exsynch schema

Small fixes to reduce number of compiler warnings

Modified: releases/bedework-3.7/.classpath
===================================================================
--- releases/bedework-3.7/.classpath	2011-02-24 16:50:33 UTC (rev 9)
+++ releases/bedework-3.7/.classpath	2011-03-01 05:51:31 UTC (rev 10)
@@ -4,18 +4,6 @@
 	<classpathentry excluding="ietf/params/xml/ns/icalendar_2/" kind="src" path="timezones/gensrc/src"/>
 	<classpathentry kind="lib" path="dist/bw-exsynchwsschema-3.7.jar"/>
 	<classpathentry kind="lib" path="dist/bw-tzschema-3.7.jar"/>
-	<classpathentry kind="lib" path="dist/temp/wsimportlib/jaxb-impl-2.1.8.jar"/>
-	<classpathentry kind="lib" path="dist/temp/wsimportlib/jaxb-xjc-2.1.7.jar"/>
-	<classpathentry kind="lib" path="dist/temp/wsimportlib/jaxws-rt-2.1.4.jar"/>
-	<classpathentry kind="lib" path="dist/temp/wsimportlib/jaxws-tools-2.1.4.jar"/>
-	<classpathentry kind="lib" path="dist/temp/wsimportlib/stax-ex-2.2.1.jar"/>
-	<classpathentry kind="lib" path="dist/temp/wsimportlib/streambuffer-1.0.jar"/>
-	<classpathentry kind="lib" path="dist/temp/xjclib/jaxb-impl-2.1.8.jar"/>
-	<classpathentry kind="lib" path="dist/temp/xjclib/jaxb-xjc-2.1.7.jar"/>
-	<classpathentry kind="lib" path="dist/temp/xjclib/jaxws-rt-2.1.4.jar"/>
-	<classpathentry kind="lib" path="dist/temp/xjclib/jaxws-tools-2.1.4.jar"/>
-	<classpathentry kind="lib" path="dist/temp/xjclib/stax-ex-2.2.1.jar"/>
-	<classpathentry kind="lib" path="dist/temp/xjclib/streambuffer-1.0.jar"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="output" path="dist/temp/wsclasses/bwxml/3.7"/>
 </classpath>

Modified: releases/bedework-3.7/.project
===================================================================
--- releases/bedework-3.7/.project	2011-02-24 16:50:33 UTC (rev 9)
+++ releases/bedework-3.7/.project	2011-03-01 05:51:31 UTC (rev 10)
@@ -14,16 +14,4 @@
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
-	<linkedResources>
-		<link>
-			<name>dist/temp/wsclasses/bwxml</name>
-			<type>2</type>
-			<location>/home/douglm/eclipse-build/bwxml</location>
-		</link>
-		<link>
-			<name>dist/temp/wsclasses/bwxml/3.7</name>
-			<type>2</type>
-			<location>/home/douglm/eclipse-build/bwxml/3.7</location>
-		</link>
-	</linkedResources>
 </projectDescription>

Deleted: releases/bedework-3.7/exsynchws/patch-errors.xsd
===================================================================
--- releases/bedework-3.7/exsynchws/patch-errors.xsd	2011-02-24 16:50:33 UTC (rev 9)
+++ releases/bedework-3.7/exsynchws/patch-errors.xsd	2011-03-01 05:51:31 UTC (rev 10)
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- This is the schema for the XML patch errors defined in RFC 5261
--->
-
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-            xmlns:tns="urn:ietf:params:xml:ns:patch-ops-error"
-            targetNamespace="urn:ietf:params:xml:ns:patch-ops-error"
-            elementFormDefault="qualified"
-            attributeFormDefault="unqualified">
-
-  <!-- This import brings in the XML language attribute xml:lang-->
-  <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
-              schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-
-  <!-- ROOT document element for signaling patch-ops errors -->
-  <xsd:element name="patch-ops-error">
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:any namespace="##any" processContents="lax"
-                 minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:sequence>
-      <xsd:anyAttribute processContents="lax"/>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!-- patch-ops error elements:
-       not intended to be used as root documnet elements -->
-  <xsd:element name="invalid-attribute-value"
-               type="tns:patch-error"/>
-  <xsd:element name="invalid-character-set"
-               type="tns:patch-error-simple"/>
-  <xsd:element name="invalid-diff-format"
-               type="tns:patch-error-simple"/>
-  <xsd:element name="invalid-entity-declaration"
-               type="tns:patch-error"/>
-  <xsd:element name="invalid-namespace-prefix"
-               type="tns:patch-error"/>
-  <xsd:element name="invalid-namespace-uri"
-               type="tns:patch-error"/>
-  <xsd:element name="invalid-node-types"
-               type="tns:patch-error"/>
-  <xsd:element name="invalid-patch-directive"
-               type="tns:patch-error"/>
-  <xsd:element name="invalid-root-element-operation"
-               type="tns:patch-error"/>
-  <xsd:element name="invalid-xml-prolog-operation"
-               type="tns:patch-error"/>
-  <xsd:element name="invalid-whitespace-directive"
-               type="tns:patch-error"/>
-  <xsd:element name="unlocated-node"
-               type="tns:patch-error"/>
-  <xsd:element name="unsupported-id-function"
-               type="tns:patch-error"/>
-  <xsd:element name="unsupported-xml-id"
-               type="tns:patch-error"/>
-
-  <!-- simple patch-ops error type  -->
-  <xsd:complexType name="patch-error-simple">
-    <xsd:attribute name="phrase" type="xsd:string"/>
-    <xsd:attribute ref="xml:lang"/>
-    <xsd:anyAttribute processContents="lax"/>
-  </xsd:complexType>
-
-  <!-- error type which includes patch operation -->
-  <xsd:complexType name="patch-error">
-    <xsd:sequence>
-      <xsd:any namespace="##any" processContents="lax"/>
-    </xsd:sequence>
-    <xsd:attribute name="phrase" type="xsd:string"/>
-    <xsd:attribute ref="xml:lang"/>
-    <xsd:anyAttribute processContents="lax"/>
-  </xsd:complexType>
-</xsd:schema>

Deleted: releases/bedework-3.7/exsynchws/patch.xsd
===================================================================
--- releases/bedework-3.7/exsynchws/patch.xsd	2011-02-24 16:50:33 UTC (rev 9)
+++ releases/bedework-3.7/exsynchws/patch.xsd	2011-03-01 05:51:31 UTC (rev 10)
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE schema [
-  <!ENTITY ncname "\i\c*">
-  <!ENTITY qname  "(&ncname;:)?&ncname;">
-  <!ENTITY aname  "@&qname;">
-  <!ENTITY pos    "\[\d+\]">
-  <!ENTITY attr   "\[&aname;='(.)*'\]|\[&aname;=&quot;(.)*&quot;\]">
-  <!ENTITY valueq "\[(&qname;|\.)=&quot;(.)*&quot;\]">
-  <!ENTITY value  "\[(&qname;|\.)='(.)*'\]|&valueq;">
-  <!ENTITY cond   "&attr;|&value;|&pos;">
-  <!ENTITY step   "(&qname;|\*)(&cond;)*">
-  <!ENTITY piq    "processing-instruction\((&quot;&ncname;&quot;)\)">
-  <!ENTITY pi     "processing-instruction\(('&ncname;')?\)|&piq;">
-  <!ENTITY id     "id\(('&ncname;')?\)|id\((&quot;&ncname;&quot;)?\)">
-  <!ENTITY com    "comment\(\)">
-  <!ENTITY text   "text\(\)">
-  <!ENTITY nspa   "namespace::&ncname;">
-  <!ENTITY cnodes "(&text;(&pos;)?)|(&com;(&pos;)?)|((&pi;)(&pos;)?)">
-  <!ENTITY child  "&cnodes;|&step;">
-  <!ENTITY last   "(&child;|&aname;|&nspa;)">
- ]>
-<!-- This is the schema for the XML patch operations defined in RFC 5261 as 
-  modified for xcalendar updates and according to appropriate conventions.
-  
-  As this is intended for use in a SOAP environment the xs:any for the new or
-  replacement value is going to be a problem.
-  
-  For icalendar patching we can restrict the value to be an icalendar element.
-  
-  We select the outer vcalendar is we wish to add a component
-
-  We select a component if we wish to add a property or a component to that 
-  component or if we wish to delete that component 
-
-  We select a property to change it's parameters or it's value or delete it. The 
-  value can be a parameter to add, a new value for the property or nothing to delete
-  
-  We select a parameter to delete it or change its value. The value is a value-type
-  element
-  
--->
-
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
-           xmlns:xcal="urn:ietf:params:xml:ns:icalendar-2.0" 
-           xmlns="urn:ietf:params:xml:ns:pidf-diff" 
-           targetNamespace="urn:ietf:params:xml:ns:pidf-diff" 
-           elementFormDefault="qualified">
-
-  <xs:import schemaLocation="../schemas/icalendar/iCalendar.xsd" 
-             namespace="urn:ietf:params:xml:ns:icalendar-2.0" />
-
-  <xs:simpleType name="XpathType">
-    <xs:restriction base="xs:string">
-      <xs:pattern
-             value="(/)?((&id;)((/&step;)*(/&last;))?|(&step;/)*(&last;))"/>
-    </xs:restriction>
-  </xs:simpleType>
-  
-  <xs:simpleType name="XpathAddType">
-    <xs:restriction base="xs:string">
-      <xs:pattern
-             value="(/)?((&id;)((/&step;)*(/&child;))?|(&step;/)*(&child;))"/>
-    </xs:restriction>
-  </xs:simpleType>
-  
-  <xs:simpleType name="PosType">
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="before"/>
-      <xs:enumeration value="after"/>
-      <xs:enumeration value="prepend"/>
-    </xs:restriction>
-  </xs:simpleType>
-  
-  <xs:simpleType name="AddValueType">
-    <xs:restriction base="xs:string">
-      <xs:pattern value="&aname;|&nspa;"/>
-    </xs:restriction>
-  </xs:simpleType>
-  
-  <xs:complexType name="BaseUpdateType" abstract="true">
-    <xs:attribute name="sel" type="XpathAddType"
-                  use="required"/>
-  </xs:complexType>
-  
-  <xs:complexType name="NewValueType" abstract="true">
-    <xs:complexContent mixed="false">
-      <xs:extension base="BaseUpdateType">
-        <xs:choice> 
-          <xs:element ref="xcal:baseComponent"/>
-          <xs:element ref="xcal:baseProperty"/>
-          <xs:element ref="xcal:baseParameter"/>
-         </xs:choice>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-  
-  <xs:simpleType name="WhitespaceType">
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="before"/>
-      <xs:enumeration value="after"/>
-      <xs:enumeration value="both"/>
-    </xs:restriction>
-  </xs:simpleType>
-  
-  <xs:complexType name="AddType">
-    <xs:complexContent mixed="false">
-      <xs:extension base="NewValueType">
-        <xs:attribute name="pos" type="PosType"/>
-        <xs:attribute name="type" type="AddValueType"/>
-     </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-  
-  <xs:complexType name="ReplaceType">
-    <xs:complexContent mixed="false">
-      <xs:extension base="NewValueType">
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-  
-  <xs:complexType name="RemoveType">
-    <xs:complexContent mixed="false">
-      <xs:extension base="BaseUpdateType">
-        <xs:attribute name="ws" type="WhitespaceType"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:schema>
-           

Modified: releases/bedework-3.7/exsynchws/wsmessages.xsd
===================================================================
--- releases/bedework-3.7/exsynchws/wsmessages.xsd	2011-02-24 16:50:33 UTC (rev 9)
+++ releases/bedework-3.7/exsynchws/wsmessages.xsd	2011-03-01 05:51:31 UTC (rev 10)
@@ -1,21 +1,37 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE schema [
+  <!ENTITY ncname "\i\c*">
+  <!ENTITY qname  "(&ncname;:)?&ncname;">
+  <!ENTITY aname  "@&qname;">
+  <!ENTITY pos    "\[\d+\]">
+  <!ENTITY attr   "\[&aname;='(.)*'\]|\[&aname;=&quot;(.)*&quot;\]">
+  <!ENTITY valueq "\[(&qname;|\.)=&quot;(.)*&quot;\]">
+  <!ENTITY value  "\[(&qname;|\.)='(.)*'\]|&valueq;">
+  <!ENTITY cond   "&attr;|&value;|&pos;">
+  <!ENTITY step   "(&qname;|\*)(&cond;)*">
+  <!ENTITY piq    "processing-instruction\((&quot;&ncname;&quot;)\)">
+  <!ENTITY pi     "processing-instruction\(('&ncname;')?\)|&piq;">
+  <!ENTITY id     "id\(('&ncname;')?\)|id\((&quot;&ncname;&quot;)?\)">
+  <!ENTITY com    "comment\(\)">
+  <!ENTITY text   "text\(\)">
+  <!ENTITY nspa   "namespace::&ncname;">
+  <!ENTITY cnodes "(&text;(&pos;)?)|(&com;(&pos;)?)|((&pi;)(&pos;)?)">
+  <!ENTITY child  "&cnodes;|&step;">
+  <!ENTITY last   "(&child;|&aname;|&nspa;)">
+ ]>
 <schema xmlns="http://www.w3.org/2001/XMLSchema" 
         xmlns:tns="http://www.bedework.org/exsynch/wsmessages" 
         xmlns:xcal="urn:ietf:params:xml:ns:icalendar-2.0"
-        xmlns:p="urn:ietf:params:xml:ns:pidf-diff" 
-        xmlns:perr="urn:ietf:params:xml:ns:patch-ops-error" 
+        xmlns:xrd="http://docs.oasis-open.org/ns/xri/xrd-1.0"
         targetNamespace="http://www.bedework.org/exsynch/wsmessages" 
         elementFormDefault="qualified">
         
   <import schemaLocation="../schemas/icalendar/iCalendar.xsd" 
           namespace="urn:ietf:params:xml:ns:icalendar-2.0" />
+        
+  <import schemaLocation="../schemas/xrd/xrd-1.0-os.xsd" 
+          namespace="http://docs.oasis-open.org/ns/xri/xrd-1.0" />
 
-  <!-- The schemas for RFC 5261 patch operations and errors. -->        
-  <import schemaLocation="patch.xsd"  
-          namespace="urn:ietf:params:xml:ns:pidf-diff" />
-  <import schemaLocation="patch-errors.xsd" 
-          namespace="urn:ietf:params:xml:ns:patch-ops-error" />
-          
   <!-- Schema for messages passed from exsynch processor to the remote service. -->
   
   <simpleType name="SynchType">
@@ -219,7 +235,47 @@
   </complexType>
 
   <element name="start-service-response" type="tns:StartServiceResponseType" />
+
+  <!-- ========================== get-properties =========================== -->
   
+  <complexType name="GetPropertiesType">
+    <annotation>
+      <documentation xml:lang="en">
+           Fetch the XRD object for the targeted resource. The target may be
+           the system itself, a principal, a collection resource or an entity.
+      </documentation>
+    </annotation>
+    <sequence>
+      <choice>
+        <element name="system"> <!-- Empty element -->
+          <complexType/>
+        </element>
+        
+        <element name="principal" type="string" />        
+      </choice>
+    </sequence>
+  </complexType>
+  
+  <element name="get-properties" 
+           type="tns:GetPropertiesType" />
+  
+  <complexType name="GetPropertiesResponseType">
+    <annotation>
+      <documentation xml:lang="en">
+           Respond to the ping
+           token: sent in initial request
+           status: OK
+      </documentation>
+    </annotation>
+    <sequence>
+      <element ref="xrd:XRD" />
+    </sequence>
+  </complexType>
+
+  <element name="get-properties-response" type="tns:GetPropertiesResponseType" />
+
+  <!-- ============================ synch-info ============================= -->
+  
   <complexType name="GetSynchInfoType">
     <annotation>
       <documentation xml:lang="en">
@@ -325,22 +381,101 @@
   <element name="fetch-item-response" type="tns:FetchItemResponseType" />
 
   <!-- ========================== update-item ============================== -->
+  <!-- This is a simplified form of the XML patch operations defined in RFC 5261 
+    modified for xcalendar updates.
+    
+    As this is intended for use in a SOAP environment the xs:any for the new or
+    replacement value is going to be a problem. However, for icalendar patching we 
+    can restrict the value to be an icalendar element.
+    
+    We select the outer vcalendar if we wish to add a component
   
-  <element name="baseUpdate" type="p:BaseUpdateType" />
+    We select a component if we wish to add a property or a component to that 
+    component or if we wish to delete that component 
   
+    We select a property to change it's parameters or it's value or delete it. The 
+    value can be a parameter to add, a new value for the property or nothing to delete
+    
+    We select a parameter to delete it or change its value. The value is a value-type
+    element
+    
+    RFC5261 allows the specification of an insertion point for new items.
+    All new items here are appended to the children of the targeted parent.
+  -->
+
+  <simpleType name="XpathType">
+    <restriction base="string">
+      <pattern
+             value="(/)?((&id;)((/&step;)*(/&last;))?|(&step;/)*(&last;))"/>
+    </restriction>
+  </simpleType>
+  
+  <simpleType name="XpathAddType">
+    <restriction base="string">
+      <pattern
+             value="(/)?((&id;)((/&step;)*(/&child;))?|(&step;/)*(&child;))"/>
+    </restriction>
+  </simpleType>
+  
+  <simpleType name="AddValueType">
+    <restriction base="string">
+      <pattern value="&aname;|&nspa;"/>
+    </restriction>
+  </simpleType>
+  
+  <complexType name="BaseUpdateType" abstract="true">
+    <attribute name="sel" type="tns:XpathAddType"
+                  use="required"/>
+  </complexType>
+  
+  <complexType name="NewValueType" abstract="true">
+    <complexContent mixed="false">
+      <extension base="tns:BaseUpdateType">
+        <choice> 
+          <element ref="xcal:baseComponent"/>
+          <element ref="xcal:baseProperty"/>
+          <element ref="xcal:baseParameter"/>
+         </choice>
+      </extension>
+    </complexContent>
+  </complexType>
+  
+  <complexType name="AddType">
+    <complexContent mixed="false">
+      <extension base="tns:NewValueType">
+        <attribute name="type" type="tns:AddValueType"/>
+     </extension>
+    </complexContent>
+  </complexType>
+  
+  <complexType name="ReplaceType">
+    <complexContent mixed="false">
+      <extension base="tns:NewValueType">
+      </extension>
+    </complexContent>
+  </complexType>
+  
+  <complexType name="RemoveType">
+    <complexContent mixed="false">
+      <extension base="tns:BaseUpdateType" />
+    </complexContent>
+  </complexType>
+  
+  <element name="baseUpdate" type="tns:BaseUpdateType" />
+  
   <complexType name="ArrayOfUpdates">
     <sequence>
       <element ref="tns:baseUpdate" maxOccurs="unbounded"/>
     </sequence>
   </complexType>
 
-  <element name="add" type="p:AddType"
+  <element name="add" type="tns:AddType"
            substitutionGroup="tns:baseUpdate"/>
 
-  <element name="replace" type="p:ReplaceType"
+  <element name="replace" type="tns:ReplaceType"
            substitutionGroup="tns:baseUpdate"/>
 
-  <element name="remove" type="p:RemoveType"
+  <element name="remove" type="tns:RemoveType"
            substitutionGroup="tns:baseUpdate"/>
   
   <complexType name="NamespaceType">
@@ -381,7 +516,6 @@
     </annotation>
     <sequence>
       <element name="status" type="tns:StatusType" />
-      <element ref="perr:patch-ops-error" />
       <element name="message" type="string" />
     </sequence>
   </complexType>

Modified: releases/bedework-3.7/exsynchws/wssvc.wsdl
===================================================================
--- releases/bedework-3.7/exsynchws/wssvc.wsdl	2011-02-24 16:50:33 UTC (rev 9)
+++ releases/bedework-3.7/exsynchws/wssvc.wsdl	2011-03-01 05:51:31 UTC (rev 10)
@@ -11,6 +11,16 @@
     </s:schema>
   </wsdl:types> 
 
+  <!-- =========================== getProperties =========================== -->  
+
+  <wsdl:message name="GetPropertiesIn">
+    <wsdl:part name="request" element="tns:get-properties" />
+  </wsdl:message>
+  
+  <wsdl:message name="GetPropertiesOut">
+    <wsdl:part name="response" element="tns:get-properties-response" />
+  </wsdl:message>
+
   <!-- ====================== startServiceNotification ===================== -->  
 
   <wsdl:message name="StartServiceIn">
@@ -64,6 +74,11 @@
   <!-- ============================== port ================================= -->  
   
   <wsdl:portType name="ExsynchRemoteServicePortType">
+    <wsdl:operation name="GetProperties">
+      <wsdl:input message="tns:GetPropertiesIn" />
+      <wsdl:output message="tns:GetPropertiesOut" />
+    </wsdl:operation>
+    
     <wsdl:operation name="NotifyRemoteService">
       <wsdl:input message="tns:StartServiceIn" />
       <wsdl:output message="tns:StartServiceOut" />
@@ -110,6 +125,16 @@
       </wsdl:output>
     </wsdl:operation>
     
+    <wsdl:operation name="GetProperties">
+      <soap:operation soapAction="http://www.bedework.org/exsynch/wsmessages/get-properties" />
+      <wsdl:input>
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="response" />
+      </wsdl:output>
+    </wsdl:operation>
+    
     <wsdl:operation name="GetSynchInfo">
       <soap:operation soapAction="http://www.bedework.org/exsynch/wsmessages/get-synch-info" />
       <wsdl:input>

Modified: releases/bedework-3.7/schemas/icalendar/iCalendar-params.xsd
===================================================================
--- releases/bedework-3.7/schemas/icalendar/iCalendar-params.xsd	2011-02-24 16:50:33 UTC (rev 9)
+++ releases/bedework-3.7/schemas/icalendar/iCalendar-params.xsd	2011-03-01 05:51:31 UTC (rev 10)
@@ -19,7 +19,7 @@
 
   <xs:complexType name="ArrayOfParameters">
     <xs:sequence>
-      <xs:element ref="xcal:baseParameter" maxOccurs="unbounded"/>
+      <xs:element ref="xcal:baseParameter" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
   </xs:complexType>
          
@@ -299,6 +299,7 @@
   </xs:complexType>
   
   <!-- 3.2.15 Relationship Type -->
+  <!-- Enumerated values are not extensible
   <xs:simpleType name="ReltypeValueType">
     <xs:restriction base="xs:token">
       <xs:enumeration value="PARENT"/>
@@ -306,7 +307,7 @@
       <xs:enumeration value="SIBLING"/>
     </xs:restriction>
   </xs:simpleType>
-  
+ -->  
   <xs:complexType name="ReltypeParamType">
     <xs:complexContent mixed="false">
       <xs:extension base="xcal:TextParameterType"/>

Modified: releases/bedework-3.7/schemas/icalendar/iCalendar-props.xsd
===================================================================
--- releases/bedework-3.7/schemas/icalendar/iCalendar-props.xsd	2011-02-24 16:50:33 UTC (rev 9)
+++ releases/bedework-3.7/schemas/icalendar/iCalendar-props.xsd	2011-03-01 05:51:31 UTC (rev 10)
@@ -32,7 +32,7 @@
 
   <xs:complexType name="ArrayOfProperties">
     <xs:sequence>
-      <xs:element ref="xcal:baseProperty" maxOccurs="unbounded"/>
+      <xs:element ref="xcal:baseProperty" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
   </xs:complexType>
   
@@ -627,6 +627,26 @@
   </xs:complexType>
     
   <!-- 3.8.4.5 Related-To -->
+  <!-- Before extensions to allow different value types
+  <xs:complexType name="RelatedToPropType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="xcal:TextPropertyType"/>
+    </xs:complexContent>
+  </xs:complexType>
+   -->
+   
+  <xs:complexType name="RelatedToPropType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="xcal:BasePropertyType">
+        <xs:choice> 
+          <xs:element ref="xcal:uri"/>
+          <xs:element name="uid" type="xs:string"/>
+          <xs:element name="reference" type="xs:string"/>
+        </xs:choice>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+    
   <!-- 3.8.4.6 Uniform Resource Locator -->
   <xs:complexType name="UrlPropType">
     <xs:complexContent mixed="false">
@@ -656,12 +676,6 @@
     </xs:complexContent>
   </xs:complexType>
     
-  <xs:complexType name="RelatedToPropType">
-    <xs:complexContent mixed="false">
-      <xs:extension base="xcal:TextPropertyType"/>
-    </xs:complexContent>
-  </xs:complexType>
-    
   <!-- 3.8.5.3 Recurrence Rule -->
   <xs:complexType name="RrulePropType">
     <xs:complexContent mixed="false">

Modified: releases/bedework-3.7/schemas/icalendar/iCalendar-valtypes.xsd
===================================================================
--- releases/bedework-3.7/schemas/icalendar/iCalendar-valtypes.xsd	2011-02-24 16:50:33 UTC (rev 9)
+++ releases/bedework-3.7/schemas/icalendar/iCalendar-valtypes.xsd	2011-03-01 05:51:31 UTC (rev 10)
@@ -58,22 +58,31 @@
     <xs:sequence>
       <xs:element name="freq" type="xcal:FreqRecurType"/>
       <xs:sequence>
-        <xs:choice>
+        <xs:choice minOccurs="0">
           <xs:element ref="xcal:until" />
           <xs:element ref="xcal:count" />
         </xs:choice>
       </xs:sequence>
-      <xs:element name="interval" type="xs:string"/>
-      <xs:element name="bysecond" type="xs:string" maxOccurs="unbounded"/>
-      <xs:element name="byminute" type="xs:string" maxOccurs="unbounded"/>
-      <xs:element name="byhour" type="xs:string" maxOccurs="unbounded"/>
-      <xs:element name="byday" type="xs:string" maxOccurs="unbounded"/>
-      <xs:element name="byyearday" type="xs:string" maxOccurs="unbounded"/>
-      <xs:element name="bymonthday" type="xcal:BymonthdayRecurType" maxOccurs="unbounded"/>
-      <xs:element name="byweekno" type="xs:string" maxOccurs="unbounded"/>
-      <xs:element name="bymonth" type="xcal:BymonthRecurType" maxOccurs="unbounded"/>
-      <xs:element name="bysetpos" type="xs:integer" maxOccurs="unbounded"/>
-      <xs:element name="wkst" type="xcal:WeekdayRecurType" />
+      <xs:element name="interval" type="xs:string" minOccurs="0"/>
+      <xs:element name="bysecond" type="xs:string" 
+                  minOccurs="0" maxOccurs="unbounded" />
+      <xs:element name="byminute" type="xs:string"  
+                  minOccurs="0" maxOccurs="unbounded" />
+      <xs:element name="byhour" type="xs:string" 
+                  minOccurs="0" maxOccurs="unbounded" />
+      <xs:element name="byday" type="xs:string" 
+                  minOccurs="0" maxOccurs="unbounded" />
+      <xs:element name="byyearday" type="xs:string" 
+                  minOccurs="0" maxOccurs="unbounded" />
+      <xs:element name="bymonthday" type="xcal:BymonthdayRecurType" 
+                  minOccurs="0" maxOccurs="unbounded" />
+      <xs:element name="byweekno" type="xs:string" 
+                  minOccurs="0" maxOccurs="unbounded" />
+      <xs:element name="bymonth" type="xcal:BymonthRecurType" 
+                  minOccurs="0" maxOccurs="unbounded" />
+      <xs:element name="bysetpos" type="xs:integer" 
+                  minOccurs="0" maxOccurs="unbounded" />
+      <xs:element name="wkst" type="xcal:WeekdayRecurType" minOccurs="0" />
     </xs:sequence>
   </xs:complexType>
   

Modified: releases/bedework-3.7/schemas/icalendar/iCalendar-wscal-extensions.xsd
===================================================================
--- releases/bedework-3.7/schemas/icalendar/iCalendar-wscal-extensions.xsd	2011-02-24 16:50:33 UTC (rev 9)
+++ releases/bedework-3.7/schemas/icalendar/iCalendar-wscal-extensions.xsd	2011-03-01 05:51:31 UTC (rev 10)
@@ -28,7 +28,7 @@
     </xs:complexContent>
   </xs:complexType>
 
-  <!-- Gap is used in the LINK property -->
+  <!-- Gap is used in the RELATED-TO property -->
   <xs:element name="gap" type="xcal:DurationParameterType" 
               substitutionGroup="xcal:baseParameter" />
 

Modified: releases/bedework-3.7/schemas/icalendar/iCalendar.xsd
===================================================================
--- releases/bedework-3.7/schemas/icalendar/iCalendar.xsd	2011-02-24 16:50:33 UTC (rev 9)
+++ releases/bedework-3.7/schemas/icalendar/iCalendar.xsd	2011-03-01 05:51:31 UTC (rev 10)
@@ -31,7 +31,7 @@
 
   <xs:complexType name="ArrayOfComponents">
     <xs:sequence>
-      <xs:element ref="xcal:baseComponent" maxOccurs="unbounded"/>
+      <xs:element ref="xcal:baseComponent" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
   </xs:complexType>
 

Added: releases/bedework-3.7/schemas/xrd/xrd-1.0-os.xsd
===================================================================
--- releases/bedework-3.7/schemas/xrd/xrd-1.0-os.xsd	                        (rev 0)
+++ releases/bedework-3.7/schemas/xrd/xrd-1.0-os.xsd	2011-03-01 05:51:31 UTC (rev 10)
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema 
+  targetNamespace="http://docs.oasis-open.org/ns/xri/xrd-1.0"
+  xmlns="http://www.w3.org/2001/XMLSchema"
+  xmlns:xrd="http://docs.oasis-open.org/ns/xri/xrd-1.0"
+  elementFormDefault="unqualified"
+  attributeFormDefault="unqualified"
+  blockDefault="substitution"
+  version="1.0">
+
+	<import namespace="http://www.w3.org/XML/1998/namespace"
+	  schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+	<annotation>
+		<documentation>
+			Document identifier: xrd-schema-1.0
+			Location: http://docs.oasis-open.org/xri/xrd/v1.0/
+		</documentation>
+	</annotation>
+
+	<complexType name="anyURI">
+		<simpleContent>
+			<extension base="anyURI">
+				<anyAttribute namespace="##other" processContents="lax"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<complexType name="string">
+		<simpleContent>
+			<extension base="string">
+				<anyAttribute namespace="##other" processContents="lax"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<element name="XRDS" type="xrd:XRDSType"/>
+	<complexType name="XRDSType">
+		<sequence>
+			<element ref="xrd:XRD" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="ref" type="anyURI" use="optional"/>
+	</complexType>
+
+	<element name="XRD" type="xrd:XRDType"/>
+	<complexType name="XRDType">
+		<sequence>
+			<element ref="xrd:Expires" minOccurs="0"/>
+			<element ref="xrd:Subject" minOccurs="0"/>
+			<choice minOccurs="0" maxOccurs="unbounded">
+				<element ref="xrd:Alias"/>
+				<element ref="xrd:Property"/>
+				<element ref="xrd:Link"/>
+				<any namespace="##other" processContents="lax"/>
+			</choice>
+		</sequence>
+		<attribute ref="xml:id" use="optional"/>
+		<anyAttribute namespace="##other" processContents="lax"/>
+	</complexType>
+
+	<element name="Expires" type="xrd:ExpiresType"/>
+	<complexType name="ExpiresType">
+		<simpleContent>
+			<extension base="dateTime">
+				<anyAttribute namespace="##other" processContents="lax"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<element name="Subject" type="xrd:anyURI"/>
+	<element name="Alias" type="xrd:anyURI"/>
+
+	<element name="Property" type="xrd:PropertyType" nillable="true"/>
+	<complexType name="PropertyType">
+		<simpleContent>
+			<extension base="xrd:string">
+				<attribute name="type" type="anyURI" use="required"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<element name="Link" type="xrd:LinkType"/>
+	<complexType name="LinkType">
+		<choice minOccurs="0" maxOccurs="unbounded">
+			<element ref="xrd:Title"/>
+			<element ref="xrd:Property"/>
+			<any namespace="##other" processContents="lax"/>
+		</choice>
+		<attribute name="rel" type="anyURI" use="optional"/>
+		<attribute name="type" type="string" use="optional"/>
+		<attribute name="href" type="anyURI" use="optional"/>
+		<attribute name="template" type="string" use="optional"/>
+		<anyAttribute namespace="##other" processContents="lax"/>
+	</complexType>
+
+	<element name="Title" type="xrd:TitleType"/>
+	<complexType name="TitleType">
+		<simpleContent>
+			<extension base="xrd:string">
+				<attribute ref="xml:lang" use="optional"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+</schema>



More information about the Bedework-commit mailing list