<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-demosra-mtsv-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="MTSV">Multi-Sheet Tab-Separated Values (MTSV)</title>
    <seriesInfo name="Internet-Draft" value="draft-demosra-mtsv-00"/>
    <author fullname="Demos Ra">
      <organization/>
      <address>
        <email>demos_ra@hotmail.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="16"/>
    <keyword>tsv</keyword>
    <keyword>tabular data</keyword>
    <keyword>media type</keyword>
    <abstract>
      <?line 78?>

<t>This document defines Multi-Sheet Tab-Separated Values (MTSV), a text
format that carries one or more sheets of tab-separated values in a
single file. MTSV is TSV with one additional dimension: sheets are
separated by the ASCII form feed (FF) character. A TSV file that
contains no FF, and no CR other than in CRLF line breaks, is an MTSV
file. This document also registers the text/prs.mtsv media type.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-demosra-mtsv/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/demos-ra/mtsv-spec"/>.</t>
    </note>
  </front>
  <middle>
    <?line 88?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The tab-separated values format <xref target="TSV"/> encodes one set of records per
file. Fields are separated by a tab, and records are separated by line
breaks.</t>
      <t>Both separators are ASCII format effectors <xref target="RFC20"/>. HT moves "to the
next in a series of predetermined positions along the printing line",
and LF moves "to the next printing line". MTSV adds FF, the format
effector for the next larger unit, which moves "to the first
pre-determined printing line on the next form or page". Tab gives the
next field, line feed gives the next record, and form feed gives the
next sheet.</t>
      <section anchor="relationship">
        <name>Relationship to TSV</name>
        <t>MTSV keeps the separators and structure of TSV, and adds only one
separator, FF, and a name for each sheet.</t>
        <t>MTSV does not carry over these restrictions of the TSV grammar:</t>
        <ul spacing="normal">
          <li>
            <t>A field can be empty, and a record can consist of a single field, as
in <xref target="RFC4180"/>.</t>
          </li>
          <li>
            <t>A sheet can consist of a header with no records, or of no lines at
all, as a sheet can have no rows in <xref target="OOXML"/>.</t>
          </li>
        </ul>
        <t>A TSV file that contains no FF, and no CR other than in CRLF line
breaks, is an MTSV file (<xref target="data-model"/>).</t>
      </section>
      <section anchor="out-of-scope">
        <name>Out of Scope</name>
        <t>This document does not define data types, formulas, formatting, cell
references, or metadata. Conversion to and from spreadsheet formats such
as <xref target="ODF"/> and <xref target="OOXML"/> is also out of scope.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The grammar in this document uses ABNF <xref target="RFC5234"/>, including its core
rules HTAB, LF, and CRLF.</t>
      <t>In examples, <tt>&lt;TAB&gt;</tt> denotes the tab character (%x09), as in <xref target="TSV"/>,
and <tt>&lt;FF&gt;</tt> denotes the form feed character (%x0C). Line breaks are
shown as line breaks; every line shown, including the last, ends with a
line break.</t>
      <t>This document uses the following terms:</t>
      <dl>
        <dt>field:</dt>
        <dd>
          <t>A text value, as defined in <xref target="TSV"/>.</t>
        </dd>
        <dt>record:</dt>
        <dd>
          <t>A sequence of fields on one line, as defined in <xref target="TSV"/>.</t>
        </dd>
        <dt>header:</dt>
        <dd>
          <t>The first record of a sheet, which contains the name of each field,
as defined in <xref target="TSV"/>.</t>
        </dd>
        <dt>sheet:</dt>
        <dd>
          <t>A header followed by zero or more records, or no lines at all (an
empty sheet). The term matches the corresponding structure in
<xref target="OOXML"/>.</t>
        </dd>
        <dt>sheet name:</dt>
        <dd>
          <t>The text that follows an FF on the same line.</t>
        </dd>
        <dt>unnamed sheet:</dt>
        <dd>
          <t>The sheet formed by the lines before the first FF, or by all lines of
