OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

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]