[tdwg-tapir] Schema modification: r531 - trunk/protocol

tdwg-tapir at lists.tdwg.org tdwg-tapir at lists.tdwg.org
Tue May 16 17:24:08 CEST 2006


Author: markus
Date: 2006-05-16 17:24:07 +0200 (Tue, 16 May 2006)
New Revision: 531

Added:
   trunk/protocol/dc.xsd
   trunk/protocol/dcmitype.xsd
   trunk/protocol/dcterms.xsd
   trunk/protocol/georss.xsd
   trunk/protocol/gmlgeorss.xsd
Modified:
   trunk/protocol/tapir.xsd
   trunk/protocol/vcard.xsd
Log:
Replace external schemas with much smaller ones that define only the used subset for TAPIR. This is the first import of the full versions of those schemas to the TAPIR SVN. The next revisions will contain the modified and much smaller schemas.

Added: trunk/protocol/dc.xsd
===================================================================
--- trunk/protocol/dc.xsd	2006-05-16 09:30:13 UTC (rev 530)
+++ trunk/protocol/dc.xsd	2006-05-16 15:24:07 UTC (rev 531)
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns="http://purl.org/dc/elements/1.1/"
+           targetNamespace="http://purl.org/dc/elements/1.1/"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified">
+
+  <xs:annotation>
+    <xs:documentation xml:lang="en">
+      DCMES 1.1 XML Schema
+      XML Schema for http://purl.org/dc/elements/1.1/ namespace
+
+      Created 2003-04-02
+
+      Created by 
+
+      Tim Cole (t-cole3 at uiuc.edu)
+      Tom Habing (thabing at uiuc.edu)
+      Jane Hunter (jane at dstc.edu.au)
+      Pete Johnston (p.johnston at ukoln.ac.uk),
+      Carl Lagoze (lagoze at cs.cornell.edu)
+
+      This schema declares XML elements for the 15 DC elements from the
+      http://purl.org/dc/elements/1.1/ namespace.
+
+      It defines a complexType SimpleLiteral which permits mixed content 
+      and makes the xml:lang attribute available. It disallows child elements by
+      use of minOcccurs/maxOccurs.
+
+      However, this complexType does permit the derivation of other complexTypes
+      which would permit child elements.
+
+      All elements are declared as substitutable for the abstract element any, 
+      which means that the default type for all elements is dc:SimpleLiteral.
+
+    </xs:documentation>
+
+  </xs:annotation>
+
+
+  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
+             schemaLocation="http://www.w3.org/2001/03/xml.xsd">
+  </xs:import>
+
+  <xs:complexType name="SimpleLiteral">
+        <xs:annotation>
+        <xs:documentation xml:lang="en">
+            This is the default type for all of the DC elements.
+            It permits text content only with optional
+            xml:lang attribute.
+            Text is allowed because mixed="true", but sub-elements
+            are disallowed because minOccurs="0" and maxOccurs="0" 
+            are on the xs:any tag.
+
+    	    This complexType allows for restriction or extension permitting
+            child elements.
+    	</xs:documentation>
+  	</xs:annotation>
+
+   <xs:complexContent mixed="true">
+    <xs:restriction base="xs:anyType">
+     <xs:sequence>
+      <xs:any processContents="lax" minOccurs="0" maxOccurs="0"/>
+     </xs:sequence>
+     <xs:attribute ref="xml:lang" use="optional"/>
+    </xs:restriction>
+   </xs:complexContent>
+  </xs:complexType>
+
+  <xs:element name="any" type="SimpleLiteral" abstract="true"/>
+
+  <xs:element name="title" substitutionGroup="any"/>
+  <xs:element name="creator" substitutionGroup="any"/>
+  <xs:element name="subject" substitutionGroup="any"/>
+  <xs:element name="description" substitutionGroup="any"/>
+  <xs:element name="publisher" substitutionGroup="any"/>
+  <xs:element name="contributor" substitutionGroup="any"/>
+  <xs:element name="date" substitutionGroup="any"/>
+  <xs:element name="type" substitutionGroup="any"/>
+  <xs:element name="format" substitutionGroup="any"/>
+  <xs:element name="identifier" substitutionGroup="any"/>
+  <xs:element name="source" substitutionGroup="any"/>
+  <xs:element name="language" substitutionGroup="any"/>
+  <xs:element name="relation" substitutionGroup="any"/>
+  <xs:element name="coverage" substitutionGroup="any"/>
+  <xs:element name="rights" substitutionGroup="any"/>
+
+  <xs:group name="elementsGroup">
+  	<xs:annotation>
+    	<xs:documentation xml:lang="en">
+    	    This group is included as a convenience for schema authors
+            who need to refer to all the elements in the 
+            http://purl.org/dc/elements/1.1/ namespace.
+    	</xs:documentation>
+  	</xs:annotation>
+
+  <xs:sequence>
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element ref="any"/>
+    </xs:choice>
+    </xs:sequence>
+  </xs:group>
+
+  <xs:complexType name="elementContainer">
+  	<xs:annotation>
+    	<xs:documentation xml:lang="en">
+    		This complexType is included as a convenience for schema authors who need to define a root
+    		or container element for all of the DC elements.
+    	</xs:documentation>
+  	</xs:annotation>
+
+    <xs:choice>
+      <xs:group ref="elementsGroup"/>
+    </xs:choice>
+  </xs:complexType>
+
+
+</xs:schema>

Added: trunk/protocol/dcmitype.xsd
===================================================================
--- trunk/protocol/dcmitype.xsd	2006-05-16 09:30:13 UTC (rev 530)
+++ trunk/protocol/dcmitype.xsd	2006-05-16 15:24:07 UTC (rev 531)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns="http://purl.org/dc/dcmitype/"
+           targetNamespace="http://purl.org/dc/dcmitype/"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified">
+
+  <xs:annotation>
+    <xs:documentation xml:lang="en">
+      DCMI Type Vocabulary XML Schema
+      XML Schema for http://purl.org/dc/dcmitype/ namespace
+
+      Created 2003-04-02
+
+      Created by 
+
+      Tim Cole (t-cole3 at uiuc.edu)
+      Tom Habing (thabing at uiuc.edu)
+      Jane Hunter (jane at dstc.edu.au)
+      Pete Johnston (p.johnston at ukoln.ac.uk),
+      Carl Lagoze (lagoze at cs.cornell.edu)
+
+      This schema defines a simpleType which enumerates
+      the allowable values for the DCMI Type Vocabulary.
+    </xs:documentation>
+
+ 
+  </xs:annotation>
+
+
+  <xs:simpleType name="DCMIType">
+     <xs:union>
+        <xs:simpleType>
+           <xs:restriction base="xs:Name">
+		<xs:enumeration value="Collection"/>
+		<xs:enumeration value="Dataset"/>
+		<xs:enumeration value="Event"/>
+		<xs:enumeration value="Image"/>
+		<xs:enumeration value="InteractiveResource"/>
+		<xs:enumeration value="Service"/>
+		<xs:enumeration value="Software"/>
+		<xs:enumeration value="Sound"/>
+		<xs:enumeration value="Text"/>
+		<xs:enumeration value="PhysicalObject"/>
+            </xs:restriction>
+        </xs:simpleType> 
+     </xs:union>
+  </xs:simpleType>
+
+</xs:schema>
\ No newline at end of file

