|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--Versions available:
|
|
1.1 (August-01-2002)
|
|
-->
|
|
|
|
<!-- Start Simple Types -->
|
|
|
|
<!-- Supplementary Vocabulary -->
|
|
<!ELEMENT Version (#PCDATA)>
|
|
<!ELEMENT Location (#PCDATA)>
|
|
<!ELEMENT Comment (#PCDATA)>
|
|
<!ELEMENT Length (#PCDATA)>
|
|
<!ELEMENT References (#PCDATA)>
|
|
<!ELEMENT From (#PCDATA)>
|
|
<!ELEMENT To (#PCDATA)>
|
|
|
|
<!-- Specifying a maximum length for a VariableLength column can
|
|
reduce a VariableLength tables' import time. If MaxLength
|
|
is not specified then we parse URL to determine the MaxLength
|
|
for each column.
|
|
|
|
* Only applies to VariableLength tables. -->
|
|
<!ELEMENT MaxLength (#PCDATA)>
|
|
|
|
<!-- Specifies which character (if any) encapsulates a
|
|
VariableLength AlphaNumeric column.
|
|
|
|
Doublequote is the default TextEncapsulator "
|
|
|
|
* Only applies to VariableLength tables. (Optional) -->
|
|
<!ELEMENT TextEncapsulator (#PCDATA)>
|
|
|
|
<!-- Specifies how many digits appear to the right of the decimal symbol.
|
|
|
|
CAUTION: Results are undefined when importing numeric data with
|
|
greater Accuracy than the Accuracy defined in index.xml
|
|
|
|
For example trying to import the value 1000,25 with an
|
|
accuracy of 0 might result in 1000 or an error. This
|
|
behavior is specific to the implementation.
|
|
|
|
Zero is the default Accuracy '0' (Optional)
|
|
-->
|
|
<!ELEMENT Accuracy (#PCDATA)>
|
|
|
|
<!-- The decimal place is not always stored with numbers. If each number
|
|
is supposed to have decimal places use ImpliedAccuracy -->
|
|
<!ELEMENT ImpliedAccuracy (#PCDATA)>
|
|
|
|
<!-- Enables you to change how GDPdU displays dates.
|
|
DD.MM.YYYY is the default Format -->
|
|
<!ELEMENT Format (#PCDATA)>
|
|
|
|
<!-- Specifies the symbol that indicates decimal values.
|
|
Comma is the default DecimalSymbol. ','
|
|
Specified once per Table. -->
|
|
<!ELEMENT DecimalSymbol (#PCDATA)>
|
|
|
|
<!-- Specifies the symbol that groups the digits in large numbers.
|
|
Dot is the default DigitGroupingSymbol or ThousandsSeperator. '.'
|
|
Specified once per Table -->
|
|
<!ELEMENT DigitGroupingSymbol (#PCDATA)>
|
|
|
|
<!-- Command(s) are executed in the following manner
|
|
* before the import process
|
|
* after the import process
|
|
* before a Media is imported
|
|
* after a Media is imported
|
|
-->
|
|
<!ELEMENT Command (#PCDATA)>
|
|
|
|
<!-- Only the file protocol is supported at this time.
|
|
|
|
* The standard uses relative URLs.
|
|
|
|
Absolute URLs are not allowed. The following are all invalid:
|
|
* http://www.somewhere.com/data/Accounts.dat
|
|
* ftp://ftp.somewhere.com/data/Accounts.dat
|
|
* file://localhost/Accounts.dat
|
|
* file:///Accounts.dat
|
|
|
|
The following are valid examples
|
|
* Accounts.dat
|
|
* data/Accounts.dat
|
|
* data/january/Accounts.dat
|
|
* ../Accounts.dat
|
|
-->
|
|
<!ELEMENT URL (#PCDATA)>
|
|
|
|
<!-- Textual description of specified element (Optional) -->
|
|
<!ELEMENT Description (#PCDATA)>
|
|
|
|
<!-- The logical name of specified element.
|
|
Sometimes referred to business name.
|
|
|
|
If missing, URL will be used in place of Name. -->
|
|
<!ELEMENT Name (#PCDATA)>
|
|
|
|
<!-- Y2K Window Any year before Epoch is 2000+
|
|
Default value 30. -->
|
|
<!ELEMENT Epoch (#PCDATA)>
|
|
|
|
<!-- Element(s) that separate columns or records.
|
|
Semicolon is the default ColumnDelimiter. ';'
|
|
CRLF or is the default RecordDelimiter. -->
|
|
<!ELEMENT ColumnDelimiter (#PCDATA)>
|
|
<!ELEMENT RecordDelimiter (#PCDATA)>
|
|
|
|
<!-- The number of bytes skipped before reading of URL commences.
|
|
Zero is the default when not specified. '0'
|
|
-->
|
|
<!ELEMENT SkipNumBytes (#PCDATA)>
|
|
|
|
<!-- End Simple Types -->
|
|
<!-- Start Complex Types -->
|
|
<!-- Self-explanatory -->
|
|
<!ELEMENT Range (From, (To | Length)?)>
|
|
<!ELEMENT FixedRange (From, (To | Length))>
|
|
|
|
<!-- The document element -->
|
|
<!ELEMENT DataSet (Version, DataSupplier?, Command*, Media+, Command*)>
|
|
|
|
<!-- Supported datatypes (mandatory) -->
|
|
<!ELEMENT AlphaNumeric EMPTY>
|
|
<!ELEMENT Date (Format?)>
|
|
<!ELEMENT Numeric ((ImpliedAccuracy | Accuracy)?)>
|
|
|
|
<!-- Supported codepages:
|
|
Be careful to explicitly define RecordDelimiter when using
|
|
a non-default codepage.
|
|
|
|
ANSI is the default codepage when not specified -->
|
|
<!ELEMENT ANSI EMPTY>
|
|
<!ELEMENT Macintosh EMPTY>
|
|
<!ELEMENT OEM EMPTY>
|
|
<!ELEMENT UTF16 EMPTY>
|
|
<!ELEMENT UTF7 EMPTY>
|
|
<!ELEMENT UTF8 EMPTY>
|
|
|
|
<!-- Supported file formats:
|
|
FixedLength
|
|
VariableLength -->
|
|
<!ELEMENT FixedLength ((Length | RecordDelimiter)?, ((FixedPrimaryKey+, FixedColumn*) | (FixedColumn+)), ForeignKey*)>
|
|
<!ELEMENT FixedColumn (Name, Description?, (Numeric | AlphaNumeric | Date), Map*, FixedRange)>
|
|
<!ELEMENT FixedPrimaryKey (Name, Description?, (Numeric | AlphaNumeric | Date), Map*, FixedRange)>
|
|
<!ELEMENT VariableLength (ColumnDelimiter?, RecordDelimiter?, TextEncapsulator?, ((VariablePrimaryKey+, VariableColumn*) | (VariableColumn+)), ForeignKey*)>
|
|
<!ELEMENT VariableColumn (Name, Description?, (Numeric | (AlphaNumeric, MaxLength?) | Date), Map*)>
|
|
<!ELEMENT VariablePrimaryKey (Name, Description?, (Numeric | (AlphaNumeric, MaxLength?) | Date), Map*)>
|
|
|
|
<!-- Description of the entity supplying the data. (Optional) -->
|
|
<!ELEMENT DataSupplier (Name, Location, Comment)>
|
|
|
|
<!-- The first Media will contain index.xml. Importing will process each media listed -->
|
|
<!ELEMENT Media (Name, Command*, Table+, Command*)>
|
|
|
|
<!-- Elements common to FixedLength & VariableLength are propagated to Table. -->
|
|
<!ELEMENT Table (URL, Name?, Description?, Validity?, (ANSI | Macintosh | OEM | UTF16 | UTF7 | UTF8)?, (DecimalSymbol, DigitGroupingSymbol)?, SkipNumBytes?, Range?, Epoch?, (VariableLength | FixedLength))>
|
|
|
|
<!-- ForeignKeys denote joins or relationships between tables.
|
|
To successfully join two tables make sure both the PrimaryKey
|
|
and the referenced column (foreignkey) are of the same datatype.
|
|
Results are undefined when joining two tables with different
|
|
key datatypes. Most likely an error will occur. -->
|
|
<!ELEMENT ForeignKey (Name+, References)>
|
|
|
|
<!-- Maps AlphaNumeric columns from 'From' to 'To'
|
|
ie. From To
|
|
============ =============
|
|
True 1
|
|
True -1
|
|
False 0
|
|
|
|
Basically, a map is an associative container.
|
|
|
|
The standard implementation only supports
|
|
AlphaNumeric datatypes. The following
|
|
conversions are NOT supported.
|
|
|
|
Numeric -> AlphaNumeric
|
|
Date -> AlphaNumeric
|
|
AplhaNumeric -> Date
|
|
AlphaNumeric -> Numeric
|
|
-->
|
|
<!ELEMENT Map (Description?, From, To)>
|
|
|
|
<!-- Documentation for table validity. -->
|
|
<!ELEMENT Validity (Range, Format?)>
|
|
|
|
<!-- End Complex Types -->
|