a file that contains no FF. It exists only if there is at least one
such line.</t>
        </dd>
        <dt>MTSV file:</dt>
        <dd>
          <t>A sequence of sheets, conforming to <xref target="syntax"/>.</t>
        </dd>
        <dt>TSV file:</dt>
        <dd>
          <t>A file conforming to <xref target="TSV"/>.</t>
        </dd>
        <dt>generator:</dt>
        <dd>
          <t>An implementation that writes MTSV files.</t>
        </dd>
        <dt>parser:</dt>
        <dd>
          <t>An implementation that reads MTSV files.</t>
        </dd>
      </dl>
    </section>
    <section anchor="data-model">
      <name>Data Model</name>
      <t>A field is text. A record is an ordered sequence of fields. A sheet is a
header and an ordered sequence of zero or more records. Every record in
a sheet has as many fields as the header of that sheet. A sheet with no
lines is an empty sheet; it has neither a header nor records.</t>
      <t>An MTSV file is an ordered sequence of sheets. The order of the sheets is
the order in which they appear in the file.</t>
      <t>Every sheet has a sheet name, except the unnamed sheet. An MTSV file has
an unnamed sheet only if the file contains at least one line before the
first FF. An empty sheet name is permitted. Sheet names are not required
to be unique.</t>
      <t>A TSV file that contains no FF, and no CR other than in CRLF line
breaks, is an MTSV file that consists of exactly one unnamed sheet.</t>
    </section>
    <section anchor="syntax">
      <name>Syntax</name>
      <section anchor="encoding">
        <name>Character Encoding</name>
        <t>An MTSV file is text in the character set identified by the charset
parameter (<xref target="media-type"/>). If the parameter is absent, the character set
is UTF-8 <xref target="RFC3629"/>. The grammar below is expressed in terms of
characters after decoding.</t>
      </section>
      <section anchor="separators">
        <name>Separators</name>
        <t>MTSV uses three separators, all of which are ASCII format effectors
<xref target="RFC20"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Separator</th>
              <th align="left">Character</th>
              <th align="left">Separates</th>
              <th align="left">Source</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">tab</td>
              <td align="left">HT (%x09)</td>
              <td align="left">fields</td>
              <td align="left">
                <xref target="TSV"/></td>
            </tr>
            <tr>
              <td align="left">line break</td>
              <td align="left">LF (%x0A) or CRLF (%x0D.0A)</td>
              <td align="left">records</td>
              <td align="left">
                <xref target="TSV"/>, <xref target="CSVW"/></td>
            </tr>
            <tr>
              <td align="left">form feed</td>
              <td align="left">FF (%x0C)</td>
              <td align="left">sheets</td>
              <td align="left">
                <xref target="RFC20"/></td>
            </tr>
          </tbody>
        </table>
        <t>An FF appears only at the start of a line.</t>
      </section>
      <section anchor="sheet-name">
        <name>Sheet Name</name>
        <t>A sheet name is written on the line that begins with an FF, directly
after the FF, and ends at the line break. A sheet name follows the same
rules as a field: it cannot contain HT, LF, FF, or CR.</t>
      </section>
      <section anchor="grammar">
        <name>Grammar</name>
        <sourcecode type="abnf"><![CDATA[
mtsv-file     = unnamed-sheet *named-sheet
unnamed-sheet = sheet-body
named-sheet   = FF sheet-name eol sheet-body
sheet-body    = [header *record]
header        = record
record        = field *(HTAB field) eol
field         = *field-char
sheet-name    = *field-char
field-char    = %x00-08 / %x0B / %x0E-10FFFF
                ; any character except HTAB, LF, FF, and CR
FF            = %x0C
eol           = LF / CRLF
]]></sourcecode>
        <t>In addition to matching the grammar, each record in a sheet <bcp14>MUST</bcp14> have
the same number of fields as the header of that sheet, as required by
<xref target="TSV"/>.</t>
      </section>
    </section>
    <section anchor="parsers">
      <name>Parsers</name>
      <t>An MTSV parser <bcp14>MUST</bcp14> accept every MTSV file that conforms to <xref target="syntax"/>.</t>
      <t>A parser <bcp14>MUST</bcp14> treat the lines before the first FF, if any, as the
unnamed sheet, and each line that begins with an FF as the start of a
new sheet.</t>
      <t>A parser <bcp14>MUST</bcp14> accept both LF and CRLF as line breaks, consistent with
the default line terminators in <xref target="CSVW"/>.</t>
      <t>A parser <bcp14>SHOULD</bcp14> treat a U+FEFF character at the start of a file as an
