OASIS Emergency Management TC

 View Only

Re: [emergency] CAP alerts as a Web Feature Service

  • 1.  Re: [emergency] CAP alerts as a Web Feature Service

    Posted 07-03-2005 15:31
     MHonArc v2.5.0b2 -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    emergency message

    [Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


    Subject: Re: [emergency] CAP alerts as a Web Feature Service


    As noted earlier, I need to offer CAP alerts as a Web Feature Service 
    (WFS). If you have any expertise in such things, please review and comment 
    on the attached schema that expresses CAP alerts in GML. (GML, Geography 
    Markup Language, is the required syntax for instances of alerts to be 
    delivered by a Web Feature Service.)
    
    Of course, if anyone else already has such a  schema, Please do let me know!
    
    Eliot
    
    
    Eliot Christian, USGS, 590 National Center, Reston VA 20192
    cell: 571-212-8294  office: 703-648-7245  fax: 703-648-7112
    
    <?xml version = "1.0" encoding = "UTF-8"?>
    <!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
    <xs:schema xmlns = "http://www.incident.com/capgml";
    	 targetNamespace = "http://www.incident.com/capgml";
    	 xmlns:xs = "http://www.w3.org/2001/XMLSchema";
    	 elementFormDefault = "qualified"
    	 attributeFormDefault = "unqualified">
    	<!--  Schema for CAP alert messages cast as GML Features -->
    	
    	<xs:element name = "Alerts">
    		<xs:complexType>
    			<xs:sequence>
    				<xs:element  ref = "boundedBy" minOccurs = "0"/>
    				<xs:element  ref = "featureMember" minOccurs = "0" maxOccurs = "unbounded"/>
    			</xs:sequence>
    		</xs:complexType>
    	</xs:element>
    	<xs:element name = "featureMember">
    		<xs:complexType>
    			<xs:sequence>
    				<xs:element  ref = "Alert" minOccurs = "0" maxOccurs = "unbounded"/>
    			</xs:sequence>
    		</xs:complexType>
    	</xs:element>
    	<xs:element name = "Alert">
    		<xs:complexType>
    			<xs:sequence>
    				<xs:element name = "description" type = "xs:string" minOccurs = "0"/>
    				<xs:element ref  = "name" minOccurs = "0" maxOccurs = "unbounded"/>
            <xs:element ref  = "boundedBy" minOccurs = "0"/>
    				<xs:element name = "identifier" type = "xs:string"/>
    				<xs:element name = "sender" type = "xs:string"/>
    				<xs:element name = "sent" type = "xs:dateTime"/>
    				<xs:element name = "status" type = "StatusType"/>
    				<xs:element name = "msgType" type = "MsgType"/>
    				<xs:element name = "password" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "source" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "scope" type = "ScopeType" minOccurs = "0"/>
    				<xs:element name = "restriction" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "addresses" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "code" type = "xs:string" minOccurs = "0" maxOccurs = "unbounded"/>
    				<xs:element name = "note" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "references" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "incidents" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "language" type = "xs:language" default = "en-US" minOccurs = "0"/>
    				<xs:element name = "category" type = "CategoryType" minOccurs = "0" maxOccurs = "unbounded"/>
    				<xs:element name = "event" type = "xs:string"/>
    				<xs:element name = "urgency" type = "UrgencyType"/>
    				<xs:element name = "severity" type = "SeverityType"/>
    				<xs:element name = "certainty" type = "CertaintyType"/>
    				<xs:element name = "audience" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "eventcode" type = "xs:string" minOccurs = "0" maxOccurs = "unbounded"/>
    				<xs:element name = "effective" type = "xs:dateTime" minOccurs = "0"/>
    				<xs:element name = "onset" type = "xs:dateTime" minOccurs = "0"/>
    				<xs:element name = "expires" type = "xs:dateTime" minOccurs = "0"/>
    				<xs:element name = "senderName" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "headline" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "description" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "instruction" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "web" type = "xs:anyURI" minOccurs = "0"/>
    				<xs:element name = "contact" type = "xs:string" minOccurs = "0"/>
    				<xs:element name = "parameter" type = "xs:string" minOccurs = "0" maxOccurs = "unbounded"/>
    				<xs:element name = "resource" minOccurs = "0" maxOccurs = "unbounded">
    					<xs:complexType>
    						<xs:sequence>
    							<xs:element name = "resourceDesc" type = "xs:string"/>
    							<xs:element name = "mimeType" type = "xs:string" minOccurs = "0"/>
    							<xs:element name = "size" type = "xs:integer" minOccurs = "0"/>
    							<xs:element name = "uri" type = "xs:anyURI" minOccurs = "0"/>
    							<xs:element name = "derefUri" type = "xs:string" minOccurs = "0"/>
    							<xs:element name = "digest" type = "xs:string" minOccurs = "0"/>
    						</xs:sequence>
    					</xs:complexType>
    				</xs:element>
            <xs:element name = "areaDesc" type = "xs:string"/>
            <xs:element name = "extentOf" minOccurs = "0" maxOccurs = "unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name = "Polygon" type = "PolygonType" minOccurs = "0"/>
                  <xs:element name = "circle" type = "CircularExtentType" minOccurs = "0"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name = "geocode" type = "xs:string" minOccurs = "0" maxOccurs = "unbounded"/>
            <xs:element name = "altitude" type = "xs:string" minOccurs = "0"/>
            <xs:element name = "ceiling" type = "xs:string" minOccurs = "0"/>
    			</xs:sequence>
    			<xs:attribute name = "id" type = "xs:ID"/>
    			<xs:attribute name = "fid" type = "xs:string"/>
    		</xs:complexType>
    	</xs:element>
    	<xs:simpleType name = "StatusType">
    		<xs:restriction base = "xs:string">
    			<xs:enumeration value = "Actual"/>
    			<xs:enumeration value = "Exercise"/>
    			<xs:enumeration value = "System"/>
    			<xs:enumeration value = "Test"/>
    		</xs:restriction>
    	</xs:simpleType>
    	<xs:simpleType name = "ScopeType">
    		<xs:restriction base = "xs:string">
    			<xs:enumeration value = "Public"/>
    			<xs:enumeration value = "Restricted"/>
    			<xs:enumeration value = "Private"/>
    		</xs:restriction>
    	</xs:simpleType>
    	<xs:simpleType name = "MsgType">
    		<xs:restriction base = "xs:string">
    			<xs:enumeration value = "Alert"/>
    			<xs:enumeration value = "Update"/>
    			<xs:enumeration value = "Cancel"/>
    			<xs:enumeration value = "Ack"/>
    			<xs:enumeration value = "Error"/>
    		</xs:restriction>
    	</xs:simpleType>
    	<xs:simpleType name = "CategoryType">
    		<xs:restriction base = "xs:string">
    			<xs:enumeration value = "Geo"/>
    			<xs:enumeration value = "Met"/>
    			<xs:enumeration value = "Safety"/>
    			<xs:enumeration value = "Security"/>
    			<xs:enumeration value = "Rescue"/>
    			<xs:enumeration value = "Fire"/>
    			<xs:enumeration value = "Health"/>
    			<xs:enumeration value = "Env"/>
    			<xs:enumeration value = "Transport"/>
    			<xs:enumeration value = "Infra"/>
    			<xs:enumeration value = "Other"/>
    		</xs:restriction>
    	</xs:simpleType>
    	<xs:simpleType name = "UrgencyType">
    		<xs:restriction base = "xs:string">
    			<xs:enumeration value = "Immediate"/>
    			<xs:enumeration value = "Expected"/>
    			<xs:enumeration value = "Future"/>
    			<xs:enumeration value = "Past"/>
    			<xs:enumeration value = "Unknown"/>
    		</xs:restriction>
    	</xs:simpleType>
    	<xs:simpleType name = "SeverityType">
    		<xs:restriction base = "xs:string">
    			<xs:enumeration value = "Extreme"/>
    			<xs:enumeration value = "Severe"/>
    			<xs:enumeration value = "Moderate"/>
    			<xs:enumeration value = "Minor"/>
    			<xs:enumeration value = "Unknown"/>
    		</xs:restriction>
    	</xs:simpleType>
    	<xs:simpleType name = "CertaintyType">
    		<xs:restriction base = "xs:string">
    			<xs:enumeration value = "Very Likely"/>
    			<xs:enumeration value = "Likely"/>
    			<xs:enumeration value = "Possible"/>
    			<xs:enumeration value = "Unlikely"/>
    			<xs:enumeration value = "Unknown"/>
    		</xs:restriction>
    	</xs:simpleType>
    	<xs:element name = "boundedBy">
    		<xs:complexType>
    			<xs:choice>
    				<xs:element ref = "box"/>
    			</xs:choice>
    		</xs:complexType>
    	</xs:element>
    	<xs:element name = "box" type = "EnvelopeType"/>
    	<xs:complexType name = "EnvelopeType">
    		<xs:complexContent>
    			<xs:extension base = "AbstractGeometryType">
    				<xs:sequence>
    					<xs:choice>
    						<xs:element ref = "coord" minOccurs = "2" maxOccurs = "2"/>
    						<xs:element ref = "coordinates"/>
    					</xs:choice>
    				</xs:sequence>
    			</xs:extension>
    		</xs:complexContent>
    	</xs:complexType>
    	<xs:complexType name = "AbstractGeometryType">
    		<xs:sequence>
    			<xs:element ref = "metaDataProperty" minOccurs = "0" maxOccurs = "unbounded"/>
    			<xs:element ref = "description" minOccurs = "0"/>
    			<xs:element ref = "name" minOccurs = "0" maxOccurs = "unbounded"/>
    		</xs:sequence>
    		<xs:attribute name = "id" type = "xs:ID"/>
    		<xs:attribute name = "gid" type = "xs:string"/>
    		<xs:attribute name = "srsName" type = "xs:anyURI"/>
    	</xs:complexType>
    	<xs:element name = "coord">
    		<xs:complexType>
    			<xs:sequence>
    				<xs:element name = "X" type = "xs:decimal"/>
    				<xs:element name = "Y" type = "xs:decimal" minOccurs = "0"/>
    				<xs:element name = "Z" type = "xs:decimal" minOccurs = "0"/>
    			</xs:sequence>
    		</xs:complexType>
    	</xs:element>
    	<xs:element name = "coordinates">
    		<xs:complexType>
    			<xs:simpleContent>
    				<xs:extension base = "xs:string">
    					<xs:attribute name = "decimal" default = "." type = "xs:string"/>
    					<xs:attribute name = "cs" default = "," type = "xs:string"/>
    					<xs:attribute name = "ts" default = " " type = "xs:string"/>
    				</xs:extension>
    			</xs:simpleContent>
    		</xs:complexType>
    	</xs:element>
    	<xs:element name = "metaDataProperty" type = "xs:string"/>
    	<xs:element name = "description" type = "xs:string"/>
    	<xs:element name = "name" type = "xs:string"/>
    	<xs:element name = "outerBoundaryIs" type = "AbstractRingType" substitutionGroup = "exterior"/>
    	<xs:element name = "exterior" type = "AbstractRingType"/>
    	<xs:element name = "interior" type = "AbstractRingType"/>
    	<xs:element name = "LinearRing" type = "LinearRingType"/>
    	<xs:complexType name = "AbstractRingType" abstract = "true">
    		<xs:complexContent>
    			<xs:extension base = "AbstractGeometryType"/>
    		</xs:complexContent>
    	</xs:complexType>
    	<xs:complexType name = "LinearRingType">
    		<xs:complexContent>
    			<xs:extension base = "AbstractRingType">
    				<xs:sequence>
    					<xs:choice>
    						<xs:element ref = "coordinates"/>
    						<xs:element ref = "coord" minOccurs = "4" maxOccurs = "unbounded"/>
    					</xs:choice>
    				</xs:sequence>
    			</xs:extension>
    		</xs:complexContent>
    	</xs:complexType>
    	<xs:complexType name = "PolygonType">
    		<xs:complexContent>
    			<xs:extension base = "AbstractGeometryType">
    				<xs:sequence>
    					<xs:element ref = "exterior" minOccurs = "0"/>
    					<xs:element ref = "interior" minOccurs = "0" maxOccurs = "unbounded"/>
    				</xs:sequence>
    			</xs:extension>
    		</xs:complexContent>
    	</xs:complexType>
    	<xs:complexType name = "CircularExtentType">
    		<xs:complexContent>
    			<xs:extension base = "AbstractGeometryType">
    				<xs:sequence>
    					<xs:element ref = "coord"/>
    					<xs:element name = "radius" type = "xs:double"/>
    				</xs:sequence>
    			</xs:extension>
    		</xs:complexContent>
    	</xs:complexType>
    </xs:schema>


    [Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]