<?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-01" 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-01"/>
    <author fullname="Demos Ra">
      <organization/>
      <address>
        <email>demos_ra@hotmail.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="18"/>
    <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. The first sheet of a
file can be written without its FF line; its sheet name is then
empty.</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. An empty sheet name is permitted. Sheet
names are not required to be unique.</t>
      <t>The lines before the first FF, if there are any, form the first sheet,
written without its FF line; its sheet name is empty.</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 sheet, whose sheet
name is empty.</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     = first-sheet *named-sheet
first-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
first sheet, with an empty sheet name, 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 generator <bcp14>MUST</bcp14> write an FF line before every sheet, including the
first, so that generated files can be concatenated (<xref target="interop"/>).</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>
    </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 sheet, whose sheet name is empty.</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 a first sheet with an empty sheet name, 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 first sheet of a later file becomes part of the last
sheet of the file before it. Files written by a generator begin with
an FF (<xref target="generators"/>).</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>N/A</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>N/A</t>
          </dd>
          <dt>Additional information:</dt>
          <dd>
            <dl>
              <dt>Deprecated alias names for this type:</dt>
              <dd>
                <t>N/A</t>
              </dd>
              <dt>Magic number(s):</dt>
              <dd>
                <t>N/A</t>
              </dd>
              <dt>File extension(s):</dt>
              <dd>
                <t>.mtsv</t>
              </dd>
              <dt>Macintosh file type code(s):</dt>
              <dd>
                <t>N/A</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>N/A</t>
          </dd>
          <dt>Author:</dt>
          <dd>
            <t>Demos Ra</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>Demos Ra</t>
          </dd>
        </dl>
        <t>Files written by a generator begin with FF (%x0C).</t>
      </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 517?>

<section removeInRFC="true" anchor="change-log">
      <name>Change Log</name>
      <dl>
        <dt>draft-demosra-mtsv-01:</dt>
        <dd>
          <t>Gave every sheet a sheet name: the lines before the first FF form a
first sheet whose sheet name is empty, and the term "unnamed sheet" is
removed. Required generators to write an FF line before every sheet,
and removed the rule on a first field that begins with U+FEFF, which
that makes unnecessary. Used "N/A" in the registration template, as
Section 5.6 of RFC 6838 asks.</t>
        </dd>
        <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:
