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: Fwd: CAP-v1.2.1.xsd proposal (was: Re: [emergency-comment] CAP-v1.2.xsd: why no global type definitions?)


Dear all,

Please find attached again my proposal for a new CAP 1.2 xml schema definition (xsd). There are no semantic changes, only the type definitions are restructured in a way to allow other xml schemas to include this xsd and re-use the global types.

I posted this proposal January last year and it would be great if we could come to a decision. I would kindly ask xml experts on this email list to verify that the usage of global type definitions will not change the element structure of CAP messages.


Best regards,
Matthias Lendholt

-------- Original-Nachricht --------
Betreff: [emergency-comment] CAP-v1.2.1.xsd proposal (was: Re:
[emergency-comment] CAP-v1.2.xsd: why no global type definitions?)
Datum: Fri, 14 Jan 2011 12:56:12 +0100
Von: Matthias Lendholt <matthias.lendholt@gfz-potsdam.de>
Organisation: Deutsches GeoForschungsZentrum
An: Jacob Westfall <jake@jpw.biz>
Kopie (CC): emergency-comment@lists.oasis-open.org

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]