Filling Out the Table Character Data Structure
The <Table_Character> class contains the data structure definition for a character table. Each row in the table has the same structure, defined in a Record_Character class. Records are themselves composed of scalar fields, or sub-records called "grouped fields".
For additional explanation, see the PDS4 Standards Reference, or contact your PDS node consultant.
Following are the attributes and subclasses you'll find in <Table_Character>, in label order.
Note that in the PDS4 master schema, all classes have capitalized names; attributes never do.
Contents
<name>
OPTIONAL
If you'd like to give this table a descriptive name, here's the place to do it.
<local_identifier>
OPTIONAL
If you want to reference this Table_Character from somewhere else in this label, give it a formal label here. Use an identifier that would make a valid variable name in a typical programming language, and you should be OK syntactically.
<offset>
REQUIRED
The offset, in bytes, from the beginning of the file holding the table data to the first character in the table. You must specify the unit for this keyword, like this:
<offset unit="byte">0</offset>
<records>
REQUIRED
This is the total number of records in the table. Note that in a Table_Character table, each record must have carriage-return/linefeed record delimiter (including the last record).
<encoding_type>
REQUIRED
This must have the value Character.
<description>
OPTIONAL
This attribute provides a place for additional free-format text comments.
<record_delimiter>
REQUIRED
This attribute must have the value carriage_return line_feed. The data file must also have carriage-return/linefeed record delimiters, of course.
<Uniformly_Sampled>
OPTIONAL
If this Table_Character contains records which are uniformly spaced in some dimension (time, wavelength, distance, etc.), you can use this class to define that dimension and interval rather than including an additional field in each row to hold the value explicitly.
Note: There are certain types of data where this class can prevent a very large data file from increasing in size by %50. Such tables are predominantly used by software, not human readers scanning them by eye. For SBN data, our users generally prefer to see the additional column. So unless the two conditions above apply to your data, you should include the extra column.
<sampling_parameter_name>
REQUIRED
The name of the dimension of sampling (wavelength, time, etc.)
<sampling_parameter_interval>
REQUIRED
Distance between records in units of the sampling parameter. So if you're sampling in time, the interval might be 100 milliseconds, for example.
<sampling_parameter_unit>
REQUIRED
The unit associated with the sampling_parameter_interval.
<first_sampling_parameter_value>
REQUIRED
The value of the sampling parameter at the point where the data of the first record were recorded.
<last_sampling_parameter_value>
REQUIRED
The value of the sampling parameter at the point where the data of the last record were recorded.
<sampling_parameter_scale>
OPTIONAL
This is actually the type of the scale. It must be one of the standard values Exponential, Linear, or Logarithmic.
<Record_Character
REQUIRED
This class describes the structure of one complete record in the table.