encoding signature and not as part of the first field, consistent with
<xref section="6" sectionFormat="of" target="RFC3629"/>.</t>
      <t>A parser <bcp14>MAY</bcp14> accept input that does not conform to this document.</t>
      <t>An implementation <bcp14>MAY</bcp14> set limits on the size of files, the number of
sheets, records, and fields, and the length of fields and sheet names,
consistent with <xref section="9" sectionFormat="of" target="RFC8259"/>.</t>
    </section>
    <section anchor="generators">
      <name>Generators</name>
      <t>An MTSV generator <bcp14>MUST</bcp14> produce MTSV files that conform to <xref target="syntax"/>.</t>
      <t>A generator <bcp14>MUST</bcp14> end every record with a line break. A generator
<bcp14>SHOULD</bcp14> encode MTSV files in UTF-8, consistent with <xref target="RFC2277"/>.</t>
      <t>A field or sheet name that contains HT, LF, FF, or CR cannot be
represented in MTSV, as with fields that contain a tab in <xref target="TSV"/>. A
generator <bcp14>MUST NOT</bcp14> write such a value. How a generator handles such
values is out of scope.</t>
      <t>The first field of the unnamed sheet cannot begin with U+FEFF, because
a parser treats that character as an encoding signature (<xref target="parsers"/>).
A generator <bcp14>MUST NOT</bcp14> write such a field.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <section anchor="single-sheet">
        <name>Single Sheet</name>
        <t>This is the example from <xref target="TSV"/>. It is both a TSV file and an MTSV file
with one unnamed sheet.</t>
        <artwork><![CDATA[
Name<TAB>Age<TAB>Address
Paul<TAB>23<TAB>1115 W Franklin
Bessy the Cow<TAB>5<TAB>Big Farm Way
Zeke<TAB>45<TAB>W Main St
]]></artwork>
      </section>
      <section anchor="multiple-sheets">
        <name>Multiple Sheets</name>
        <t>This MTSV file contains two sheets, named "People" and "Animals".</t>
        <artwork><![CDATA[
<FF>People
Name<TAB>Age<TAB>Address
Paul<TAB>23<TAB>1115 W Franklin
Zeke<TAB>45<TAB>W Main St
<FF>Animals
Name<TAB>Age<TAB>Address
Bessy the Cow<TAB>5<TAB>Big Farm Way
]]></artwork>
      </section>
      <section anchor="empty-sheet">
        <name>Empty Sheet</name>
        <t>This MTSV file contains an unnamed sheet, an empty sheet named "Empty",
and a sheet named "Animals".</t>
        <artwork><![CDATA[
Name<TAB>Age
Paul<TAB>23
<FF>Empty
<FF>Animals
Name<TAB>Age
Bessy the Cow<TAB>5
]]></artwork>
      </section>
    </section>
    <section anchor="interop">
      <name>Interoperability Considerations</name>
      <t><xref target="relationship"/> describes which TSV files are MTSV files. This section
describes how common text processing affects MTSV files.</t>
      <t>MTSV gives structure to four characters: HT, LF, FF, and CR. These
characters also have other standard properties, and text processing
that acts on those properties can change the structure of an MTSV file:</t>
      <dl>
        <dt>Line splitting:</dt>
        <dd>
          <t>FF has the mandatory break class in <xref target="UAX14"/>. An application that
supports only TSV can present a line that begins with an FF either as a
record whose first field begins with FF, or as an empty line followed
by a line that contains the sheet name.</t>
        </dd>
        <dt>Whitespace:</dt>
        <dd>
          <t>HT, LF, FF, and CR have the White_Space property in <xref target="UCD"/>. Trimming
whitespace from a line can remove an FF, which turns a sheet name
into a record, or remove an HT at either end of a line, which removes
empty fields. Splitting a line on runs of whitespace removes empty
fields and splits fields that contain spaces.</t>
        </dd>
        <dt>Tab expansion:</dt>
        <dd>
          <t>Replacing HT with spaces removes the field structure, as it does for
<xref target="TSV"/>.</t>
        </dd>
        <dt>Control characters:</dt>
        <dd>
          <t>FF is a control character. Applications that remove or reject control
