Skip to content

Version History

1.0.1.22

12/31/2019

  • ADD - Lists and Values section
  • ADD - Conditions Tutorial
  • ADD - Rules Tutorial
  • ADD - Reduce Tutorial

12/28/2019

  • ADD - Suggested Tutorial

12/26/2019

  • ADD - Tutorials section
  • ADD - Minimal Tutorial

12/15/2019

  • CHANGE - Remove the "Hyphen-Minus" and "Full Stop" characters from Base.[Schema Field Delimiter] and Base.[Schema Key-Value Separator] allowed values
  • ADD - Explicitly define the numeral system to be used for the "Number" Data Type
  • ADD - Explicitly define the allowed decimal separator for the "Number" Data Type
  • ADD - Set a maximum length to the "String" Data Type

12/13/2019

  • CHANGE - Rename Field.12: EndOfLine to "EndOfLine" from "EndOfLineCharacter"
  • CHANGE - Rename Field.13: FieldIDMethod to "FieldIDMethod" from "FieldIDByHeaderOrPosition"
  • CHANGE - Rename Field.36: ListID to "ListID" from "List"
  • CHANGE - Rename Field.50: HypothesisListID to "HypothesisListID" from "HypothesisList"
  • CHANGE - Rename Field.54: ConclusionListID to "ConclusionListID" from "ConclusionList"
  • CHANGE - Rename Field.64: TotalCount to "TotalCount" from "LineCount"
  • CHANGE - Convert all references to UTF-8 decimal codes to Unicode code points expressed in hexadecimal
  • DELETE - Field.5: Name from Summary Record
  • DELETE - Field.6: Annotation from Summary Record
  • ADD - "Key Case Sensitivity" to the Base Definition
  • ADD - "Hexadecimal" to the Base Definition Data Types
  • ADD - "Hexadecimal List" to the Base Definition Data Types

1.0.0.21

12/07/2019

  • CHANGE - Clarifications made to the Examples descriptions

11/21/2019

  • CHANGE - Rename project to Text File Schema
  • CHANGE - Definition is migrated from a MS Word document to the HTML/PHP website "https://textfileschema.omegatower.net/"
  • CHANGE - Multiple minor text corrections and clarifications
  • CHANGE - EndOfLineCharacter String List is changed from "EOL" to "NEWLINE"
  • CHANGE - Field 11: CharacterEncoding is changed to "String" from "String List"

0.14.0.20

6/18/2017

  • CHANGE - Move schema definition to new format
  • CHANGE - Renamed ENUMERATION to LIST
  • CHANGE - "FIXEDWIDTH" becomes "FIXED-WIDTH"
  • CHANGE - All multiple word String List members now include spaces. i.e. - "NOTEMPTY" becomes "NOT EMPTY"
  • ADD - TrailingDelimiter=MULTIPLE
  • CHANGE - Values no longer have to be enclosed when it is human entered data
  • DELETE - CONTROL.CompositeValueSeparator due to lack of utility now that Lists are available
  • CHANGE - The FFSD Record is now an FFSD Field
  • CHANGE - Delete rules that were where a dependent field having data forced a parent field to be set. For example just because a DateFormat field has data no longer forces the DataType to be equal to "DATE TIME"
  • ADD - VALUE record is now defined in order to allow LIST and CONDITION to be true parent records
  • DELETE - CONDITION.ID1-ID10 fields as these are now in a LIST
  • CHANGE - META.CharacterSet is changed to CharacterEncoding
  • CHANGE - Schema is now to be UTF-8 Character Encoding

0.13.3.19

3/14/2016

  • CHANGE - Complete defining Conditions and Rules

0.13.2.18

3/14/2016

  • CHANGE - ConditionLevel to Level
  • CHANGE - RuleLevel to Level
  • ADD - Level=BOTH for when a condition or rule is to be applied to both records and fields
  • CHANGE - convert several fields from regex to Lists to allow for better explanations of what they are for
  • CHANGE - Complete defining Lists

0.13.1.17

1/21/2016

  • ADD - HypothesisOperator=EXISTS
  • ADD - ConclusionOperator=EXISTS

0.13.0.16

1/16/2016

  • ADD - Type=RULE. This will be rules for when a field has a specified value
  • CHANGE - The primer has been updated to properly enclose fields when needed undoing partially the change from 0.7.0.10

0.12.0.15

12/11/2016

  • ADD - Type=SUMMARY. This will allow for verification of the number of records in the file as well as serve as proof that the file has been received completely
  • CHANGE - The ID field has been changed to be a 1 based counter