Added: trunk/protocol/dcterms.xsd
===================================================================
--- trunk/protocol/dcterms.xsd	2006-05-16 09:30:13 UTC (rev 530)
+++ trunk/protocol/dcterms.xsd	2006-05-16 15:24:07 UTC (rev 531)
@@ -0,0 +1,331 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns:dc="http://purl.org/dc/elements/1.1/"
+           xmlns:dcmitype="http://purl.org/dc/dcmitype/"
+           targetNamespace="http://purl.org/dc/terms/"
+           xmlns="http://purl.org/dc/terms/"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified">
+
+  <xs:annotation>
+    <xs:documentation xml:lang="en">
+      DCterms XML Schema
+      XML Schema for http://purl.org/dc/terms/ namespace
+
+      Created 2003-04-02
+
+      Created by 
+
+      Tim Cole (t-cole3 at uiuc.edu)
+      Tom Habing (thabing at uiuc.edu)
+      Jane Hunter (jane at dstc.edu.au)
+      Pete Johnston (p.johnston at ukoln.ac.uk),
+      Carl Lagoze (lagoze at cs.cornell.edu)
+
+      This schema declares XML elements for the DC elements and
+      DC element refinements from the http://purl.org/dc/terms/ namespace.
+      
+      It reuses the complexType dc:SimpleLiteral, imported from the dc.xsd
+      schema, which permits simple element content, and makes the xml:lang
+      attribute available.
+
+      This complexType permits the derivation of other complexTypes
+      which would permit child elements.
+
+      DC elements are declared as substitutable for the abstract element dc:any, and 
+      DC element refinements are defined as substitutable for the base elements 
+      which they refine.
+
+      This means that the default type for all XML elements (i.e. all DC elements and 
+      element refinements) is dc:SimpleLiteral.
+
+      Encoding schemes are defined as complexTypes which are restrictions
+      of the dc:SimpleLiteral complexType. These complexTypes restrict 
+      values to an appropriates syntax or format using data typing,
+      regular expressions, or enumerated lists.
+  
+      In order to specify one of these encodings an xsi:type attribute must 
+      be used in the instance document.
+
+      Also, note that one shortcoming of this approach is that any type can be 
+      applied to any of the elements or refinements.  There is no convenient way
+      to restrict types to specific elements using this approach.
+
+    </xs:documentation>
+
+  </xs:annotation>
+
+
+  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
+             schemaLocation="http://www.w3.org/2001/03/xml.xsd">
+  </xs:import>
+
+   <xs:import namespace="http://purl.org/dc/elements/1.1/"
+              schemaLocation="dc.xsd"/>
+
+   <xs:import namespace="http://purl.org/dc/dcmitype/"
+              schemaLocation="dcmitype.xsd"/>
+
+   <xs:element name="alternative" substitutionGroup="dc:title"/>
+
+   <xs:element name="tableOfContents" substitutionGroup="dc:description"/>
+   <xs:element name="abstract" substitutionGroup="dc:description"/>
+
+   <xs:element name="created" substitutionGroup="dc:date"/>
+   <xs:element name="valid" substitutionGroup="dc:date"/>
+   <xs:element name="available" substitutionGroup="dc:date"/>
+   <xs:element name="issued" substitutionGroup="dc:date"/>
+   <xs:element name="modified" substitutionGroup="dc:date"/>
+   <xs:element name="dateAccepted" substitutionGroup="dc:date"/>
+   <xs:element name="dateCopyrighted" substitutionGroup="dc:date"/>
+   <xs:element name="dateSubmitted" substitutionGroup="dc:date"/>
+
+   <xs:element name="extent" substitutionGroup="dc:format"/>
+   <xs:element name="medium" substitutionGroup="dc:format"/>
+
+   <xs:element name="isVersionOf" substitutionGroup="dc:relation"/>
+   <xs:element name="hasVersion" substitutionGroup="dc:relation"/>
+   <xs:element name="isReplacedBy" substitutionGroup="dc:relation"/>
+   <xs:element name="replaces" substitutionGroup="dc:relation"/>
+   <xs:element name="isRequiredBy" substitutionGroup="dc:relation"/>
+   <xs:element name="requires" substitutionGroup="dc:relation"/>
+   <xs:element name="isPartOf" substitutionGroup="dc:relation"/>
+   <xs:element name="hasPart" substitutionGroup="dc:relation"/>
+   <xs:element name="isReferencedBy" substitutionGroup="dc:relation"/>
+   <xs:element name="references" substitutionGroup="dc:relation"/>
+   <xs:element name="isFormatOf" substitutionGroup="dc:relation"/>
+   <xs:element name="hasFormat" substitutionGroup="dc:relation"/>
+   <xs:element name="conformsTo" substitutionGroup="dc:relation"/>
+
+   <xs:element name="spatial" substitutionGroup="dc:coverage"/>
+   <xs:element name="temporal" substitutionGroup="dc:coverage"/>
+
+   <xs:element name="audience" substitutionGroup="dc:any"/>
+
+   <xs:element name="mediator" substitutionGroup="audience"/>
+   <xs:element name="educationLevel" substitutionGroup="audience"/>
+
+   <xs:element name="accessRights" substitutionGroup="dc:rights"/>
+
+   <xs:element name="bibliographicCitation" substitutionGroup="dc:identifier"/>
+
+  <xs:complexType name="LCSH">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="MESH">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="DDC">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="LCC">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="UDC">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="Period">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="W3CDTF">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+           <xs:union memberTypes="xs:gYear xs:gYearMonth xs:date xs:dateTime"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType> 
+
+  <xs:complexType name="DCMIType">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="dcmitype:DCMIType"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="IMT">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="URI">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:anyURI"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType> 
+
+  <xs:complexType name="ISO639-2">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="RFC1766">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:language"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="RFC3066">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:language"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="Point">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="ISO3166">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="Box">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="TGN">
+   <xs:simpleContent>
+    <xs:restriction base="dc:SimpleLiteral">
+        <xs:simpleType>
+          <xs:restriction base="xs:string"/>
+        </xs:simpleType>
+        <xs:attribute ref="xml:lang" use="prohibited"/>
+    </xs:restriction>
+   </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:group name="elementsAndRefinementsGroup">
+  	<xs:annotation>
+    	<xs:documentation xml:lang="en">
+    		This group is included as a convenience for schema authors
+            who need to refer to all the DC elements and element refinements 
+            in the http://purl.org/dc/elements/1.1/ and 
+            http://purl.org/dc/terms namespaces. 
+            N.B. Refinements available via substitution groups.
+    	</xs:documentation>
+  	</xs:annotation>
+
+  <xs:sequence>
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+	<xs:element ref="dc:any" />
+    </xs:choice>
+  </xs:sequence>
+  </xs:group>	
+
+  <xs:complexType name="elementOrRefinementContainer">
+  	<xs:annotation>
+    	<xs:documentation xml:lang="en">
+    		This is included as a convenience for schema authors who need to define a root
+    		or container element for all of the DC elements and element refinements.
+    	</xs:documentation>
+  	</xs:annotation>
+
+    <xs:choice>
+      <xs:group ref="elementsAndRefinementsGroup"/>
+    </xs:choice>
+  </xs:complexType>
+
+
+</xs:schema>

