Okay, so I've been a little bored with work...
I've been dabbling with the stuff up to the end of the Survey header. This version has a little more information
in it but it should be too much...
---------------------------------------
<!-- general entities for use later -->
<!ENTITY % AngleUnits "(Degrees, Bearing, DMS, Mills, Grad)">
<!ENTITY % InclinationUnits "(Degrees, DMS, Mills, Grad, Percent)">
<!ENTITY % LengthUnits "(Feet, FeetInch, Meter, CM)">
<!-- This format starts with the big and works its way down. There is nothing
to prohibit starting small and working to the system. I find it easier
to deconstruct then build -->
<!ELEMENT CaveXML (System | Cave)>
<!-- A file can contain a survey with many caves or a single cave -->
<!ATTLIST CaveXML
Version CDATA #FIXED "0.01"
Source CDATA #IMPLIED>
<!-- Version will hold the CaveXML release version this file used.-->
<!-- Source will hold information from a data conversion. Some values
could be: SMAPS, CMAP, Karst, COMPASS, OnStation, Survex. -->
<!ELEMENT System (Name, Cave+)>
<!-- A system is made up of one or more Caves -->
<!ELEMENT Cave (Name, Entrance?, Surveys)>
<!ELEMENT Entrance Location>
<!ATTLIST Entrance station IDREF #IMPLIED>
<!-- This is the entrance station used for tying the cave to coordinate data -->
<!ELEMENT Location EMPTY>
<!-- This would hold the coordinates in either GPS or Lat/Long for the entrance station -->
<!ELEMENT Surveys (Survey+)>
<!-- This is the section were raw survey data is held. If other information is necessary,
it can be added via another section (ie. Inventories, Pictures, etc). -->
<!ELEMENT Survey (Name, Header, Data)>
<!-- The raw survey data. A survey has a header and the data (shots/stations) -->
<!-- The elements of the survey header -->
<!ELEMENT Header (Date, Declination?, Team?, Equipment?, Format?, Walls?)>
<!ELEMENT Date EMPTY>
<!ATTLIST Date
Year CDATA #IMPLIED
Month CDATA #IMPLIED
Day CDATA #IMPLIED>
<!ELEMENT Declination EMTPY>
<!ATTLIST Declination
Value CDATA #REQUIRED>
<!-- The magnetic declination for this date. If included, the value must be given -->
<!ELEMENT Team (Personnel+)>
<!-- The people that did the survey. If a team element is present, there must
be one or more people in the team -->
<!ELEMENT Personnel (Name, Role*)>
<!-- A person has a name and one or more roles -->
<!ELEMENT Role EMPTY>
<!ATTLIST Role
Job (CDATA, Instrument, Book, Sketch, LeadTape, BackTape, FrontSight,
BackSight, Inventory, Other)>
<!-- a rough cut at the roles -->
<!ELEMENT Equipment (Instrument+)>
<!-- The instruments used in the survey. If the Equipment element is present, there
must be one or more instruments defined -->
<!ELEMENT Instrument EMPTY>
<!ATTLIST Instrument
Kind (Compass, Tape, Inclinometer, Other) #REQUIRED
Correction CDATA #IMPLIED
Accuracy CDATA #IMPLIED
SerialNumber CDATA #IMPLIED
Owner CDATA #IMPLIED>
<!ELEMENT Format (Item+)>
<!-- A format has a list of items in the order they appear in the survey book -->
<!ELEMENT Item EMPTY>
<!ATTLIST Item
Name (Station, Direction, Distance, FrontAzimuth, BackAzimuth,
FrontInclination, BackInclination, FrontDepth, BackDepth,
Instrument, Light, Left, Right, Up, Down, Ceiling, Floor) #IMPLIED
Units (Null, Feet, FeetInch, Meters, CM, Degrees, DMS, Bearing, Mills, Grad, Percent) #IMPLIED>
<!-- I don't like the way this works right now. It would be better to have a default format
and items with constraints on the units (ie only angle unit for azimuth, only length
units for Distance, Left, Right, etc). In the mean time, this works, just not as well -->
<!ELEMENT Walls>
<!ATTLIST Walls
Location (From, To) #IMPLIED
Reference (Caver, Station) "Station"
Direction (PerpToNext, PerpToLast, Average) "PerpToNext">
<!-- Define how the passage dimensions are measured. -->
<!-- The raw survey data -->
<!-- This section left intentionally blank -->
<!-- General purpose Elements -->
<!ELEMENT Name Empty>
<!ATTLIST Name
Value CDATA #IMPLIED>
- Richard Knapp
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
This archive was generated by hypermail 2b30 : Mon Apr 02 2001 - 18:00:01 CEST