characters remove sheet boundaries. <xref target="XML"/> does not permit FF, so an
MTSV file cannot be carried as XML 1.0 character data without an
additional encoding.</t>
        </dd>
        <dt>Line endings:</dt>
        <dd>
          <t>Converting between LF and CRLF does not change the structure of an
MTSV file (<xref target="parsers"/>). Converting line breaks to CR alone produces a
file that does not conform to this document.</t>
        </dd>
        <dt>Concatenation:</dt>
        <dd>
          <t>Concatenating MTSV files produces an MTSV file that contains the
sheets of each file, in order, only if each non-empty file ends with a
line break and each non-empty file after the first begins with an FF.
Otherwise, the unnamed sheet of a later file becomes part of the last
sheet of the file before it.</t>
        </dd>
        <dt>Unchanged structure:</dt>
        <dd>
          <t>Printing, Unicode normalization, and conversion between character
sets do not change the structure of an MTSV file.</t>
        </dd>
        <dt>Spreadsheets:</dt>
        <dd>
          <t>Spreadsheet applications apply their own rules to sheet names, such
as uniqueness and length, and to data types and sizes. These rules are
outside the scope of this document.</t>
        </dd>
      </dl>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="media-type">
        <name>Media Type Registration</name>
        <t>This document registers the text/prs.mtsv media type in the personal
tree, according to <xref section="3.3" sectionFormat="of" target="RFC6838"/>, using the template in
<xref section="5.6" sectionFormat="of" target="RFC6838"/>.</t>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>text</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>prs.mtsv</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>None</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>charset. MTSV has no in-band charset information, so a default is
needed; if charset is absent, UTF-8 is assumed, as
<xref section="3" sectionFormat="of" target="RFC6657"/> specifies for text subtypes that define a
default.</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>8bit. As per <xref section="4.1.1" sectionFormat="of" target="RFC2046"/>, this media type uses CRLF to
denote line breaks in transport. Implementations need to be aware
that files often use LF alone.</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security"/>.</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>See <xref target="interop"/>.</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>This document.</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Applications that store or exchange multiple sheets of tabular data
as text.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>None</t>
          </dd>
          <dt>Additional information:</dt>
          <dd>
            <dl>
              <dt>Deprecated alias names for this type:</dt>
              <dd>
                <t>None</t>
              </dd>
              <dt>Magic number(s):</dt>
              <dd>
                <t>None</t>
              </dd>
              <dt>File extension(s):</dt>
              <dd>
                <t>.mtsv</t>
              </dd>
              <dt>Macintosh file type code(s):</dt>
              <dd>
                <t>None</t>
              </dd>
            </dl>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>Demos Ra (demos_ra@hotmail.com)</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>None</t>
          </dd>
          <dt>Author:</dt>
          <dd>
            <t>Demos Ra</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>Demos Ra</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="i18n">
      <name>Internationalization Considerations</name>
      <t>This section collects the internationalization decisions of this
document, as <xref section="6" sectionFormat="of" target="RFC2277"/> recommends.</t>
      <t>HT, LF, CRLF, and FF are protocol elements. Fields and sheet names are
text (<xref target="data-model"/>), as <xref section="2" sectionFormat="of" target="RFC2277"/> requires a protocol
to distinguish.</t>
      <t>An MTSV file carries no in-band charset information. The charset
parameter of the media type identifies the charset (<xref target="media-type"/>), and
UTF-8 is assumed when that parameter is absent (<xref target="encoding"/>), so that a
stored file remains readable without it, as <xref section="3.2" sectionFormat="of" target="RFC2277"/>
advises. Any other charset is one registered in the IANA charset
registry, as <xref section="3.1" sectionFormat="of" target="RFC2277"/> requires.</t>
      <t>Sheet names are internationalized. A sheet name is text and follows the
same rules as a field (<xref target="data-model"/>); it is not a US-ASCII identifier.
<xref section="2" sectionFormat="of" target="RFC2277"/> requires a document to state this.</t>
      <t>MTSV carries no language information. This document leaves language to
the enclosing protocol or to separate metadata such as <xref target="CSVW"/>, which
<xref section="2" sectionFormat="of" target="RFC2277"/> permits where the responsibility belongs to
another layer.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>MTSV files are text and contain no executable content. <xref target="TSV"/> lists no
security considerations.</t>
      <t>Applications that import MTSV files into spreadsheets can interpret