Added: trunk/protocol/georss.xsd
===================================================================
--- trunk/protocol/georss.xsd	2006-05-16 09:30:13 UTC (rev 530)
+++ trunk/protocol/georss.xsd	2006-05-16 15:24:07 UTC (rev 531)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:georss="http://www.georss.org/georss/10" targetNamespace="http://www.georss.org/georss/10" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="1.0">
+    <xs:import namespace="http://www.opengis.net/gml" schemaLocation="gmlgeorss.xsd"/>
+    
+    <xs:element name="where">
+      <xs:annotation>
+          <xs:documentation>Root property element of a GeoRSS GML instance</xs:documentation>
+          <xs:documentation>Container for optional GeoRSS attributes</xs:documentation>
+      </xs:annotation>
+    <xs:complexType>
+        <xs:choice>
+            <xs:element ref="gml:Point"/>
+            <xs:element ref="gml:LineString"/>
+            <xs:element ref="gml:Polygon"/>
+            <xs:element ref="gml:Envelope"/>
+        </xs:choice>
+        <xs:attributeGroup ref="georss:whereAttrGroup"/>
+    </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="point" type="georss:SimplePositionType">
+      <xs:annotation>
+          <xs:documentation>Point property element containing a pair of coordinates representing latitude then longitude in the WGS84 coordinate reference system</xs:documentation>
+          <xs:documentation>This GeoRSS Simple element maps completely onto the where + gml:Point combination of GeoRSS GML</xs:documentation>
+      </xs:annotation>
+    </xs:element>
+    
+    <xs:element name="line" type="georss:SimplePositionType">
+      <xs:annotation>
+          <xs:documentation>Line property element containing a list of pairs of coordinates representing latitude then longitude in the WGS84 coordinate reference system</xs:documentation>
+          <xs:documentation>This GeoRSS Simple element maps completely onto the where + gml:LineString combination of GeoRSS GML</xs:documentation>
+      </xs:annotation>
+    </xs:element>
+    
+    <xs:element name="polygon" type="georss:SimplePositionType">
+      <xs:annotation>
+          <xs:documentation>Closed ring property element containing a list of pairs of coordinates (first pair and last pair identical) representing latitude then longitude in the WGS84 coordinate reference system</xs:documentation>
+          <xs:documentation>This GeoRSS Simple element maps completely onto the where + gml:Polygon combination of GeoRSS GML</xs:documentation>
+      </xs:annotation>
+    </xs:element>
+    
+    <xs:element name="box" type="georss:SimplePositionType">
+      <xs:annotation>
+          <xs:documentation>Rectangular envelope property element containing two pairs of coordinates (lower left envelope corner, upper right envelope corner) representing latitude then longitude in the WGS84 coordinate reference system</xs:documentation>
+          <xs:documentation>This GeoRSS Simple element maps completely onto the where + gml:Envelope combination of GeoRSS GML</xs:documentation>
+      </xs:annotation>
+    </xs:element>
+    
+       <!-- ================================================= -->
+       
+   <xs:complexType name="SimplePositionType">
+      <xs:simpleContent>
+      <xs:annotation>
+          <xs:documentation>Extended doubleList with the addition of GeoRSS where attributes</xs:documentation>
+      </xs:annotation>
+			
+      <xs:extension base="georss:doubleList">
+          <xs:attributeGroup ref="georss:whereAttrGroup"/>
+      </xs:extension>
+      </xs:simpleContent>
+   </xs:complexType>
+ 
+      <!-- ================================================= -->
+ 
+  <xs:simpleType name="doubleList">
+      <xs:annotation>
+         <xs:documentation>XML List based on XML Schema double type, identical to gml:doubleList.  An element of this type contains a space-separated list of double values</xs:documentation>
+      </xs:annotation>
+      <xs:list itemType="xs:double"/>
+   </xs:simpleType>
+
+       <!-- ================================================= -->
+ 
+     <xs:attributeGroup name="whereAttrGroup">
+       <xs:annotation>
+         <xs:documentation>Optional additional parameters for a georss location property </xs:documentation>
+       </xs:annotation>
+		
+       <xs:attribute name="featuretypetag" type="xs:NCName" use="optional">
+         <xs:annotation>		
+            <xs:documentation>Optional where attribute indicating the type of geographic entity is being referred to. Default is &quot;location&quot;</xs:documentation>
+         </xs:annotation>
+       </xs:attribute>
+		
+       <xs:attribute name="relationshiptag" type="xs:NCName" use="optional">
+         <xs:annotation>		
+            <xs:documentation>Optional where attribute indicating how geotagged content is related to the represented location. Default is &quot;isLocatedAt&quot;</xs:documentation>
+         </xs:annotation>
+       </xs:attribute>
+		
+       <xs:attribute name="elev" type="xs:double" use="optional">
+         <xs:annotation>		
+            <xs:documentation>Optional where attribute indicating a GPS-measured elevation in meters (e.g. WGS84 geoid height)</xs:documentation>
+         </xs:annotation>
+       </xs:attribute>
+		
+       <xs:attribute name="floor" type="xs:double" use="optional">
+         <xs:annotation>		
+            <xs:documentation>Optional where attribute indicating elevation by building floor</xs:documentation>
+         </xs:annotation>
+       </xs:attribute>
+		
+       <xs:attribute name="radius" type="xs:double" use="optional">
+         <xs:annotation>		
+            <xs:documentation>Optional where attribute indicating size in meters of a radius or buffer being indicated around the geometry (e.g. radius of circular area around a point geometry </xs:documentation>
+         </xs:annotation>
+       </xs:attribute>
+		
+     </xs:attributeGroup>
+
+       <!-- ================================================= -->
+   
+</xs:schema>
\ No newline at end of file

Added: trunk/protocol/gmlgeorss.xsd
===================================================================
--- trunk/protocol/gmlgeorss.xsd	2006-05-16 09:30:13 UTC (rev 530)
+++ trunk/protocol/gmlgeorss.xsd	2006-05-16 15:24:07 UTC (rev 531)
@@ -0,0 +1,1038 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:smil20="http://www.w3.org/2001/SMIL20/" xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" targetNamespace="http://www.opengis.net/gml" elementFormDefault="qualified" version="3.1.1">
+   <annotation>
+      <documentation>GML Subset schema for gml:Point,gml:LineString,gml:Polygon,gml:Envelope  written by gmlSubset.xslt. </documentation>
+      <documentation>Manually revised for reference by the GeoRSS application schema</documentation>
+   </annotation>
+   <import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://schemas.opengeospatial.net/gml/3.1.1/xlink/xlinks.xsd"/>
+
+       <!-- ================================================= -->
+   <element name="Point" type="gml:PointType" substitutionGroup="gml:_GeometricPrimitive"/>
+
+       <!-- ================================================= -->
+   <complexType name="PointType">
+		
+      <annotation>
+			
+         <documentation>A Point is defined by a single coordinate tuple.</documentation>
+		
+      </annotation>
+		
+      <complexContent>
+			
+         <extension base="gml:AbstractGeometricPrimitiveType">
+				
+            <sequence>
+					
+               <choice>
+						
+                  <annotation>
+							
+                     <documentation>GML supports two different ways to specify the direct poisiton of a point. 1. The "pos" element is of type DirectPositionType.</documentation>
+						
+                  </annotation>
+						
+                  <element ref="gml:pos"/>
+						
+                  <element ref="gml:coordinates">
+							
+                     <annotation>
+								
+                        <documentation>Deprecated with GML version 3.1.0 for coordinates with ordinate values that are numbers. Use "pos" instead. The "coordinates" element shall only be used for coordinates with ordinates that require a string representation, e.g. DMS representations.</documentation>
+							
+                     </annotation>
+						
+                  </element>
+						
+                  <element ref="gml:coord">
+							
+                     <annotation>
+								
+                        <documentation>Deprecated with GML version 3.0. Use "pos" instead. The "coord" element is included for backwards compatibility with GML 2.</documentation>
+							
+                     </annotation>
+						
+                  </element>
+					
+               </choice>
+				
+            </sequence>
+			
+         </extension>
+		
+      </complexContent>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <complexType name="AbstractGeometricPrimitiveType" abstract="true">
+		
+      <annotation>
+			
+         <documentation>This is the abstract root type of the geometric primitives. A geometric primitive is a geometric object that is not decomposed further into other primitives in the system. All primitives are oriented in the direction implied by the sequence of their coordinate tuples.</documentation>
+		
+      </annotation>
+		
+      <complexContent>
+			
+         <extension base="gml:AbstractGeometryType"/>
+		
+      </complexContent>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <complexType name="AbstractGeometryType" abstract="true">
+		
+      <annotation>
+			
+         <documentation>All geometry elements are derived directly or indirectly from this abstract supertype. A geometry element may have an identifying attribute ("gml:id"), a name (attribute "name") and a description (attribute "description"). It may be associated with a spatial reference system (attribute "srsName"). The following rules shall be adhered: - Every geometry type shall derive from this abstract type. - Every geometry element (i.e. an element of a geometry type) shall be directly or indirectly in the substitution group of _Geometry.</documentation>
+		
+      </annotation>
+		
+      <complexContent>
+			
+         <extension base="gml:AbstractGMLType">
+				
+            <attribute name="gid" type="string" use="optional">
+					
+               <annotation>
+						
+                  <documentation>This attribute is included for backward compatibility with GML 2 and is deprecated with GML 3. This identifer is superceded by "gml:id" inherited from AbstractGMLType. The attribute "gid" should not be used anymore and may be deleted in future versions of GML without further notice.</documentation>
+					
+               </annotation>
+				
+            </attribute>
+				
+            <attributeGroup ref="gml:SRSReferenceGroup"/>
+			
+         </extension>
+		
+      </complexContent>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <complexType name="AbstractGMLType" abstract="true">
+		
+      <annotation>
+			
+         <documentation>All complexContent GML elements are directly or indirectly derived from this abstract supertype 
+	to establish a hierarchy of GML types that may be distinguished from other XML types by their ancestry. 
+	Elements in this hierarchy may have an ID and are thus referenceable.  </documentation>
+		
+      </annotation>
+		
+      <sequence>
+			
+         <group ref="gml:StandardObjectProperties"/>
+		
+      </sequence>
+		
+      <attribute ref="gml:id" use="optional"/>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <group name="StandardObjectProperties">
+		
+      <annotation>
+			
+         <documentation>This content model group makes it easier to construct types that 
+      derive from AbstractGMLType and its descendents "by restriction".  
+      A reference to the group saves having to enumerate the standard object properties.  </documentation>
+		
+      </annotation>
+		
+      <sequence>
+			
+         <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/>
+			
+         <element ref="gml:description" minOccurs="0"/>
+			
+         <element ref="gml:name" minOccurs="0" maxOccurs="unbounded">
+				
+            <annotation>
+					
+               <documentation>Multiple names may be provided.  These will often be distinguished by being assigned by different authorities, as indicated by the value of the codeSpace attribute.  In an instance document there will usually only be one name per authority. </documentation>
+				
+            </annotation>
+			
+         </element>
+		
+      </sequence>
+	
+   </group>
+
+       <!-- ================================================= -->
+   <element name="metaDataProperty" type="gml:MetaDataPropertyType">
+		
+      <annotation>
+			
+         <documentation>Contains or refers to a metadata package that contains metadata properties.  </documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <complexType name="MetaDataPropertyType">
+		
+      <annotation>
+			
+         <documentation>Base type for complex metadata property types.</documentation>
+		
+      </annotation>
+		
+      <choice minOccurs="0">
+			
+         <element ref="gml:_MetaData"/>
+			
+         <any processContents="lax"/>
+		
+      </choice>
+		
+      <attributeGroup ref="gml:AssociationAttributeGroup"/>
+		
+      <attribute name="about" type="anyURI" use="optional"/>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <attributeGroup name="AssociationAttributeGroup">
+		
+      <annotation>
+			
+         <documentation>Attribute group used to enable property elements to refer to their value remotely. It contains the “simple link” components from xlinks.xsd, with all members “optional”, and the remoteSchema attribute, which is also optional.  These attributes can be attached to any element, thus allowing it to act as a pointer. The 'remoteSchema' attribute allows an element  that carries link attributes to indicate that the element is declared  in a remote schema rather than by the schema that constrains the current document instance. </documentation>
+		
+      </annotation>
+		
+      <attributeGroup ref="xlink:simpleLink"/>
+		
+      <attribute ref="gml:remoteSchema" use="optional"/>
+	
+   </attributeGroup>
+
+       <!-- ================================================= -->
+   <attribute name="remoteSchema" type="anyURI">
+		
+      <annotation>
+			
+         <documentation>Reference to an XML Schema fragment that specifies the content model of the property’s value. This is in conformance with the XML Schema Section 4.14 Referencing Schemas from Elsewhere. </documentation>
+		
+      </annotation>
+	
+   </attribute>
+
+       <!-- ================================================= -->
+   <element name="description" type="gml:StringOrRefType">
+		
+      <annotation>
+			
+         <documentation>Contains a simple text description of the object, or refers to an external description.  </documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <complexType name="StringOrRefType">
+		
+      <annotation>
+			
+         <documentation>
+This type is available wherever there is a need for a "text" type property. It is of string type, so the text can be included inline, but the value can also be referenced remotely via xlinks from the AssociationAttributeGroup. If the remote reference is present, then the value obtained by traversing the link should be used, and the string content of the element can be used for an annotation.  </documentation>
+		
+      </annotation>
+		
+      <simpleContent>
+			
+         <extension base="string">
+				
+            <attributeGroup ref="gml:AssociationAttributeGroup"/>
+			
+         </extension>
+		
+      </simpleContent>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   
+
+       <!-- ================================================= -->
+   <element name="name" type="gml:CodeType">
+		
+      <annotation>
+			
+         <documentation>Label for the object, normally a descriptive name. An object may have several names, typically assigned by different authorities.  The authority for a name is indicated by the value of its (optional) codeSpace attribute.  The name may or may not be unique, as determined by the rules of the organization responsible for the codeSpace. </documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <complexType name="CodeType">
+    
+      <annotation>
+      
+         <documentation>Name or code with an (optional) authority.  Text token.  
+      If the codeSpace attribute is present, then its value should identify a dictionary, thesaurus 
+      or authority for the term, such as the organisation who assigned the value, 
+      or the dictionary from which it is taken.  
+      A text string with an optional codeSpace attribute. </documentation>
+    
+      </annotation>
+    
+      <simpleContent>
+      
+         <extension base="string">
+        
+            <attribute name="codeSpace" type="anyURI" use="optional"/>
+      
+         </extension>
+    
+      </simpleContent>
+  
+   </complexType>
+
+       <!-- ================================================= -->
+   <attribute name="id" type="ID">
+		
+      <annotation>
+			
+         <documentation>Database handle for the object.  It is of XML type “ID”, so is constrained to be unique in the XML document within which it occurs.  An external identifier for the object in the form of a URI may be constructed using standard XML and XPointer methods.  This is done by concatenating the URI for the document, a fragment separator “#”, and the value of the id attribute.  </documentation>
+		
+      </annotation>
+	
+   </attribute>
+
+       <!-- ================================================= -->
+   <attributeGroup name="SRSReferenceGroup">
+		
+      <annotation>
+			
+         <documentation>Optional reference to the CRS used by this geometry, with optional additional information to simplify use when a more complete definition of the CRS is not needed. </documentation>
+		
+      </annotation>
+		
+      <attribute name="srsName" type="anyURI" use="optional">
+			
+         <annotation>
+				
+            <documentation>In general this reference points to a CRS instance of gml:CoordinateReferenceSystemType (see coordinateReferenceSystems.xsd). For well known references it is not required that the CRS description exists at the location the URI points to. If no srsName attribute is given, the CRS must be specified as part of the larger context this geometry element is part of, e.g. a geometric element like point, curve, etc. It is expected that this attribute will be specified at the direct position level only in rare cases.</documentation>
+			
+         </annotation>
+		
+      </attribute>
+		
+      <attribute name="srsDimension" type="positiveInteger" use="optional">
+			
+         <annotation>
+				
+            <documentation>The "srsDimension" is the length of coordinate sequence (the number of entries in the list). This dimension is specified by the coordinate reference system. When the srsName attribute is omitted, this attribute shall be omitted. </documentation>
+			
+         </annotation>
+		
+      </attribute>
+		
+      <attributeGroup ref="gml:SRSInformationGroup"/>
+	
+   </attributeGroup>
+
+       <!-- ================================================= -->
+   <attributeGroup name="SRSInformationGroup">
+		
+      <annotation>
+			
+         <documentation>Optional additional and redundant information for a CRS to simplify use when a more complete definition of the CRS is not needed. This information shall be the same as included in the more complete definition of the CRS, referenced by the srsName attribute. When the srsName attribute is included, either both or neither of the axisLabels and uomLabels attributes shall be included. When the srsName attribute is omitted, both of these attributes shall be omitted. </documentation>
+		
+      </annotation>
+		
+      <attribute name="axisLabels" type="gml:NCNameList" use="optional">
+			
+         <annotation>
+				
+            <documentation>Ordered list of labels for all the axes of this CRS. The gml:axisAbbrev value should be used for these axis labels, after spaces and forbiddden characters are removed. When the srsName attribute is included, this attribute is optional. When the srsName attribute is omitted, this attribute shall also be omitted. </documentation>
+			
+         </annotation>
+		
+      </attribute>
+		
+      <attribute name="uomLabels" type="gml:NCNameList" use="optional">
+			
+         <annotation>
+				
+            <documentation>Ordered list of unit of measure (uom) labels for all the axes of this CRS. The value of the string in the gml:catalogSymbol should be used for this uom labels, after spaces and forbiddden characters are removed. When the axisLabels attribute is included, this attribute shall also be included. When the axisLabels attribute is omitted, this attribute shall also be omitted. </documentation>
+			
+         </annotation>
+		
+      </attribute>
+	
+   </attributeGroup>
+
+       <!-- ================================================= -->
+   <simpleType name="NCNameList">
+    
+      <annotation>
+      
+         <documentation>A set of values, representing a list of token with the lexical value space of NCName. The tokens are seperated by whitespace.</documentation>
+    
+      </annotation>
+    
+      <list itemType="NCName"/>
+  
+   </simpleType>
+
+       <!-- ================================================= -->
+   
+
+       <!-- ================================================= -->
+   <element name="pos" type="gml:DirectPositionType">
+		
+      <annotation>
+			
+         <appinfo>
+				
+            <sch:pattern>
+					
+               <sch:rule context="gml:pos">
+						
+                  <sch:extends rule="CRSLabels"/>
+					
+               </sch:rule>
+				
+            </sch:pattern>
+			
+         </appinfo>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <complexType name="DirectPositionType">
+		
+      <annotation>
+			
+         <documentation>DirectPosition instances hold the coordinates for a position within some coordinate reference system (CRS). Since DirectPositions, as data types, will often be included in larger objects (such as geometry elements) that have references to CRS, the "srsName" attribute will in general be missing, if this particular DirectPosition is included in a larger element with such a reference to a CRS. In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS.</documentation>
+		
+      </annotation>
+		
+      <simpleContent>
+			
+         <extension base="gml:doubleList">
+				
+            <attributeGroup ref="gml:SRSReferenceGroup"/>
+			
+         </extension>
+		
+      </simpleContent>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <simpleType name="doubleList">
+    
+      <annotation>
+      
+         <documentation>XML List based on XML Schema double type.  An element of this type contains a space-separated list of double values</documentation>
+    
+      </annotation>
+    
+      <list itemType="double"/>
+  
+   </simpleType>
+
+       <!-- ================================================= -->
+   
+
+       <!-- ================================================= -->
+   <element name="coordinates" type="gml:CoordinatesType">
+		
+      <annotation>
+			
+         <documentation>Deprecated with GML version 3.1.0.</documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <complexType name="CoordinatesType">
+    
+      <annotation>
+      
+         <documentation>Tables or arrays of tuples.  
+        May be used for text-encoding of values from a table.  
+        Actually just a string, but allows the user to indicate which characters are used as separators.  
+        The value of the 'cs' attribute is the separator for coordinate values, 
+        and the value of the 'ts' attribute gives the tuple separator (a single space by default); 
+        the default values may be changed to reflect local usage.
+        Defaults to CSV within a tuple, space between tuples.  
+        However, any string content will be schema-valid.  </documentation>
+    
+      </annotation>
+    
+      <simpleContent>
+      
+         <extension base="string">
+        
+            <attribute name="decimal" type="string" default="."/>
+        
+            <attribute name="cs" type="string" default=","/>
+        
+            <attribute name="ts" type="string" default=" "/>
+      
+         </extension>
+    
+      </simpleContent>
+  
+   </complexType>
+
+       <!-- ================================================= -->
+   <element name="coord" type="gml:CoordType">
+		
+      <annotation>
+			
+         <documentation>Deprecated with GML 3.0 and included for backwards compatibility with GML 2. Use the "pos" element instead.</documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <complexType name="CoordType">
+		
+      <annotation>
+			
+         <documentation>Represents a coordinate tuple in one, two, or three dimensions. Deprecated with GML 3.0 and replaced by DirectPositionType.</documentation>
+		
+      </annotation>
+		
+      <sequence>
+			
+         <element name="X" type="decimal"/>
+			
+         <element name="Y" type="decimal" minOccurs="0"/>
+			
+         <element name="Z" type="decimal" minOccurs="0"/>
+		
+      </sequence>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <element name="_GeometricPrimitive" type="gml:AbstractGeometricPrimitiveType" abstract="true" substitutionGroup="gml:_Geometry">
+		
+      <annotation>
+			
+         <documentation>The "_GeometricPrimitive" element is the abstract head of the substituition group for all (pre- and user-defined) geometric primitives.</documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <element name="_Geometry" type="gml:AbstractGeometryType" abstract="true" substitutionGroup="gml:_GML">
+		
+      <annotation>
+			
+         <documentation>The "_Geometry" element is the abstract head of the substituition group for all geometry elements of GML 3. This includes pre-defined and user-defined geometry elements. Any geometry element must be a direct or indirect extension/restriction of AbstractGeometryType and must be directly or indirectly in the substitution group of "_Geometry".</documentation>
+			
+         <appinfo>
+				
+            <sch:pattern>
+					
+               <sch:rule context="gml:_Geometry">
+						
+                  <sch:extends rule="CRSLabels"/>
+					
+               </sch:rule>
+				
+            </sch:pattern>
+			
+         </appinfo>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <element name="_GML" type="gml:AbstractGMLType" abstract="true" substitutionGroup="gml:_Object">
+		
+      <annotation>
+			
+         <documentation>Global element which acts as the head of a substitution group that may include any element which is a GML feature, object, geometry or complex value</documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <element name="_Object" abstract="true">
+		
+      <annotation>
+			
+         <documentation>This abstract element is the head of a substitutionGroup hierararchy which may contain either simpleContent or complexContent elements.  It is used to assert the model position of "class" elements declared in other GML schemas.  </documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <element name="LineString" type="gml:LineStringType" substitutionGroup="gml:_Curve"/>
+
+       <!-- ================================================= -->
+   <complexType name="LineStringType">
+		
+      <annotation>
+			
+         <documentation>A LineString is a special curve that consists of a single segment with linear interpolation. It is defined by two or more coordinate tuples, with linear interpolation between them. It is backwards compatible with the LineString of GML 2, GM_LineString of ISO 19107 is implemented by LineStringSegment.</documentation>
+		
+      </annotation>
+		
+      <complexContent>
+			
+         <extension base="gml:AbstractCurveType">
+				
+            <sequence>
+					
+               <choice>
+						
+                  <annotation>
+							
+                     <documentation>GML supports two different ways to specify the control points of a line string. 1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve (reuse of existing points). 2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve only. The number of direct positions in the list must be at least two.</documentation>
+						
+                  </annotation>
+						
+                  <choice minOccurs="2" maxOccurs="unbounded">
+							
+                     <element ref="gml:pos"/>
+							
+                     <element ref="gml:pointProperty"/>
+							
+                     <element ref="gml:pointRep">
+								
+                        <annotation>
+									
+                           <documentation>Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.</documentation>
+								
+                        </annotation>
+							
+                     </element>
+							
+                     <element ref="gml:coord">
+								
+                        <annotation>
+									
+                           <documentation>Deprecated with GML version 3.0. Use "pos" instead. The "coord" element is included for backwards compatibility with GML 2.</documentation>
+								
+                        </annotation>
+							
+                     </element>
+						
+                  </choice>
+						
+                  <element ref="gml:posList"/>
+						
+                  <element ref="gml:coordinates">
+							
+                     <annotation>
+								
+                        <documentation>Deprecated with GML version 3.1.0. Use "posList" instead.</documentation>
+							
+                     </annotation>
+						
+                  </element>
+					
+               </choice>
+				
+            </sequence>
+			
+         </extension>
+		
+      </complexContent>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <complexType name="AbstractCurveType" abstract="true">
+		
+      <annotation>
+			
+         <documentation>An abstraction of a curve to support the different levels of complexity. The curve can always be viewed as a geometric primitive, i.e. is continuous.</documentation>
+		
+      </annotation>
+		
+      <complexContent>
+			
+         <extension base="gml:AbstractGeometricPrimitiveType"/>
+		
+      </complexContent>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <element name="pointProperty" type="gml:PointPropertyType">
+		
+      <annotation>
+			
+         <appinfo>
+				
+            <sch:pattern>
+					
+               <sch:rule context="gml:pointProperty">
+						
+                  <sch:extends rule="hrefOrContent"/>
+					
+               </sch:rule>
+				
+            </sch:pattern>
+			
+         </appinfo>
+			
+         <documentation>This property element either references a point via the XLink-attributes or contains the point element. pointProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for Point.</documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <complexType name="PointPropertyType">
+		
+      <annotation>
+			
+         <documentation>A property that has a point as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none.</documentation>
+		
+      </annotation>
+		
+      <sequence>
+			
+         <element ref="gml:Point" minOccurs="0"/>
+		
+      </sequence>
+		
+      <attributeGroup ref="gml:AssociationAttributeGroup">
+			
+         <annotation>
+				
+            <documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. 				</documentation>
+			
+         </annotation>
+		
+      </attributeGroup>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <element name="pointRep" type="gml:PointPropertyType">
+		
+      <annotation>
+			
+         <documentation>Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.</documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <element name="posList" type="gml:DirectPositionListType">
+		
+      <annotation>
+			
+         <appinfo>
+				
+            <sch:pattern>
+					
+               <sch:rule context="gml:posList">
+						
+                  <sch:extends rule="CRSLabels"/>
+					
+               </sch:rule>
+				
+            </sch:pattern>
+			
+         </appinfo>
+			
+         <appinfo>
+				
+            <sch:pattern>
+					
+               <sch:rule context="gml:posList">
+						
+                  <sch:extends rule="Count"/>
+					
+               </sch:rule>
+				
+            </sch:pattern>
+			
+         </appinfo>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <complexType name="DirectPositionListType">
+		
+      <annotation>
+			
+         <documentation>DirectPositionList instances hold the coordinates for a sequence of direct positions within the same coordinate reference system (CRS).</documentation>
+		
+      </annotation>
+		
+      <simpleContent>
+			
+         <extension base="gml:doubleList">
+				
+            <attributeGroup ref="gml:SRSReferenceGroup"/>
+				
+            <attribute name="count" type="positiveInteger" use="optional">
+					
+               <annotation>
+						
+                  <documentation>"count" allows to specify the number of direct positions in the list. If the attribute “count” is present then the attribute “srsDimension” shall be present, too.</documentation>
+					
+               </annotation>
+				
+            </attribute>
+			
+         </extension>
+		
+      </simpleContent>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <element name="_Curve" type="gml:AbstractCurveType" abstract="true" substitutionGroup="gml:_GeometricPrimitive">
+		
+      <annotation>
+			
+         <documentation>The "_Curve" element is the abstract head of the substituition group for all (continuous) curve elements.</documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <element name="Polygon" type="gml:PolygonType" substitutionGroup="gml:_Surface"/>
+
+       <!-- ================================================= -->
+   <complexType name="PolygonType">
+		
+      <annotation>
+			
+         <documentation>A Polygon is a special surface that is defined by a single surface patch. The boundary of this patch is coplanar and the polygon uses planar interpolation in its interior. It is backwards compatible with the Polygon of GML 2, GM_Polygon of ISO 19107 is implemented by PolygonPatch.</documentation>
+		
+      </annotation>
+		
+      <complexContent>
+			
+         <extension base="gml:AbstractSurfaceType">
+				
+            <sequence>
+					
+               <element ref="gml:exterior" minOccurs="0"/>
+					
+               <element ref="gml:interior" minOccurs="0" maxOccurs="unbounded"/>
+				
+            </sequence>
+			
+         </extension>
+		
+      </complexContent>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <complexType name="AbstractSurfaceType">
+		
+      <annotation>
+			
+         <documentation>
+				An abstraction of a surface to support the different levels of complexity. A surface is always a continuous region of a plane.
+			</documentation>
+		
+      </annotation>
+		
+      <complexContent>
+			
+         <extension base="gml:AbstractGeometricPrimitiveType"/>
+		
+      </complexContent>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <element name="exterior" type="gml:AbstractRingPropertyType">
+		
+      <annotation>
+			
+         <documentation>A boundary of a surface consists of a number of rings. In the normal 2D case, one of these rings is distinguished as being the exterior boundary. In a general manifold this is not always possible, in which case all boundaries shall be listed as interior boundaries, and the exterior will be empty.</documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <complexType name="AbstractRingPropertyType">
+		
+      <annotation>
+			
+         <documentation>
+			        Encapsulates a ring to represent the surface boundary property of a surface.
+			</documentation>
+		
+      </annotation>
+		
+      <sequence>
+			
+         <element ref="gml:_Ring"/>
+		
+      </sequence>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <element name="_Ring" type="gml:AbstractRingType" abstract="true" substitutionGroup="gml:_Geometry">
+		
+      <annotation>
+			
+         <documentation>The "_Ring" element is the abstract head of the substituition group for all closed boundaries of a surface patch.</documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <complexType name="AbstractRingType" abstract="true">
+		
+      <annotation>
+			
+         <documentation>
+				An abstraction of a ring to support surface boundaries of different complexity.
+			</documentation>
+		
+      </annotation>
+		
+      <complexContent>
+			
+         <extension base="gml:AbstractGeometryType"/>
+		
+      </complexContent>
+	
+   </complexType>
+
+       <!-- ================================================= -->
+   <element name="interior" type="gml:AbstractRingPropertyType">
+		
+      <annotation>
+			
+         <documentation>A boundary of a surface consists of a number of rings. The "interior" rings seperate the surface / surface patch from the area enclosed by the rings.</documentation>
+		
+      </annotation>
+	
+   </element>
+
+       <!-- ================================================= -->
+   <element name="_Surface" type="gml:AbstractSurfaceType" abstract="true" substitutionGroup="gml:_GeometricPrimitive">
+		
+      <annotation>
+			
+         <documentation>The "_Surface" element is the abstract head of the substituition group for all (continuous) surface elements.</documentation>
+		
+      </annotation>
+	
+   </element>
+	<!-- =========== J.Lieberman - elements added manually to script result ========= -->
+	<!-- =========== Abstract Metadata supertype ========================= -->
+	<element name="_MetaData" type="gml:AbstractMetaDataType" abstract="true" substitutionGroup="gml:_Object">
+		<annotation>
+			<documentation>Abstract element which acts as the head of a substitution group for packages of MetaData properties.  </documentation>
+		</annotation>
+	</element>
+	<!-- =========================================================== -->
+	<complexType name="AbstractMetaDataType" abstract="true" mixed="true">
+		<annotation>
+			<documentation> An abstract base type for complex metadata types.</documentation>
+		</annotation>
+		<attribute ref="gml:id" use="optional"/>
+	</complexType>
+	<!-- =========================================================== -->
+	<!-- Envelope -->
+	<!-- =========================================================== -->
+	<element name="Envelope" type="gml:EnvelopeType"/>
+	<!-- =========================================================== -->
+	<complexType name="EnvelopeType">
+		<annotation>
+			<documentation>Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions. The first direct position is the "lower corner" (a coordinate position consisting of all the minimal ordinates for each dimension for all points within the envelope), the second one the "upper corner" (a coordinate position consisting of all the maximal ordinates for each dimension for all points within the envelope).</documentation>
+		</annotation>
+		<choice>
+			<sequence>
+				<element name="lowerCorner" type="gml:DirectPositionType"/>
+				<element name="upperCorner" type="gml:DirectPositionType"/>
+			</sequence>
+			<element ref="gml:coord" minOccurs="2" maxOccurs="2">
+				<annotation>
+					<appinfo>deprecated</appinfo>
+					<documentation>deprecated with GML version 3.0</documentation>
+				</annotation>
+			</element>
+			<element ref="gml:pos" minOccurs="2" maxOccurs="2">
+				<annotation>
+					<appinfo>deprecated</appinfo>
+					<documentation>Deprecated with GML version 3.1. Use the explicit properties "lowerCorner" and "upperCorner" instead.</documentation>
+				</annotation>
+			</element>
+			<element ref="gml:coordinates">
+				<annotation>
+					<documentation>Deprecated with GML version 3.1.0. Use the explicit properties "lowerCorner" and "upperCorner" instead.</documentation>
+				</annotation>
+			</element>
+		</choice>
+		<attributeGroup ref="gml:SRSReferenceGroup"/>
+	</complexType>
+	<!-- =========================================================== -->
+	<element name="LinearRing" type="gml:LinearRingType" substitutionGroup="gml:_Ring"/>
+	<!-- =========================================================== -->
+	<complexType name="LinearRingType">
+		<annotation>
+			<documentation>A LinearRing is defined by four or more coordinate tuples, with linear interpolation between them; the first and last coordinates must be coincident.</documentation>
+		</annotation>
+		<complexContent>
+			<extension base="gml:AbstractRingType">
+				<sequence>
+					<choice>
+						<annotation>
+							<documentation>GML supports two different ways to specify the control points of a linear ring.
+1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this ring, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this ring (reuse of existing points).
+2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this ring only. The number of direct positions in the list must be at least four.</documentation>
+						</annotation>
+						<choice minOccurs="4" maxOccurs="unbounded">
+							<element ref="gml:pos"/>
+							<element ref="gml:pointProperty"/>
+							<element ref="gml:pointRep">
+								<annotation>
+									<documentation>Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.</documentation>
+								</annotation>
+							</element>
+						</choice>
+						<element ref="gml:posList"/>
+						<element ref="gml:coordinates">
+							<annotation>
+								<documentation>Deprecated with GML version 3.1.0. Use "posList" instead.</documentation>
+							</annotation>
+						</element>
+						<element ref="gml:coord" minOccurs="4" maxOccurs="unbounded">
+							<annotation>
+								<documentation>Deprecated with GML version 3.0 and included for backwards compatibility with GML 2. Use "pos" elements instead.</documentation>
+							</annotation>
+						</element>
+					</choice>
+				</sequence>
+			</extension>
+		</complexContent>
+	</complexType>
+<!-- =========================================================== -->
+</schema>

Modified: trunk/protocol/tapir.xsd
===================================================================
--- trunk/protocol/tapir.xsd	2006-05-16 09:30:13 UTC (rev 530)
+++ trunk/protocol/tapir.xsd	2006-05-16 15:24:07 UTC (rev 531)
@@ -27,11 +27,11 @@
 	<xsd:import namespace="http://www.w3.org/XML/1998/namespace"
 		schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>	
 	<xsd:import namespace="http://purl.org/dc/elements/1.1/" 
-		schemaLocation="http://www.dublincore.org/schemas/xmls/simpledc20021212.xsd"/>
+		schemaLocation="dc.xsd"/>
 	<xsd:import namespace="http://purl.org/dc/terms/" 
-		schemaLocation="http://www.dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd"/>
+		schemaLocation="dcterms.xsd"/>
 	<xsd:import namespace="http://www.georss.org/georss/10" 
-		schemaLocation="http://www.georss.org/xml/1.0/georss.xsd"/>
+		schemaLocation="georss.xsd"/>
 	<xsd:import namespace="http://www.w3.org/2001/vcard-rdf/3.0#" 
 		schemaLocation="vcard.xsd"/>
 	<!-- ============================================= -->
@@ -1554,6 +1554,7 @@
 						languages.</xsd:documentation>
 				</xsd:annotation>
 			</xsd:element>
+			<xsd:element name="address" type="xsd:string" minOccurs="0"/>
 			<xsd:element name="relatedInformation" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded">
 				<xsd:annotation>
 					<xsd:documentation>Other related information about this entity found at the

Modified: trunk/protocol/vcard.xsd
===================================================================
--- trunk/protocol/vcard.xsd	2006-05-16 09:30:13 UTC (rev 530)
+++ trunk/protocol/vcard.xsd	2006-05-16 15:24:07 UTC (rev 531)
@@ -27,6 +27,7 @@
 			<dc:creator>Tom Habing, thabing at uiuc.edu</dc:creator>
 			<dc:relation>http://www.w3.org/TR/vcard-rdf</dc:relation>
 			<dc:relation>ftp://ftp.isi.edu/in-notes/rfc2426.txt</dc:relation>
+			<dc:relation>http://xml.coverpages.org/draft-dawson-vcard-xml-dtd-19981027.txt</dc:relation>
 		</appinfo>
 	</annotation>
 
@@ -38,28 +39,25 @@
 	<element name="VCARD">
 		<complexType>
 			<sequence>
-				<any namespace="##targetNamespace" minOccurs="0" maxOccurs="unbounded"/>
+				<element ref="vCard:FN"/>
+				<element ref="vCard:TITLE" minOccurs="0"/>
+				<element ref="vCard:TEL" minOccurs="0"/>
+				<element ref="vCard:EMAIL" />
 			</sequence>
 			<attribute ref="xml:lang" use="optional"/>
 		</complexType>
 	</element>
 
+	<complexType name="simpleElement">
+		<simpleContent>
+			<extension base="string">
+				<attribute ref="xml:lang" use="optional"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+	
 	<element name="FN" type="vCard:simpleElement"/>
-	<element name="NICKNAME" type="vCard:simpleElement"/>
-	<element name="BDAY" type="vCard:simpleElement"/>
-	<element name="MAILER" type="vCard:simpleElement"/>
-	<element name="GEO" type="vCard:simpleElement"/>
 	<element name="TITLE" type="vCard:simpleElement"/>
-	<element name="ROLE" type="vCard:simpleElement"/>
-	<element name="CATEGORIES" type="vCard:simpleElement"/>
-	<element name="NAME" type="vCard:simpleElement"/>
-	<element name="SOURCE" type="vCard:simpleElement"/>
-	<element name="NOTE" type="vCard:simpleElement"/>
-	<element name="PRODID" type="vCard:simpleElement"/>
-	<element name="REV" type="vCard:simpleElement"/>
-	<element name="SORT-STRING" type="vCard:simpleElement"/>
-	<element name="CLASS" type="vCard:simpleElement"/>
-
 	<element name="TEL">
 		<complexType>
     	<simpleContent>
@@ -118,184 +116,5 @@
    	</complexType>
 	</element>
 
-	<element name="ADR">
-		<complexType>
-    	<sequence>
-    		<element name="Pobox" minOccurs="0"  maxOccurs="unbounded" type="vCard:simpleElement"/>
-    		<element name="Extadd" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    		<element name="Street" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    		<element name="Locality" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    		<element name="Region" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    		<element name="Pcode" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    		<element name="Country" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    	</sequence>
-   		<attribute name="TYPE" default="intl postal parcel work">
- 				<simpleType>
- 					<list>
- 						<simpleType>
-     					<restriction base="string">
-       					<enumeration value="dom"/>
-       					<enumeration value="intl"/>
-       					<enumeration value="postal"/>
-       					<enumeration value="parcel"/>
-       					<enumeration value="home"/>
-       					<enumeration value="work"/>
-								<enumeration value="pref"/>
-							</restriction>
-						</simpleType>
-					</list>
- 				</simpleType>
-   		</attribute>
-   		<attribute ref="xml:lang" use="optional"/>
-   	</complexType>
-	</element>
 
-	<element name="ORG">
-		<complexType>
-    	<sequence>
-    		<element name="Orgname" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    		<element name="Orgunit" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    	</sequence>
-    	<attribute ref="xml:lang" use="optional"/>
-    </complexType>
-	</element>
-
-	<element name="N">
-		<complexType>
-    	<sequence>
-    		<element name="Family" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    		<element name="Given" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    		<element name="Other" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    		<element name="Prefix" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    		<element name="Suffix" minOccurs="0" maxOccurs="unbounded" type="vCard:simpleElement"/>
-    	</sequence>
-    	<attribute ref="xml:lang" use="optional"/>
-    </complexType>
-	</element>
-
-	<element name="LABEL">
-		<complexType>
-    	<complexContent mixed="true">
-				<restriction base="anyType">
-        	<sequence>
-         		<any processContents="lax" minOccurs="0" maxOccurs="0"/>
-        	</sequence>
-     			<attribute name="TYPE" default="intl postal parcel work">
-   					<simpleType>
-   						<list>
-   							<simpleType>
-       						<restriction base="string">
-         						<enumeration value="dom"/>
-         						<enumeration value="intl"/>
-         						<enumeration value="postal"/>
-         						<enumeration value="parcel"/>
-         						<enumeration value="home"/>
-         						<enumeration value="work"/>
-          					<enumeration value="pref"/>
-      						</restriction>
-     						</simpleType>
-    					</list>
-   					</simpleType>
-     			</attribute>
-     			<attribute ref="xml:lang" use="optional"/>
-     		</restriction>
-    	</complexContent>
-   	</complexType>
-	</element>
-
-	<element name="TZ">
-		<complexType>
-    	<simpleContent>
-     		<extension base="string">
-      		<attribute name="TYPE">
-    				<simpleType>
-    					<list>
-    						<simpleType>
-        					<restriction base="string">
-          					<enumeration value="text"/>
-       						</restriction>
-      					</simpleType>
-     					</list>
-    				</simpleType>
-      		</attribute>
-      		<attribute ref="xml:lang" use="optional"/>
-     		</extension>
-    	</simpleContent>
-   	</complexType>
-	</element>
-
-	<element name="UID">
-		<complexType>
-    	<simpleContent>
-     		<extension base="string">
-      		<attribute name="TYPE" type="string"/>
-      		<attribute ref="xml:lang" use="optional"/>
-     		</extension>
-    	</simpleContent>
-   	</complexType>
-	</element>
-
-	<element name="PHOTO" type="vCard:binaryElement"/>
-
-	<element name="LOGO" type="vCard:binaryElement"/>
-
-	<element name="SOUND" type="vCard:binaryElement"/>
-
-	<element name="KEY" type="vCard:binaryElement"/>
-
-	<element name="AGENT">
-		<complexType>
-			<sequence>
-				<any namespace="##targetNamespace" minOccurs="0" maxOccurs="unbounded"/>
-			</sequence>
-			<attribute ref="xml:lang" use="optional"/>
-		</complexType>
-	</element>
-
-	<element name="GROUP">
-		<complexType>
-			<sequence>
-				<any namespace="##targetNamespace" minOccurs="0" maxOccurs="unbounded"/>
-			</sequence>
-			<attribute ref="xml:lang" use="optional"/>
-		</complexType>
-	</element>
-
-	<element name="URL">
-		<complexType>
-			<attributeGroup ref="xlink:simpleLink"/>
-		</complexType>
-	</element>
-
-	<complexType name="simpleElement">
-    <simpleContent>
-      <extension base="string">
-        <attribute ref="xml:lang" use="optional"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-	<complexType name="binaryElement">
-  	<simpleContent>
-   		<extension base="base64Binary">
-    		<attribute name="ENCODING" default="b">
-  				<simpleType>
-  					<list>
-  						<simpleType>
-      					<restriction base="string">
-									<enumeration value="b"/>
-									<enumeration value=""/>
-        				</restriction>
-        			</simpleType>
-        		</list>
-        	</simpleType>
-        </attribute>
-    		<attribute name="TYPE" type="string"/>
-    		<attribute ref="xml:lang" use="optional"/>
-    		<attributeGroup ref="xlink:simpleLink"/>
-   		</extension>
-  	</simpleContent>
- 	</complexType>
-
-
 </schema>





More information about the tdwg-tag mailing list