0.11.0.14

10/2/2016

  • ADD - Record.Required, this will have similar function as Field.Required
  • ADD - Record.HasData, this will have similar function as Field.HasData
  • MOVE - Record.KeyField
  • MOVE - Record.ParentKeyField
  • ADD - Type=CONDITION. This will be conditions between records or fields

0.10.0.13

8/27/2016

  • ADD - RECORD.TrailingDelimiter. This is either "YES" or "NO" and indicates if the record is to have a delimiter after the final field

0.9.0.12

8/13/2016

  • ADD - Type=List. This will be a list of values a field is allowed to have
  • CHANGE - FIELD.StringAllowedValues is replaced by FIELD.List. This will allow better control over allowed values allow a single List to be reused and will allow for numbers to have specified values as well
  • CHANGE - Swap the layout locations of FIELD.ParentID and FIELD.Position. This will allow consistency with keeping common fields among the record types together and towards the beginning of the record

0.8.0.11

7/9/2016

  • ADD - RECORD.KeyField and RECORD.ParentKeyField. These will allow the records to be out of strict order. If they are empty then parent/child record linking will be strictly based on row order

0.7.0.10

7/4/2016

  • CHANGE - FIELD.AllowEmpty to FIELD.HasData
  • CHANGE - FIELD.HasData allowed values are now - "ALWAYS", "NEVER" or "OPTIONAL"
  • CHANGE - All human entered text values are to be enclosed in the CONTROL.SchemaEnclosureCharacter. This will allow the ability to have both human entered text or a schema code as the field value. This also changes the use of the CONTROL.SchemaEnclosureCharacter to only be used to enclose the value of the key-value pair not the entire field. In addition the key-value separator does not to be double escaped any longer when it is in the value
  • CHANGE - META.RecordIDPosition moved back to RECORD. This will allow a record type to be determined by inspecting different fields when a header row is used
  • CHANGE - RECORD.RecordIDValue now allowed to also have "EMPTY" or "NOTEMPTY" schema codes

0.6.0.9

6/30/2016

  • ADD - META.EndOfLineCharacter, this is either "EOL" or decimal values
  • ADD - FIELD.AllowEmpty, this is either "YES" or "NO"

0.5.2.8

6/25/2016

  • CHANGE - CONTROL.CompositeValueSeperator is now to be a decimal value
  • DELETE - META.HeaderLineRow
  • DELETE - META.HasHeaderLine
  • ADD - RECORD.IsHeader
  • ADD - CONTROL.SchemaEnclosureCharacter
  • CHANGE - META.FileType options are now "DELIMITED" or "FIXEDWIDTH"
  • CHANGE - META.SeparatorCharacter is renamed to DelimiterCharacter

0.5.1.7

6/17/2016

  • CHANGE - Move ID column to column 2, Type column is back to column 1
  • CHANGE - Control becomes "Type=CONTROL"
  • CHANGE - Composite element separator moved to it's own column in the CONTROL record
  • CHANGE - added Keys to the CONTROL record

0.5.0.6

6/16/2016

  • ADD - META.HeaderLineRow. Allows for edge case where the header isn't the first line of the file
  • ADD - META.FieldIDByHeaderOrPosition. Allows for edge case where fields may not be present in file. Allows for edge case where field order is not fixed
  • ADD - RECORD.RecordRow. Allows for edge case where the record does not have an ID but does have a fixed row CHANGE - META.HasHeaderLine. Three options are now - "REQUIRED", "OPTIONAL" and "NO"

0.4.0.5

6/13/2016

  • CHANGE - "Type=FFSD" to "Type=META". This will help keep the record whose name is "FFSD" unique
  • CHANGE - Reorganized so that the fields are under their parent record I think any software needs to be able accept any order since they are uniquely identified, but the output should be in this order when saved
  • CHANGE - position of "RecordIDPositon" to be in the META record I believe this is a more appropriate place and will prevent the case where different records could end up with different ID positions
  • ADD - StringRegex, NumericMinimumValue and NumericMaximumValue. This will help further define allowed values for these data types

0.3.1.4

6/13/2016

  • CHANGE - Move the ID column to the first column
  • ADD - an ID column for the Control record

0.3.0.3

6/9/2016

  • DELETE - Remove the Verbosity field from the Control record

0.2.0.2

6/7/2016

  • CHANGE - Replace ":" with "=" as default key-value separator

0.1.0.1

6/4/2016

  • Initial specification written
Back to top