MHonArc v2.5.0b2 -->
emergency message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Re: [emergency] Fwd: [emergency-comment] CAP Normative Schema isimproperly defined
Here's our modified schema that works in .NET, which seems to be very picky.
This is still a work in progress, and any corrections are appreciated.
The original schema caused an access violation in Borland's XML to
datapacket translator, and .NET would not load it either. This one is good
to go for both vendor's tools, to the best that we can determine (we are
building some .NET webservices to this schema, and also some ISAPI DLLs
using Borland's WebBroker and things appear to be working just fine).
Borland's translator seems to do mostly a literal string translation, even
for ennumerations, but this is easily fixed when creating the datapacket by
inserting lists of NodeValueX=FieldValueX for enumerated node repositories.
The .NET IDE should also successfully display this schema graphically and
break out the sections correctly.
(Note www.incident.com/cap/1.0 is missing from the namespace since there
isn't actually anything at that location that we could determine).. ?
Cheers
Kon
---snip capschema-modified.xsd
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd";
elementFormDefault="qualified"
xmlns="http://tempuri.org/XMLSchema.xsd";
xmlns:mstns="http://tempuri.org/XMLSchema.xsd";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
<xs:element name="alert">
<xs:annotation>
<xs:documentation>CAP Alert Message (version1.0)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="identifier" form="unqualified"
type="xs:string"></xs:element>
<xs:element name="sender" type="xs:string" />
<xs:element name="sent" type="xs:dateTime"></xs:element>
<xs:element name="status">
<xs:simpleType>
<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:element>
<xs:element name="msgType">
<xs:simpleType>
<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:element>
<xs:element name="password" type="xs:string" minOccurs="0" />
<xs:element name="source" type="xs:string" minOccurs="0" />
<xs:element name="scope" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Public" />
<xs:enumeration value="Restricted" />
<xs:enumeration value="Private" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<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" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string"></xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="incidents" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string" />
</xs:simpleType>
</xs:element>
<xs:element name="info" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="language" type="xs:language" default="en-US"
minOccurs="0" />
<xs:element name="category" minOccurs="0" maxOccurs="unbounded">
<xs:simpleType>
<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:element>
<xs:element name="event" type="xs:string" />
<xs:element name="urgency">
<xs:simpleType>
<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:element>
<xs:element name="severity">
<xs:simpleType>
<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:element>
<xs:element name="certainty">
<xs:simpleType>
<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>
<xs:element name="audience" type="xs:string" minOccurs="0"/>
<xs:element name="eventCode" type="xs:string" minOccurs="0"/>
<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="descripion" 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:sequence>
</xs:complexType>
</xs:element>
<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="area" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="areaDesc" type="xs:string" />
<xs:element name="polygon" minOccurs="0" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:string" />
</xs:simpleType>
</xs:element>
<xs:element name="circle" minOccurs="0" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:string" />
</xs:simpleType>
</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:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
---snip