fields that begin with characters such as "=", "+", "-", or "@" as
formulas. Such applications need to treat imported fields as data.</t>
      <t>Sheet names can contain control characters. Applications that display
sheet names need to take care that such characters do not mislead
users.</t>
      <t>Parsers that do not set limits (<xref target="parsers"/>) can exhaust resources when
reading large files or files with very many sheets.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC20">
          <front>
            <title>ASCII format for network interchange</title>
            <author fullname="V.G. Cerf" initials="V.G." surname="Cerf"/>
            <date month="October" year="1969"/>
          </front>
          <seriesInfo name="STD" value="80"/>
          <seriesInfo name="RFC" value="20"/>
          <seriesInfo name="DOI" value="10.17487/RFC20"/>
        </reference>
        <reference anchor="RFC3629">
          <front>
            <title>UTF-8, a transformation format of ISO 10646</title>
            <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="63"/>
          <seriesInfo name="RFC" value="3629"/>
          <seriesInfo name="DOI" value="10.17487/RFC3629"/>
        </reference>
        <reference anchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="TSV" target="https://www.iana.org/assignments/media-types/text/tab-separated-values">
          <front>
            <title>text/tab-separated-values</title>
            <author>
              <organization>University of Minnesota Internet Gopher Team</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2046">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t>This second document defines the general structure of the MIME media typing system and defines an initial set of media types. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2046"/>
          <seriesInfo name="DOI" value="10.17487/RFC2046"/>
        </reference>
        <reference anchor="RFC2277">
          <front>
            <title>IETF Policy on Character Sets and Languages</title>
            <author fullname="H. Alvestrand" initials="H." surname="Alvestrand"/>
            <date month="January" year="1998"/>
            <abstract>
              <t>This document is the current policies being applied by the Internet Engineering Steering Group (IESG) towards the standardization efforts in the Internet Engineering Task Force (IETF) in order to help Internet protocols fulfill these requirements. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="18"/>
          <seriesInfo name="RFC" value="2277"/>
          <seriesInfo name="DOI" value="10.17487/RFC2277"/>
        </reference>
        <reference anchor="RFC4180">
          <front>
            <title>Common Format and MIME Type for Comma-Separated Values (CSV) Files</title>
            <author fullname="Y. Shafranovich" initials="Y." surname="Shafranovich"/>
            <date month="October" year="2005"/>
            <abstract>
              <t>This RFC documents the format used for Comma-Separated Values (CSV) files and registers the associated MIME type "text/csv". This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4180"/>
          <seriesInfo name="DOI" value="10.17487/RFC4180"/>
        </reference>
        <reference anchor="RFC6657">
          <front>
            <title>Update to MIME regarding "charset" Parameter Handling in Textual Media Types</title>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
            <author fullname="J. Reschke" initials="J." surname="Reschke"/>
            <date month="July" year="2012"/>
            <abstract>
              <t>This document changes RFC 2046 rules regarding default "charset" parameter values for "text/*" media types to better align with common usage by existing clients and servers. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6657"/>
          <seriesInfo name="DOI" value="10.17487/RFC6657"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="CSVW" target="https://www.w3.org/TR/2015/REC-tabular-data-model-20151217/">
          <front>
            <title>Model for Tabular Data and Metadata on the Web</title>
            <author>
              <organization>W3C</organization>
            </author>
            <date year="2015" month="December" day="17"/>
          </front>
        </reference>
        <reference anchor="UAX14" target="https://www.unicode.org/reports/tr14/">
          <front>
            <title>Unicode Line Breaking Algorithm</title>
            <author>
              <organization>Unicode Consortium</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="UCD" target="https://www.unicode.org/ucd/">
          <front>
            <title>Unicode Character Database</title>
            <author>
              <organization>Unicode Consortium</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="XML" target="https://www.w3.org/TR/2008/REC-xml-20081126/">
          <front>
            <title>Extensible Markup Language (XML) 1.0 (Fifth Edition)</title>
            <author>
              <organization>W3C</organization>
            </author>
            <date year="2008" month="November" day="26"/>
          </front>
        </reference>
        <reference anchor="ODF" target="https://docs.oasis-open.org/office/OpenDocument/v1.3/">
          <front>
            <title>Open Document Format for Office Applications (OpenDocument) Version 1.3</title>
            <author>
              <organization>OASIS</organization>
            </author>
            <date year="2021" month="April" day="27"/>
          </front>
        </reference>
        <reference anchor="OOXML">
          <front>
            <title>Information technology - Document description and processing languages - Office Open XML File Formats - Part 1: Fundamentals and Markup Language Reference</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2016"/>
          </front>
          <seriesInfo name="ISO/IEC" value="29500-1:2016"/>
        </reference>
      </references>
    </references>
    <?line 516?>

