1 <?xml version="1.0" encoding="UTF-8"?>
\r
2 <!--Versions available:
\r
6 <!-- Start Simple Types -->
\r
8 <!-- Supplementary Vocabulary -->
\r
9 <!ELEMENT Version (#PCDATA)>
\r
10 <!ELEMENT Location (#PCDATA)>
\r
11 <!ELEMENT Comment (#PCDATA)>
\r
12 <!ELEMENT Length (#PCDATA)>
\r
13 <!ELEMENT References (#PCDATA)>
\r
14 <!ELEMENT From (#PCDATA)>
\r
15 <!ELEMENT To (#PCDATA)>
\r
17 <!-- Specifying a maximum length for a VariableLength column can
\r
18 reduce a VariableLength tables' import time. If MaxLength
\r
19 is not specified then we parse URL to determine the MaxLength
\r
22 * Only applies to VariableLength tables. -->
\r
23 <!ELEMENT MaxLength (#PCDATA)>
\r
25 <!-- Specifies which character (if any) encapsulates a
\r
26 VariableLength AlphaNumeric column.
\r
28 Doublequote is the default TextEncapsulator "
\r
30 * Only applies to VariableLength tables. (Optional) -->
\r
31 <!ELEMENT TextEncapsulator (#PCDATA)>
\r
33 <!-- Specifies how many digits appear to the right of the decimal symbol.
\r
35 CAUTION: Results are undefined when importing numeric data with
\r
36 greater Accuracy than the Accuracy defined in index.xml
\r
38 For example trying to import the value 1000,25 with an
\r
39 accuracy of 0 might result in 1000 or an error. This
\r
40 behavior is specific to the implementation.
\r
42 Zero is the default Accuracy '0' (Optional)
\r
44 <!ELEMENT Accuracy (#PCDATA)>
\r
46 <!-- The decimal place is not always stored with numbers. If each number
\r
47 is supposed to have decimal places use ImpliedAccuracy -->
\r
48 <!ELEMENT ImpliedAccuracy (#PCDATA)>
\r
50 <!-- Enables you to change how GDPdU displays dates.
\r
51 DD.MM.YYYY is the default Format -->
\r
52 <!ELEMENT Format (#PCDATA)>
\r
54 <!-- Specifies the symbol that indicates decimal values.
\r
55 Comma is the default DecimalSymbol. ','
\r
56 Specified once per Table. -->
\r
57 <!ELEMENT DecimalSymbol (#PCDATA)>
\r
59 <!-- Specifies the symbol that groups the digits in large numbers.
\r
60 Dot is the default DigitGroupingSymbol or ThousandsSeperator. '.'
\r
61 Specified once per Table -->
\r
62 <!ELEMENT DigitGroupingSymbol (#PCDATA)>
\r
64 <!-- Command(s) are executed in the following manner
\r
65 * before the import process
\r
66 * after the import process
\r
67 * before a Media is imported
\r
68 * after a Media is imported
\r
70 <!ELEMENT Command (#PCDATA)>
\r
72 <!-- Only the file protocol is supported at this time.
\r
74 * The standard uses relative URLs.
\r
76 Absolute URLs are not allowed. The following are all invalid:
\r
77 * http://www.somewhere.com/data/Accounts.dat
\r
78 * ftp://ftp.somewhere.com/data/Accounts.dat
\r
79 * file://localhost/Accounts.dat
\r
80 * file:///Accounts.dat
\r
82 The following are valid examples
\r
85 * data/january/Accounts.dat
\r
88 <!ELEMENT URL (#PCDATA)>
\r
90 <!-- Textual description of specified element (Optional) -->
\r
91 <!ELEMENT Description (#PCDATA)>
\r
93 <!-- The logical name of specified element.
\r
94 Sometimes referred to business name.
\r
96 If missing, URL will be used in place of Name. -->
\r
97 <!ELEMENT Name (#PCDATA)>
\r
99 <!-- Y2K Window Any year before Epoch is 2000+
\r
100 Default value 30. -->
\r
101 <!ELEMENT Epoch (#PCDATA)>
\r
103 <!-- Element(s) that separate columns or records.
\r
104 Semicolon is the default ColumnDelimiter. ';'
\r
105 CRLF or is the default RecordDelimiter. -->
\r
106 <!ELEMENT ColumnDelimiter (#PCDATA)>
\r
107 <!ELEMENT RecordDelimiter (#PCDATA)>
\r
109 <!-- The number of bytes skipped before reading of URL commences.
\r
110 Zero is the default when not specified. '0'
\r
112 <!ELEMENT SkipNumBytes (#PCDATA)>
\r
114 <!-- End Simple Types -->
\r
115 <!-- Start Complex Types -->
\r
116 <!-- Self-explanatory -->
\r
117 <!ELEMENT Range (From, (To | Length)?)>
\r
118 <!ELEMENT FixedRange (From, (To | Length))>
\r
120 <!-- The document element -->
\r
121 <!ELEMENT DataSet (Version, DataSupplier?, Command*, Media+, Command*)>
\r
123 <!-- Supported datatypes (mandatory) -->
\r
124 <!ELEMENT AlphaNumeric EMPTY>
\r
125 <!ELEMENT Date (Format?)>
\r
126 <!ELEMENT Numeric ((ImpliedAccuracy | Accuracy)?)>
\r
128 <!-- Supported codepages:
\r
129 Be careful to explicitly define RecordDelimiter when using
\r
130 a non-default codepage.
\r
132 ANSI is the default codepage when not specified -->
\r
133 <!ELEMENT ANSI EMPTY>
\r
134 <!ELEMENT Macintosh EMPTY>
\r
135 <!ELEMENT OEM EMPTY>
\r
136 <!ELEMENT UTF16 EMPTY>
\r
137 <!ELEMENT UTF7 EMPTY>
\r
138 <!ELEMENT UTF8 EMPTY>
\r
140 <!-- Supported file formats:
\r
143 <!ELEMENT FixedLength ((Length | RecordDelimiter)?, ((FixedPrimaryKey+, FixedColumn*) | (FixedColumn+)), ForeignKey*)>
\r
144 <!ELEMENT FixedColumn (Name, Description?, (Numeric | AlphaNumeric | Date), Map*, FixedRange)>
\r
145 <!ELEMENT FixedPrimaryKey (Name, Description?, (Numeric | AlphaNumeric | Date), Map*, FixedRange)>
\r
146 <!ELEMENT VariableLength (ColumnDelimiter?, RecordDelimiter?, TextEncapsulator?, ((VariablePrimaryKey+, VariableColumn*) | (VariableColumn+)), ForeignKey*)>
\r
147 <!ELEMENT VariableColumn (Name, Description?, (Numeric | (AlphaNumeric, MaxLength?) | Date), Map*)>
\r
148 <!ELEMENT VariablePrimaryKey (Name, Description?, (Numeric | (AlphaNumeric, MaxLength?) | Date), Map*)>
\r
150 <!-- Description of the entity supplying the data. (Optional) -->
\r
151 <!ELEMENT DataSupplier (Name, Location, Comment)>
\r
153 <!-- The first Media will contain index.xml. Importing will process each media listed -->
\r
154 <!ELEMENT Media (Name, Command*, Table+, Command*)>
\r
156 <!-- Elements common to FixedLength & VariableLength are propagated to Table. -->
\r
157 <!ELEMENT Table (URL, Name?, Description?, Validity?, (ANSI | Macintosh | OEM | UTF16 | UTF7 | UTF8)?, (DecimalSymbol, DigitGroupingSymbol)?, SkipNumBytes?, Range?, Epoch?, (VariableLength | FixedLength))>
\r
159 <!-- ForeignKeys denote joins or relationships between tables.
\r
160 To successfully join two tables make sure both the PrimaryKey
\r
161 and the referenced column (foreignkey) are of the same datatype.
\r
162 Results are undefined when joining two tables with different
\r
163 key datatypes. Most likely an error will occur. -->
\r
164 <!ELEMENT ForeignKey (Name+, References)>
\r
166 <!-- Maps AlphaNumeric columns from 'From' to 'To'
\r
168 ============ =============
\r
173 Basically, a map is an associative container.
\r
175 The standard implementation only supports
\r
176 AlphaNumeric datatypes. The following
\r
177 conversions are NOT supported.
\r
179 Numeric -> AlphaNumeric
\r
180 Date -> AlphaNumeric
\r
181 AplhaNumeric -> Date
\r
182 AlphaNumeric -> Numeric
\r
184 <!ELEMENT Map (Description?, From, To)>
\r
186 <!-- Documentation for table validity. -->
\r
187 <!ELEMENT Validity (Range, Format?)>
\r
189 <!-- End Complex Types -->
\r