220.127.116.11 Record Delimiter
Each file shall be separated into individual Records with each Record being placed into one line terminated by a line feed (Unicode U+000A) or a carriage return and line feed pair (Unicode U+000D 000A).
18.104.22.168 Primary (Cell) Delimiter
Cells within a Record are separated by tab characters (Unicode U+0009).
22.214.171.124 Secondary Delimiter
Should a Cell contain two or more data elements, these data elements shall be separated by a pipe character (Unicode U+007C). This is referred to as a Secondary Delimiter.
All data elements in a multi-value Cell shall be of the same primitive data type.
126.96.36.199 Namespace Delimiter
Should a Cell contain a data element whose provenance needs to be provided, the data element shall be preceded by a string that provides a "namespace" and two colon characters (Unicode U+003A). The double colon is referred to as a Namespace Delimiter. Examples include specifically, identifiers where, fpr example a party ID can be communicated as "
ISNI::0000000081266409", indicating that the identifier (0000000081266409) is an International Standard Name Identifier (ISNI).
188.8.131.52 Spaces and Delimiters
Delimiters shall not be surrounded by extra space characters. The same principle applies to the Secondary Delimiter. For example:
The writing pair Lennon and McCartney should be communicated as "
Lennon|McCartney" and not as "
Lennon | McCartney".
184.108.40.206 Communicating Delimiters
To communicate a primary Delimiter in a Cell, such a Cell shall not be enclosed in double quote characters. Instead the Delimiter shall be immediately preceded by an escaping code.
To escape a tab character contained in a text string, the escaping code is the backslash character (Unicode U+005C). Therefore the string A[TAB]B would have to be communicated as A\[TAB]B (with [TAB] representing the tabulator).
To escape a pipe character contained in a text string, the escaping code is a double backslash character (Unicode U+005C). Therefore the string A|B would have to be communicated as A\\|B.
To communicate a backslash character, three backslash characters need to be communicated. Therefore the string A\B would have to be communicated as A\\\B.
This “escaping mechanism” must be used for all special characters in all Cells, whether those Cells allow multiple values or not. A non-escaped pipe character in a single-value cell is, consequently, an error.
For the avoidance of doubt, escaping a character that should not be escaped, or not escaping a character that should have been escaped, will lead to an invalid Feed file.