H4sIAAAAAAAAA7Vb/XIbR3L/f55iAlVSog8ACVKiaPrjDiIJm1WiqAiUdc7V
1XmAHRB7WuwiOwtSMCU/S54lT5b+dc/szgKgI6cqqrIJ7M5HT3/+unvQ6/VU
lVaZPdWdq1VWpb3x3NpK35hJb2yXpjSVTfRPJltZp59e3Yx/2usoM5mU9g4z
6HtHTWnMbVGuT3WazwqlkmKamwWtmJRmVvUSuyhcaXqLyt31DgbKrSaL1Lm0
yKv1kkZdXtyMVL5aTGx5qhJa61TR2kfqg13fF2VyqnRP01T+YyarzJSaRhl8
X9gkNRrLqDubr2im1rdpNV9NaHNs2yvNPu/rlnaqlFlV86LEijRQ69kqy4TS
cwzWbw0/tguTZn6Bf5TmL/OiwpP+tFgolRflwlTpHe/1dnR2eOA/HB0ffu0/
Pj88euY/Hp8cneAjMeqUF69MeWurUz2vqqU73d+/v7/vpyY3/aK83TfEltt8
YfPK7fPZejib26/sx2qfDt9zQSS9OxaJLOnl9+ioDg+rD8//aLtT/S6ng5Qu
rda6mOmrNM+tKyqjL/PKljmpwQ/Fcm5LfWMNHR3S3Tz8s+Pw8fDFC//x2eAk
MOX4+Hl4enL4nPlzNv7p/eOsuD9iRty83T88GDzff3tx1vNC70HovUWR2KyH
d4PDwYv91vmv8E4TjdBe1pNzmqJNnugrWxnM10Wuq7nV7+3kUaa8Pzrjr6yK
Glv1Boe9wQt6+G7418Gzx4lf5emUaOATlHZZlCTGqhw8a5P5TkbpV2lu9cvS
mg9pfquHGZkQqe7i94TF886K3NHS6WoBis7Ov4ye1TTZTcbZnHRlSvJmbk2M
s3+Mgr9evfoycR6csDg/LiC/g5PB4PC4TdHFx8rmLp1kVl+Z8sNqqV+Z/HZl
bq1+Srvs6UH/QD8dpbNqri+StCIPsvfFUjw46Q0GvcNjenh9PtpNMTku1y+M
S12vWNqcSS9ms3Rq96/p+3kxXcE29+8G/aM26Xitw3s9YjNhTbzm6Xq4XGYp
+UkimdxovNie/gkWSHpJiz56muvh+HLcOs/hoHfwrHcIrby+bmTg6bkMpgp9
t9N5XmTF7Zo8Zk1jYt20TJc8AhayLIupJfdDqph5rjsa7+nn89EuepSSdOR8
eP3GlJUenOrRKk8M1jWZE4PbEOBbO7OlzaePK9fl+Hr/8kKE5myZWgd/E4b4
t3Tyr58fHPQGp2SXx20zPVaq3+8r1ev1tJm4Clqt1M08dTppTj0jq3P6C0Nd
V1N0Ia+qhJvkOuh/U1OCOnIllijXi6K02mElByfa8r9a/C/FRW0UeEvMmxEH
+xrLa6IMf+7J7Hk1k4hWm0wn6QK2UOSnYW1TWtUsPFmzHxuOzy4voWgLPbP0
+OlotKenwaL7esgbYEumXU0p6JqUdDAv9GjUZVHRx7O3uqjg6GlQDmrP3r4a
6QwOagIH5bqglV6BbCUnaDOW5F7o0t6mjvZ1TBuHo2Xp+gjAUagmEbGMFmmS
ZFapJwg3ZZGspqyMD09SfP0M0dnd7PTSeHggaj5/1qRW5JVEII4ESlIo7ZSg
g9NLW3pyR6nNEuaibnHRYAthRJi0NQaMUMIIIv4lsSq8L0oZ3siB6LKzmZ3y
q4cHDpKfP/f1jzekKXdEZacqwB6VE3tYMby2g+xlaRNLDFzQhmSShUvFY5is
ILsEU5clcYeNlIZ0ugp0k6haS2teuj3SaxxpmGPBY5iQqwK57K/q6Rl8Y6kp
hFRdfT9Pp/ONTWZp6SpFFPdikuNNQ7Dl9VhHaYMleQOihoyOkBrWq3kxg4S6
MpOVuX4vK4h4RFSNxm8swsZCQnryhFxOJg53ni41EY3zPzwpo6ekY8yVD9Yu
ZaNYrLQNORHSyhUJmIRDI2VzZmKRZ2tonKqndGuLMhqokvlpDTEuEMWbJYWF
+YkfoSXu2Oyss3RA2i+disjhSoggzLgtzWJhyFuqr8igmU00OdcTS1B1Wa3D
psIgfkV2TlGMTYH0Kzge5q8BaCS9Y90EVCPtlJWZzO3pc2sSopG9VF4EK+lC
mPSenmTsUkmTyK9nGXbApvVic3NneWJx72RjDli87YZ/0n/YP6lt/yTLPX14
aADj5897ohPXKz7UeErxfSs2BMFIkOAkgx0WrQ59I0TpP5kKOt7VU5tlqgyR
TViy8EizD5R050M7aR9rbVkstCOTMYmwZ+YDqVtN58rAXxA2IY+GwTWb+Ghw
r4UQ70A8nOgT2SL3PoLmnINy8RniPimH0vfs1DpX78Y3na781a+v+fPbi39/
d/n24hyfxz8OX72qPyg/Yvzj9btX582nZubZ9dXVxetzmUxPdeuR6lwNf+6I
ADvXb24ur18PX3UguqodN8i2iDukyilyDuINfC7pqOCTCX2hOS/P3vz3fw2e
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
ipf4UQdx25eK+up/AHdvsSm3PwAA

-->

</rfc>
