2006/unicorn/WebContent/WEB-INF/resources/schemas observer-response2.xsd,1.1,1.2

Update of /sources/public/2006/unicorn/WebContent/WEB-INF/resources/schemas
In directory hutz:/tmp/cvs-serv1543/WebContent/WEB-INF/resources/schemas

Modified Files:
	observer-response2.xsd 
Log Message:
new schema

Index: observer-response2.xsd
===================================================================
RCS file: /sources/public/2006/unicorn/WebContent/WEB-INF/resources/schemas/observer-response2.xsd,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- observer-response2.xsd	1 Oct 2009 17:58:55 -0000	1.1
+++ observer-response2.xsd	14 Oct 2009 16:10:20 -0000	1.2
@@ -3,64 +3,120 @@
 	xmlns:xs="http://www.w3.org/2001/XMLSchema"
 	elementFormDefault="qualified"
 	targetNamespace="http://www.w3.org/unicorn/observationresponse"
-	xmlns:m="http://www.w3.org/unicorn/observationresponse">
+	xmlns="http://www.w3.org/unicorn/observationresponse">
 	<xs:import
 		namespace="http://www.w3.org/XML/1998/namespace"
 		schemaLocation="http://www.w3.org/2001/xml.xsd"/>
 	
-	<xs:element name="observationresponse">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="passed" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="rating" type="m:ratingType" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="list" type="m:listType" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	
-	<xs:complexType name="listType">
-		<xs:sequence>
-			<xs:element name="message" type="m:messageType" minOccurs="0" maxOccurs="unbounded"/>
-		</xs:sequence>
-		<xs:attribute name="uri" type="xs:anyURI"/>
-	</xs:complexType>
-	
-	<xs:complexType name="messageType">
-        <xs:sequence>
-			<xs:element name="context" type="m:contextType" minOccurs="0" maxOccurs="unbounded" />
-			<xs:element name="text" type="xs:string" />
-			<xs:element name="description" type="xs:string" />
-		</xs:sequence>
-		<xs:attribute name="type" type="m:messageTypeEnum"/>
-	</xs:complexType>
-
-
-	<xs:simpleType name="ratingType">
-		<xs:restriction base="xs:int">
+	<!-- Simple types -->
+	<xs:simpleType name="collapseString.type">
+		<xs:restriction base="xs:string">
+			<xs:whiteSpace value="collapse"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="range.type">
+		<xs:restriction base="xs:string">
+			<xs:pattern value="[0-9]+-[0-9]+"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="percent.type">
+		<xs:restriction base="xs:integer">
 			<xs:minInclusive value="0"/>
 			<xs:maxInclusive value="100"/>
 		</xs:restriction>
 	</xs:simpleType>
-
-	<xs:simpleType name="messageTypeEnum">
-		<xs:restriction base="xs:string">
-			<xs:enumeration value="info"/>
-			<xs:enumeration value="error"/>
-			<xs:enumeration value="warning"/>
+	<xs:simpleType name="message.level">
+		<xs:restriction base="xs:token">
+			<xs:pattern value="error|warning|info"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="status.type">
+		<xs:restriction base="xs:token">
+			<xs:pattern value="passed|failed|undef"/>
 		</xs:restriction>
 	</xs:simpleType>
 
-    <xs:complexType name="descriptionType"/>
+	<!-- Complex Types -->
+	<xs:complexType mixed="true" name="description.type">
+		<xs:sequence>
+			<xs:group ref="description.group" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+	</xs:complexType>
+	
+	<xs:complexType name="context.type" mixed="true">
+		<xs:attribute name="line" type="xs:positiveInteger"/>
+		<xs:attribute name="column" type="xs:positiveInteger"/>
+		<xs:attribute name="line-range" type="range.type"/>
+		<xs:attribute name="column-range" type="range.type"/>
+		<xs:attribute name="offset" type="xs:positiveInteger"/>
+		<xs:attribute name="position" type="xs:string"/>
+		<xs:attribute name="ref" type="xs:anyURI"/>
+	</xs:complexType>
 
+	<xs:complexType name="message.type">
+		<xs:sequence>
+			<xs:element name="context" type="context.type" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="title" type="collapseString.type"/>
+			<xs:element name="description" type="description.type" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="ref" type="xs:anyURI"/>
+		<xs:attribute name="type" use="required" type="message.level"/>
+		<xs:attribute name="group" type="xs:token"/>
+		<xs:attribute name="level" type="percent.type"/>
+	</xs:complexType>
 
-    <xs:complexType name="contextType">
-    	<xs:simpleContent>
-    		<xs:extension base="xs:string">
+	<xs:complexType name="list.type">
+		<xs:sequence>
+			<xs:element name="message" type="message.type" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="ref" type="xs:anyURI"/>
+		<xs:attribute name="group" type="xs:token"/>
+	</xs:complexType>
 
-    			<xs:attribute name="line" type="xs:string"></xs:attribute>
-    			<xs:attribute name="column" type="xs:string"></xs:attribute>
-    		</xs:extension>
-    	</xs:simpleContent>
+	<xs:complexType name="group.type">
+		<xs:sequence>
+			<xs:element name="title" type="collapseString.type"/>
+			<xs:element name="description" type="description.type" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="name" type="xs:token" use="required"/>
+		<xs:attribute name="parent" type="xs:token"/>
+	</xs:complexType>
 
-    </xs:complexType>
+	<!-- Root element -->
+	<xs:element name="unicornresponse">	
+		<xs:complexType>
+			<xs:sequence>
+				<xs:group ref="meta"/>
+				<xs:group ref="messages" maxOccurs="unbounded"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	
+	<!-- Groups -->
+	<xs:group name="meta">
+		<xs:sequence>
+			<xs:element name="docURI" type="xs:anyURI"/>
+			<xs:element name="date" type="xs:date" minOccurs="0"/>
+			<xs:element name="status" type="status.type"/>
+			<xs:element name="rating" type="percent.type" minOccurs="0"/>
+		</xs:sequence>
+	</xs:group>
+	
+	<xs:group name="messages">
+		<xs:choice>
+			<xs:element name="list" type="list.type"/>
+			<xs:element name="message" type="message.type"/>
+			<xs:element name="group" type="group.type"/>
+		</xs:choice>
+	</xs:group>	
+	
+	<xs:group name="description.group">
+		<xs:choice>
+			<!-- Must import xhtml modules here -->
+			<xs:element name="a"></xs:element>
+			<xs:element name="b"></xs:element>
+			<xs:element name="u"></xs:element>
+		</xs:choice>
+	</xs:group>
+	
 </xs:schema>
\ No newline at end of file

Received on Wednesday, 14 October 2009 16:10:26 UTC