Time Series Data Module. FIGIS Keys, Values, Units.
<?xml version="1.0" encoding="UTF-8"?> <!-- ============================================================== --> <!-- Project: Time Series Universal Import Export --> <!-- Component: Time Series Data module--> <!-- Original author: Yves Jaques --> <!-- Organisation: FAO of the UN, FIDI, FIGIS project --> <!-- Date: 07/09/2001 --> <!-- Modifications: --> <!-- Date Author Note --> <!-- ======= ============ ===================================== --> <!-- dd/mm/yy who? why? --> <!-- dd/10/2001 Yury Shatz ver. 2--> <!-- ============================================================== --> <!--Keys, Values, Units. This DTD contains the structures that hold the actual data--> <!-- ============================================================== --> <!--FigisTimeSeriesTagLib entity calls a group of common elements shared by the various DTDs. --> <!ENTITY % FigisTimeSeriesTagLib PUBLIC "Figis Time Series Import Export Tag Library 1.0" "TSTagLib1.0.dtd"> <!ENTITY % TagLibInclude 'INCLUDE'> %FigisTimeSeriesTagLib; <!-- ============================================================== --> <!--TS_DATA is the root data-holding element and consists of a group of one or more RECORDs.--> <!ELEMENT TS_DATA (TS_RECORD+)> <!ATTLIST TS_DATA %REM; > <!-- ============================================================== --> <!--TS_RECORD is the container for a single data record. It contains a KEYDATA_LIST (consisting of OBJ_REFerences) that hold the IDs of the keys for a record. TS_RECORD also contains either one or more CELL_SERIES or one or more CELLs holding data values.--> <!-- Creator of XML can choose what is more convenient - perhaps generate CELL_SERIES if all cells of the same series are grouped in source file, or generate individual CELLs if they are mixed.. --> <!ELEMENT TS_RECORD (KEYDATA_LIST, (CELL_SERIES+ | CELL+), NOTE?)> <!ATTLIST TS_RECORD %REM; > <!-- KEYDATA_LIST holds references to the keys for a record, it must contain as many OBJ_REFs as many keys there are in the dataset (see NUM_KEYS in KEY_LIST in TS_METADATA), in the same order NOTE can be attached to the whole record, to a series or to an individual cell --> <!-- CELL holds a data value.--> <!-- Example: <TS_RECORD> <KEYDATA_LIST> <OBJ_REF><ID>Country008</ID></OBJ_REF> <OBJ_REF><ID>Species1230100909</ID></OBJ_REF> </KEYDATA_LIST> <CELL VARIABLE="Q" TIME_PERIOD="1979" SYMBOL="F" VALUE="200"/> <CELL VARIABLE="V" TIME_PERIOD="1979" SYMBOL="F" VALUE="0.0"/> <CELL VARIABLE="Q" TIME_PERIOD="1980" SYMBOL="F" VALUE="800"/> <CELL VARIABLE="V" TIME_PERIOD="1980" SYMBOL="F" VALUE="0.0"/> <CELL VARIABLE="Q" TIME_PERIOD="1981" SYMBOL="F" VALUE="500"/> </TS_RECORD> --> <!-- ============================================================== --> <!-- KEYDATA_LIST holds references to the keys for a record, it must contain as many OBJ_REFs as many keys there are in the dataset (see NUM_KEYS in KEY_LIST in TS_METADATA), in the same order --> <!ELEMENT KEYDATA_LIST (OBJ_REF)+> <!ATTLIST KEYDATA_LIST %REM; > <!--OBJ_REF identifies a key object (instance of OBJ defined in REF_DATA), using ID, ATT_VAL, or NAME --> <!-- Example: <KEYDATA_LIST> <OBJ_REF><ID>Country008</ID></OBJ_REF> <OBJ_REF><ID>Species1230100909</ID></OBJ_REF> <OBJ_REF><ID>OceanStatArea05</ID></OBJ_REF> <OBJ_REF><ID>EnvironmentIN</ID></OBJ_REF> </KEYDATA_LIST> --> <!-- ============================================================== --> <!--CELL_SERIES is a container for a single series (cells for a single variable), and specifies VARIABLE and UNIT for all of them. This way individual CELL elements don't have to have VARIABLE and UNIT attributes --> <!ELEMENT CELL_SERIES (CELL+, NOTE?)> <!ATTLIST CELL_SERIES ORDERED (yes | no ) "yes" VARIABLE CDATA #IMPLIED UNIT CDATA #IMPLIED %REM; > <!-- ORDERED="yes" means that there is a CELL per each column inside the CELL_SERIES, i.e. first CELL is for first column etc. This way individual CELLs do not need COL and TIME_PERIOD attribute --> <!--VARIABLE is the ID or ABBREV for VARIABLE element as in 'Q' for quantity of 'V' for value. See VARIABLE element in TS_METADATA. You must specify VARIABLE if dataset contains more than one. --> <!--UNIT is the ID or ABBREV for measurement unit for the value. See UNIT element in TS_METADATA. If omitted, default unit for this variable is taken --> <!-- ============================================================== --> <!--CELL is the core data-holding element. It holds one numeric value for a cell along with attributes that identify the CELL --> <!ELEMENT CELL (NOTE?)> <!ATTLIST CELL COL CDATA #IMPLIED TIME_PERIOD CDATA #IMPLIED VARIABLE CDATA #IMPLIED UNIT CDATA #IMPLIED SYMBOL CDATA #IMPLIED VALUE CDATA #IMPLIED %REM; > <!-- NOTE contains optional remarks about the cell. --> <!-- COL is sequence number for a column --> <!--TIME_PERIOD (a time slice) is an ID for a TIME_PERIOD (column). You can specify either COL or TIME_PERIOD --> <!--VARIABLE is the ID or ABBREV for VARIABLE element as in 'Q' for quantity of 'V' for value. See VARIABLE element in TS_METADATA. You must specify VARIABLE if dataset contains more than one. --> <!--UNIT is the ID or ABBREV for measurement unit for the value. See UNIT element in TS_METADATA. If omitted, default unit for this variable is taken --> <!--SYMBOL is a data symbol (flag) or a string consisting of several symbols. Each of them is a CHAR of SYMBOL element (see TS_METADATA) --> <!-- VALUE contains the actual data. --> <!-- Example: <CELL TIME_PERIOD="1979" SYMBOL="F" VALUE="200"/> --> <!-- ============================================================== --> <!-- NOTE --> <!ELEMENT NOTE (#PCDATA)> <!ATTLIST NOTE %REM; > <!-- NOTE contains optional remarks about a cell or cell series. --> <!-- ============================================================== --> <!--This is the end of the Time Series Data DTD.-->
Prepared by Robin Cover for The XML Cover Pages archive.