XDF_019.xsd - eXtensible Data Format - version 0.19
Date:June 12, 2002
XML lanaguage schema definition.
An XDF document contains arrays and data structures. It is
designed to be both an interchange format for scientific data
and to be of archival quality.
Multidimensional tables and scalar or vector fields are represented
in a consistent way and become self describing.
Axial information can be included so that the space in which
the data reside is fully described.
Thus, XDF provides a consistent way to hold spectra
with their wavelength scales, images with coordinate axes,
vector fields with unitDirection, data cubes in complicated
spaces, tables with complex column headers, and series of table
sections with each section having a unique name.
space delimited list of any datatype
Attributes common to axis, colAxis, and rowAxis
Title on the axis, eg "X Axis"
Indicate axis is same as one in another array. Use axisID to make connection.
Datatype in axis/valueList
Number of data elements along this axis, as in the dimension of the datacube.
additional text information on a datum, field or an array etc.
If a datum matches this, then the note applies. Usually in field.
If the PCDATA is the same as in another note, use noteIdRef rather than repeat text.
See noteId
A list of indices, one for each axis, to identify datum in array/data that note applies. The order is set by notes/ locationOrder.
Often a field has an adjacent field with just inequality chars. Use this with @mark to indicate a special character used for inequality statements in a field or array. Pairs of fields with these should be within a fieldGroup and field/@relation used as well. Note should be nill.
Additonal information on note at this URL
Binary float info for I/O for a field
Only accept 32 bit (single) and 64 bit (double) floats. Here use IEE. Extensions may contain more possibilities.
Binary integer info for I/O of a field. Any number of bits are allowed. This is also used for bitfields of any length.
width of integer/bitfield in bits
I/O specification for a datum.
Explicity state the datum value used to represent each special circumstance.
Like columns in tables, this holds header info (name, units, dataFromat) of a single data type.
Unique identifier for field. Start with a character.
Allow clone of field metadata from another array.
Each discipline should define enumeration of field/types.
If complex numbers are needed, simply add a fieldAxis with 2 fields, a real one and an imaginary one
N-d vector fields are handled by N unitDirection fields. If the components are along the axes use ref to refer to axisIdRef.
datacubes, tables, images, etc with axes and read/write info
Root element for basic XDF
container for sets of parameters, arrays and other structures
Info on a dimension of a N-dim data cube. Gives size and may provide name values for each index along the axis.
Specifies general style of data layout.
Either conatainer for an array's data or a reference to data file.
a single value of some parameter
axis of a data cube with fields for axis values.
datatype for arrayIdRefs held in data. This allow arrays logically within an array, but data for arrays are external.
specifies a string of characters. As a child of skip, only the length of chars/@value is important while reading, but when writing, chars/@value is output.
number of bits to skip over when reading or writing.
An axis object for simple table.
For data held column-wise in a simple table. A white space delimited list.
Like tr, this comes first in tagged data when not using simple table format.
Like td, this comes second in tagged data when not using simple table format.
For third dimension, use after d2.
d3 to d7 hold higher dimensions of tagged data.
Instructions for data that uses a delimiter string between datum.
Info on I/O when data is delimited
The string used for delimiter. For newLine or CR use newLine element.
Just an empty tag for now. In future versions it will indicate which I/O instruction to perform
Groups together fields so they can be address by a common name. Like colGroup in XHTML
For data with fixed width fields and spacing between fields
I/O instruction for each record (1-d slice). Gives info on spacing between fields for inner most axis
ASCII representation of floating point number specification
Provides order of looping instructions for data I/'O.
Each index refers to an axis. The order of indices gives meaning to the note/@location list of index values.
ASCII representation of an integer type number specification
Specifies the axis order in note/@location list of index values.
resolves to any OS dependent EOL character or pair of characters.
holds a series of note elements
groups parameters under a common name
I/O directive to read/write next appropriate datum (use its dataFormat).
string to be used as recordTerminator
states relationship of parent field to one of its siblings.
number of times to repeat contained I/O instructions
A white space delimited row of data for simple tables.
An axis for simple 2-d arrays that corresponds to the rows
I/O instruction to ski number of chars on input and print certain chars on output.
info on ASCII string data format
indicates which axis index to increment when a given tag is encoutered in the data.
indicates data will be tagged (with d0-d7 or row or column tags).
a physical unit to be multiplies with others to create fully parsed units.
indicates that the quantity has no units
holds a set of unit elements
container for a parameter value
Use with @mark to indicate a special meaning to a value in a field or array. Note should be nill.
groups together a set of value and valueList under a common name
a delimited set of values.
Any white space character (tab, space, form feed, CR, NL)
the tab character