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

 


Help: OASIS Mailing Lists Help | MarkMail Help

emergency-comment message

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


Subject: CAP-v1.2.1.xsd proposal (was: Re: [emergency-comment] CAP-v1.2.xsd:why no global type definitions?)


Am 13.01.2011 15:09, schrieb Jacob Westfall:
>> My intention is not to create an alternate schema for CAP. I'd rather
>> propose that the official cap schema is reorganised. Type definitions
>
> Reorganizing the 1.2 schema is a non-trivial operation as it would require going back through the OASIS process for reviews and such.  The current focus of work on CAP going forward is for version 2.0 and so your suggestion about global type definitions will be added to the list of considerations for this effort.

OK, Thanks for that. I understand that a new version must be reviewed 
completely and that the review process for v2.0 will take some time.

However, from the technical point of view no semantic changes will be 
applied if the schema is just reogranized. Just the schema syntax.


I'll not go too far but maybe the numbering within the CAP-project could 
be adapted to [major].[minor].[patch] and a new schema could be 
published by just increasing the patch number.
Please find attached a proposal for a refactored CAP.xsd.


Best regards,
Matthias Lendholt
-- 
[matthias.lendholt@gfz-potsdam.de]
GFZ German Research Centre for Geosciences
CeGIT Centre for GeoInformation Technology
Tel +49 331 288-1687; FAX +49 331 288-1703
Telegrafenberg A20, 14473 Potsdam, Germany
Blog http://zeigertelegraph.gfz-potsdam.de
Contact MECARD QR Code: http://goo.gl/488J
<?xml version="1.0" encoding="UTF-8"?>
<!-- cap v1.2.1 proposal - no official standard! (author: Matthias Lendholt, GFZ) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:cap="urn:oasis:names:tc:emergency:cap:1.2.1" targetNamespace="urn:oasis:names:tc:emergency:cap:1.2.1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2.1">
	<xsd:element name="alert">
		<xsd:annotation>
			<xsd:documentation>CAP Alert Message (version 1.2.1)</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="identifier" type="xsd:string"/>
				<xsd:element name="sender" type="xsd:string"/>
				<xsd:element name="sent" type="cap:dateTimeType"/>
				<xsd:element name="status" type="cap:statusType"/>
				<xsd:element name="msgType" type="cap:msgTypeType"/>
				<xsd:element name="source" type="xsd:string" minOccurs="0"/>
				<xsd:element name="scope" type="cap:scopeType"/>
				<xsd:element name="restriction" type="xsd:string" minOccurs="0"/>
				<xsd:element name="addresses" type="xsd:string" minOccurs="0"/>
				<xsd:element name="code" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="note" type="xsd:string" minOccurs="0"/>
				<xsd:element name="references" type="xsd:string" minOccurs="0"/>
				<xsd:element name="incidents" type="xsd:string" minOccurs="0"/>
				<xsd:element name="info" minOccurs="0" maxOccurs="unbounded" type="cap:infoType"/>
				<xsd:any namespace="http://www.w3.org/2000/09/xmldsig#"; processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	
	<!-- types used within alert element: -->
	
	<xsd:simpleType name="statusType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Actual"/>
			<xsd:enumeration value="Exercise"/>
			<xsd:enumeration value="System"/>
			<xsd:enumeration value="Test"/>
			<xsd:enumeration value="Draft"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="msgTypeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Alert"/>
			<xsd:enumeration value="Update"/>
			<xsd:enumeration value="Cancel"/>
			<xsd:enumeration value="Ack"/>
			<xsd:enumeration value="Error"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="scopeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Public"/>
			<xsd:enumeration value="Restricted"/>
			<xsd:enumeration value="Private"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:complexType name="infoType">
		<xsd:sequence>
			<xsd:element name="language" type="xsd:language" default="en-US" minOccurs="0"/>
			<xsd:element name="category" maxOccurs="unbounded" type="cap:categoryType"/>
			<xsd:element name="event" type="xsd:string"/>
			<xsd:element name="responseType" minOccurs="0" maxOccurs="unbounded" type="cap:responseTypeType"/>
			<xsd:element name="urgency" type="cap:urgencyType"/>
			<xsd:element name="severity" type="cap:severityType"/>
			<xsd:element name="certainty" type="cap:certaintyType"/>
			<xsd:element name="audience" type="xsd:string" minOccurs="0"/>
			<xsd:element name="eventCode" type="cap:keyValueType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="effective" minOccurs="0" type="cap:dateTimeType"/>
			<xsd:element name="onset" minOccurs="0" type="cap:dateTimeType"/>
			<xsd:element name="expires" minOccurs="0" type="cap:dateTimeType"/>
			<xsd:element name="senderName" type="xsd:string" minOccurs="0"/>
			<xsd:element name="headline" type="xsd:string" minOccurs="0"/>
			<xsd:element name="description" type="xsd:string" minOccurs="0"/>
			<xsd:element name="instruction" type="xsd:string" minOccurs="0"/>
			<xsd:element name="web" type="xsd:anyURI" minOccurs="0"/>
			<xsd:element name="contact" type="xsd:string" minOccurs="0"/>
			<xsd:element name="parameter" type="cap:keyValueType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="resource" type="cap:resourceType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="area" type="cap:areaType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<!-- types used within infoType: -->	
	
	<xsd:simpleType name="categoryType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Geo"/>
			<xsd:enumeration value="Met"/>
			<xsd:enumeration value="Safety"/>
			<xsd:enumeration value="Security"/>
			<xsd:enumeration value="Rescue"/>
			<xsd:enumeration value="Fire"/>
			<xsd:enumeration value="Health"/>
			<xsd:enumeration value="Env"/>
			<xsd:enumeration value="Transport"/>
			<xsd:enumeration value="Infra"/>
			<xsd:enumeration value="CBRNE"/>
			<xsd:enumeration value="Other"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="responseTypeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Shelter"/>
			<xsd:enumeration value="Evacuate"/>
			<xsd:enumeration value="Prepare"/>
			<xsd:enumeration value="Execute"/>
			<xsd:enumeration value="Avoid"/>
			<xsd:enumeration value="Monitor"/>
			<xsd:enumeration value="Assess"/>
			<xsd:enumeration value="AllClear"/>
			<xsd:enumeration value="None"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="urgencyType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Immediate"/>
			<xsd:enumeration value="Expected"/>
			<xsd:enumeration value="Future"/>
			<xsd:enumeration value="Past"/>
			<xsd:enumeration value="Unknown"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="severityType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Extreme"/>
			<xsd:enumeration value="Severe"/>
			<xsd:enumeration value="Moderate"/>
			<xsd:enumeration value="Minor"/>
			<xsd:enumeration value="Unknown"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="certaintyType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Observed"/>
			<xsd:enumeration value="Likely"/>
			<xsd:enumeration value="Possible"/>
			<xsd:enumeration value="Unlikely"/>
			<xsd:enumeration value="Unknown"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:complexType name="resourceType">
		<xsd:sequence>
			<xsd:element name="resourceDesc" type="xsd:string"/>
			<xsd:element name="mimeType" type="xsd:string"/>
			<xsd:element name="size" type="xsd:integer" minOccurs="0"/>
			<xsd:element name="uri" type="xsd:anyURI" minOccurs="0"/>
			<xsd:element name="derefUri" type="xsd:string" minOccurs="0"/>
			<xsd:element name="digest" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="areaType">
		<xsd:sequence>
			<xsd:element name="areaDesc" type="xsd:string"/>
			<xsd:element name="polygon" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="circle" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="geocode" type="cap:keyValueType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="altitude" type="xsd:decimal" minOccurs="0"/>
			<xsd:element name="ceiling" type="xsd:decimal" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>

	<!-- globally used types: -->		

	<xsd:simpleType name="dateTimeType">
		<xsd:restriction base="xsd:dateTime">
			<xsd:pattern value="\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d[-,+]\d\d:\d\d"/>
		</xsd:restriction>
	</xsd:simpleType>	
	
	<xsd:complexType name="keyValueType">
		<xsd:sequence>
			<xsd:element name="valueName" type="xsd:string"/>
			<xsd:element name="value" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	
</xsd:schema>


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