<section removeInRFC="true" anchor="change-log">
      <name>Change Log</name>
      <dl>
        <dt>draft-demosra-mtsv-00:</dt>
        <dd>
          <t>Replaces draft-demos-ra-mtsv-00, renamed so that the author component
contains no hyphen. Replaced the byte order mark rules with a parser
rule that follows Section 6 of RFC 3629, and stated that a first field
that begins with U+FEFF cannot be represented. Removed the rule on a
final record without a line break, which the rule on non-conforming
input already covers. Cited CSVW as the source of LF and CRLF line
breaks. Added an Internationalization Considerations section, and
placed the IANA, Internationalization, and Security Considerations
sections in the order that Section 4 of RFC 7322 recommends.</t>
        </dd>
        <dt>draft-demos-ra-mtsv-00:</dt>
        <dd>
          <t>Initial version.</t>
        </dd>
      </dl>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7Vbe3PbRpL/fz7FnFx3ZWVJSpRsWVEeu7IkJqqyLJ8ox5vb
2toMgaGIMwjwMKAekZ3Psp9lP9n1r3sGGJBU1ntV56pEJDCPnn7+unvY7/dV
ndW5PdJbF8u8zvrjmbW1vjaT/tguTGVqm+qfTL60Tj+/uB7/tL2lzGRS2VvM
oO9bKqExN2X1cKSzYloqlZZJYea0YlqZad1P7bx0lenPa3fb391VbjmZZ85l
ZVE/LGjU+dn1SBXL+cRWRyqltY4Urb2vPtqHu7JKj5Tua5rKf8xkmZtK0yiD
73ObZkZjGXVriyXN1Pomq2fLCW2ObfuV2eF93cImSpllPSsrrEgDtZ4u81wo
PcVgfWX4sZ2bLPcL/K0yf5qVNZ4MknKuVFFWc1Nnt7zX1ehkb9d/2D/Y+9p/
fLm3/8J/PDjcP8RHYtQRL16b6sbWR3pW1wt3tLNzd3c3yExhBmV1s2OILTfF
3Ba12+Gz9XE2t1Pb+3qHDt93QST9WxaJLOnl9+SoLR7WHJ7/0XZH+n1BB6lc
Vj/ocqovsqKwrqyNPi9qWxWkBj+Ui5mt9LU1dHRId/XwLw7Cx71Xr/zHF8PD
wJSDg5fh6eHeS+bPyfinD0+z4m6fGXF9tbO3O3y5c3V20vdC70Po/XmZ2ryP
d8O94audzvkv8E4TjdBe1pNTmqJNkeoLWxvM12Wh65nVH+zkSaZ82D/hr6yK
Glv1h3v94St6+P74z8MXTxO/LLKEaOATVHZRViTGuhq+6JL5XkbpN1lh9evK
mo9ZcaOPczIhUt357wmL552UhaOls+UcFJ2cfhk9yyTdTMbJjHQlIXkztybG
2X+Ngj9fvPkyce4esjjv55Df7uFwuHfQpejsvraFyya51Rem+rhc6DemuFma
G6uf0y7bejjY1c9H2bSe6bM0q8mDbH+xFHcP+8Nhf++AHl6ejjZTTI7LDUrj
MtcvF7Zg0svpNEvsziV9Py2TJWxz53Y42O+Sjtc6vNcjNhPWxEuero8Xizwj
P0kkkxuNF9vWP8ECSS9p0SdPc3k8Ph93zrM37O++6O9BKy8vWxl4es6DqULf
bTIryry8eSCP2dCYWpdU2YJHwEIWVZlYcj+kirnnuqPxnn4+H+2iRxlJR86H
1+9MVevhkR4ti9RgXZM7MbgVAV7Zqa1skTytXOfjy53zMxGas1VmHfxNGOLf
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

-->

</rfc>
