One document matched: draft-iab-xml2rfcv2-02.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
This XML document is the output of clean-for-DTD.xslt; a tool that strips
extensions to RFC2629(bis) from documents for processing with xml2rfc.
-->
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no" ?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc linkmailto="no" ?>
<?rfc rfcedstyle="yes"?><!--<?rfc-ext refresh-from="draft-xml2rfc-latest.xml"?>
<?rfc-ext refresh-interval="5"?>-->
<!DOCTYPE rfc
PUBLIC "" "rfc2629.dtd">
<rfc obsoletes="2629" ipr="trust200902" docName="draft-iab-xml2rfcv2-02" category="info" submissionType="IAB">
<front>
<title>The 'XML2RFC' version 2 Vocabulary</title>
<author initials="J. F." surname="Reschke" fullname="Julian F. Reschke">
<organization abbrev="greenbytes">greenbytes GmbH</organization>
<address>
<postal>
<street>Hafenweg 16</street>
<city>Muenster</city><region>NW</region><code>48155</code>
<country>Germany</country>
</postal>
<email>julian.reschke@greenbytes.de</email>
<uri>http://greenbytes.de/tech/webdav/</uri>
</address>
</author>
<date year="2015" month="September" day="16"/>
<abstract>
<t>
This document defines the 'XML2RFC' version 2 vocabulary; an XML-based
language used for writing RFCs and Internet-Drafts.
</t>
<t>
Version 2 represents the current state of the vocabulary (as implemented
by several tools and as used by the RFC Editor) around 2014.
</t>
</abstract>
<note title="Editorial Note (To be removed by RFC Editor)">
<t>
Discussion of this draft takes place on the XML2RFC
mailing list (xml2rfc@ietf.org), which has its home page at
<eref target="https://www.ietf.org/mailman/listinfo/xml2rfc"/>.
</t>
</note>
</front>
<middle>
<section title="Introduction">
<t>
This document describes version 2 ("v2") of the 'XML2RFC' vocabulary; an XML-based
language ('Extensible Markup Language', <xref target="XML"/>) used for writing RFCs
(<xref target="RFC7322"/>) and Internet-Drafts (<xref target="IDGUIDE"/>).
</t>
<t>
Version 2 represents the current state of the vocabulary (as implemented
by several tools and as used by the RFC Editor) around 2014.
</t>
<t>
It obsoletes the original version ("v1") <xref target="RFC2629"/>, which
contained the original language definition, and which was subsequently
extended. Many of the changes leading to version 2 have been described in
"Writing I-Ds and RFCs using XML (revised)" (<xref target="V1rev"/>), but
that document has not been updated since 2008.
</t>
<t>
Processing Instructions (Section 2.6 of <xref target="XML"/>)
generally are specific to a given processor, and thus are not considered to
be part of the vocabulary. See Section 4.1 of <xref target="TCLReadme"/>
for a list of the processing instructions supported by the first implementation
of an xml2rfc processor.
</t>
<t>
Note that the vocabulary contains certain constructs that might not be
used when generating the final text; however, they can provide useful
data for other uses (such index generation, populating a keyword database, or
syntax checks).
</t>
<section anchor="syntax.notation" title="Syntax Notation">
<t>
The XML vocabulary here is defined in prose, based on the Relax NG schema
(<xref target="RNC"/>) contained in <xref target="schema"/> (specified in
Relax NG Compact Notation, "RNC").
</t>
<t>
Note that the schema can be used for automated validity
checks, but certain constraints are only described in prose (example:
the conditionally required presence of the "abbrev" attribute).
</t>
</section>
</section>
<section anchor="elements" title="Elements">
<t>
The sections below describe all elements and their attributes.
</t>
<t>
Note that attributes not labeled "mandatory" are optional.
</t>
<t>
Except inside <<xref target="element.artwork" format="none">artwork</xref>>, horizontal
whitespace and linebreaks are collapsed into a single whitespace, and leading and trailing
whitespace are trimmed off.
</t>
<!--THIS IS AN AUTOGENERATED FILE. DO NOT EDIT!-->
<!--abstract--><section anchor="element.abstract" title="<abstract>">
<iref item="Elements" subitem="abstract" primary="true"/>
<iref item="abstract element" primary="true"/>
<t>
Contains the abstract of the document. The abstract ought to be self-contained
and thus should not contain references or unexpanded abbreviations.
See Section 4.3 of <xref target="RFC7322"/> for more information.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.front" format="none">front</xref>> (<xref target="element.front"/>).</t>
<t anchor="element.abstract.contents"><!--AG-->
Content model:
</t>
<t><!--AG-->
<iref item="Elements" subitem="t"/>
<iref item="t element" subitem="inside abstract"/>One or more <<xref target="element.t" format="none">t</xref>> elements (<xref target="element.t"/>)</t>
</section>
<!--address-->
<section anchor="element.address" title="<address>">
<iref item="Elements" subitem="address" primary="true"/>
<iref item="address element" primary="true"/>
<t>
Provides address information for the author.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.author" format="none">author</xref>> (<xref target="element.author"/>).</t>
<t anchor="element.address.contents"><!--AG-->
Content model:</t>
<t><!--AG-->In this order:</t>
<t><list style="numbers"><!--AG-->
<t><!--AG-->
<iref item="Elements" subitem="postal"/>
<iref item="postal element" subitem="inside address"/>One optional <<xref target="element.postal" format="none">postal</xref>> element (<xref target="element.postal"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="phone"/>
<iref item="phone element" subitem="inside address"/>One optional <<xref target="element.phone" format="none">phone</xref>> element (<xref target="element.phone"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="facsimile"/>
<iref item="facsimile element" subitem="inside address"/>One optional <<xref target="element.facsimile" format="none">facsimile</xref>> element (<xref target="element.facsimile"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="email"/>
<iref item="email element" subitem="inside address"/>One optional <<xref target="element.email" format="none">email</xref>> element (<xref target="element.email"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="uri"/>
<iref item="uri element" subitem="inside address"/>One optional <<xref target="element.uri" format="none">uri</xref>> element (<xref target="element.uri"/>)</t>
</list></t>
</section>
<!--annotation-->
<section anchor="element.annotation" title="<annotation>">
<iref item="Elements" subitem="annotation" primary="true"/>
<iref item="annotation element" primary="true"/>
<t>
Provides additional prose augmenting a bibliographical reference.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.reference" format="none">reference</xref>> (<xref target="element.reference"/>).</t>
<t anchor="element.annotation.contents"><!--AG-->
Content model:
</t>
<t><!--AG-->In any order:</t>
<t><list style="symbols"><!--AG-->
<t><!--AG-->Text</t>
<t><!--AG-->
<iref item="Elements" subitem="xref"/>
<iref item="xref element" subitem="inside annotation"/><<xref target="element.xref" format="none">xref</xref>> elements (<xref target="element.xref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="eref"/>
<iref item="eref element" subitem="inside annotation"/><<xref target="element.eref" format="none">eref</xref>> elements (<xref target="element.eref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="iref"/>
<iref item="iref element" subitem="inside annotation"/><<xref target="element.iref" format="none">iref</xref>> elements (<xref target="element.iref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="cref"/>
<iref item="cref element" subitem="inside annotation"/><<xref target="element.cref" format="none">cref</xref>> elements (<xref target="element.cref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="spanx"/>
<iref item="spanx element" subitem="inside annotation"/><<xref target="element.spanx" format="none">spanx</xref>> elements (<xref target="element.spanx"/>)</t>
</list></t>
</section>
<!--area-->
<section anchor="element.area" title="<area>">
<iref item="Elements" subitem="area" primary="true"/>
<iref item="area element" primary="true"/>
<t>
Provides information about the IETF area to which this document relates
(currently not used when generating documents).
</t>
<t>
The value ought to be either the full name or the abbreviation of one of
the IETF areas as listed on <eref target="https://www.ietf.org/iesg/area.html"/>.
The list at the time that this document is being published is:
"Applications and Real-Time" ("art"),
"General" ("gen"),
"Internet" ("int"),
"Operations and Management ("ops"),
"Routing" ("rtg"),
"Security" ("sec"),
"Transport" ("tsv").
</t>
<t>
Note that the set of IETF areas can change over time; for instance,
"Application and Real-Time" ("art") replaced "Applications" ("app") and
"Real-time Applications and Infrastructure" ("rai") in 2015.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.front" format="none">front</xref>> (<xref target="element.front"/>).</t>
<t anchor="element.area.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--artwork-->
<section anchor="element.artwork" title="<artwork>">
<iref item="Elements" subitem="artwork" primary="true"/>
<iref item="artwork element" primary="true"/>
<t>
This element allows the inclusion of "artwork" into the document.
</t>
<t>
<artwork> is the only element in the vocabulary that provides
full control of horizontal whitespace and line breaks, and thus is
used for a variety of things, such as:
</t>
<t><list style="symbols">
<t>diagrams ("line art"),</t>
<t>source code,</t>
<t>formal languages (such as ABNF or the RNC notation used in this document),</t>
<t>message flow diagrams,</t>
<t>complex tables, or</t>
<t>protocol unit diagrams.</t>
</list></t>
<t>
Note that processors differ in the handling of horizontal TAB characters
(some expand them, some treat them as single space) and thus these ought
to be avoided.
</t>
<t>
Alternatively, the "src" attribute allows referencing an external graphics
file, such as a bitmap or a vector drawing, using a URI ("Uniform Resource Identifier", <xref target="RFC3986"/>).
In this case, the textual
content acts as fallback for output formats that do not support graphics,
and thus ought to contain either a "line art" variant of the graphics, or
otherwise prose that describes the included image in sufficient detail.
Note that RFCs occasionally are published with enhanced diagrams;
a recent example is <xref target="RFC5598"/>.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.figure" format="none">figure</xref>> (<xref target="element.figure"/>).</t>
<t anchor="element.artwork.contents"><!--AG-->
Content model:
</t>
<t><!--AG-->Text</t>
<!--artwork/@align-->
<section anchor="element.artwork.attribute.align" toc="exclude" title="'align' attribute">
<iref item="Attributes" subitem="align"/>
<iref item="artwork element" subitem="align attribute"/>
<iref item="align attribute" subitem="in artwork element"/>
<t>
Controls whether the artwork appears left justified (default), centered,
or right justified.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"left" (default)</t>
<t>"center"</t>
<t>"right"</t>
</list></t>
</section>
<!--artwork/@alt-->
<section anchor="element.artwork.attribute.alt" toc="exclude" title="'alt' attribute">
<iref item="Attributes" subitem="alt"/>
<iref item="artwork element" subitem="alt attribute"/>
<iref item="alt attribute" subitem="in artwork element"/>
<t>
Alternative text description of the artwork (not just the caption).
</t>
</section>
<!--artwork/@height-->
<section anchor="element.artwork.attribute.height" toc="exclude" title="'height' attribute">
<iref item="Attributes" subitem="height"/>
<iref item="artwork element" subitem="height attribute"/>
<iref item="height attribute" subitem="in artwork element"/>
<t>
The suggested height of the graphics included using the "src" attribute.
</t>
<t>
This attribute is format-dependent and ought to be avoided.
</t>
<t>
When generating HTML output (<xref target="HTML"/>), current implementations copy the attribute "as is",
thus effectively treat it as CSS pixels (see Section 4.3.2 of <xref target="CSS"/>).
For other output formats it is usually ignored.
</t>
</section>
<!--artwork/@name-->
<section anchor="element.artwork.attribute.name" toc="exclude" title="'name' attribute">
<iref item="Attributes" subitem="name"/>
<iref item="artwork element" subitem="name attribute"/>
<iref item="name attribute" subitem="in artwork element"/>
<t>
A filename suitable for the contents (such as for extraction to a local file).
</t>
<t>
This attribute generally isn't used for document generation, but it can
be helpful for other kinds of tools (such as automated syntax checkers
which work by extracting the source code).
</t>
</section>
<!--artwork/@src-->
<section anchor="element.artwork.attribute.src" toc="exclude" title="'src' attribute">
<iref item="Attributes" subitem="src"/>
<iref item="artwork element" subitem="src attribute"/>
<iref item="src attribute" subitem="in artwork element"/>
<t>
The URI reference of a graphics file (<xref target="RFC3986"/>, Section 4.1).
</t>
<t>
Note that this can be a "data" URI (<xref target="RFC2397"/>) as well; in which case the graphics
file is wholly part of the XML file.
</t>
</section>
<!--artwork/@type-->
<section anchor="element.artwork.attribute.type" toc="exclude" title="'type' attribute">
<iref item="Attributes" subitem="type"/>
<iref item="artwork element" subitem="type attribute"/>
<iref item="type attribute" subitem="in artwork element"/>
<t>
Specifies the type of the artwork.
</t>
<t>
The value either is an Internet Media Type (see <xref target="RFC2046"/>)
or a keyword (such as "abnf"). The set of recognized keywords varies
across implementations.
</t>
<t>
How it is used depends on context and application. For instance, a formatter
can attempt to syntax-highlight code in certain known languages.
</t>
</section>
<!--artwork/@width-->
<section anchor="element.artwork.attribute.width" toc="exclude" title="'width' attribute">
<iref item="Attributes" subitem="width"/>
<iref item="artwork element" subitem="width attribute"/>
<iref item="width attribute" subitem="in artwork element"/>
<t>
The suggested width of the graphics included using the "src" attribute.
</t>
<t>
This attribute is format-dependent and ought to be avoided.
</t>
<t>
When generating HTML output (<xref target="HTML"/>), current implementations copy the attribute "as is",
thus effectively treat it as CSS pixels (see Section 4.3.2 of <xref target="CSS"/>).
For other output formats it is usually ignored.
</t>
</section>
<!--artwork/@xml:space-->
<section anchor="element.artwork.attribute.xml-space" toc="exclude" title="'xml:space' attribute">
<iref item="Attributes" subitem="xml:space"/>
<iref item="artwork element" subitem="xml:space attribute"/>
<iref item="xml:space attribute" subitem="in artwork element"/>
<t>
Determines whitespace handling.
</t>
<t>
"preserve" is both the default value and the only meaningful
setting anyway (because that's what the <artwork> element is for).
</t>
<t>
See also Section 2.10 of <xref target="XML"/>.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"default"</t>
<t>"preserve" (default)</t>
</list></t>
</section>
</section>
<!--author-->
<section anchor="element.author" title="<author>">
<iref item="Elements" subitem="author" primary="true"/>
<iref item="author element" primary="true"/>
<t>
Provides information about a document's author. This is used both for
the document itself (at the beginning of the document) and for
referenced documents (inside of <<xref target="element.reference" format="none">reference</xref>>).
</t>
<t>
The <author> elements contained within the document's <front> element
are used to fill the boilerplate, and also to generate the "Author's Address"
section (see Section 4.12 of <xref target="RFC7322"/>).
</t>
<t>
Note that an "author" can also be just an organization (by not specifying any
of the name attributes, but adding the <<xref target="element.organization" format="none">organization</xref>>
child element).
</t>
<t>
Furthermore, the "role" attribute can be used to mark an author as
"editor". This is reflected both on the front page and in bibliographical
references. Note that this specification does not define a precise
meaning for the term "editor".
</t>
<t>
See Section "Authors vs. Contributors" of <xref target="RFCPOLICY"/>
for more information.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.front" format="none">front</xref>> (<xref target="element.front"/>).</t>
<t anchor="element.author.contents"><!--AG-->
Content model:</t>
<t><!--AG-->In this order:</t>
<t><list style="numbers"><!--AG-->
<t><!--AG-->
<iref item="Elements" subitem="organization"/>
<iref item="organization element" subitem="inside author"/>One optional <<xref target="element.organization" format="none">organization</xref>> element (<xref target="element.organization"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="address"/>
<iref item="address element" subitem="inside author"/>One optional <<xref target="element.address" format="none">address</xref>> element (<xref target="element.address"/>)</t>
</list></t>
<!--author/@fullname-->
<section anchor="element.author.attribute.fullname" toc="exclude" title="'fullname' attribute">
<iref item="Attributes" subitem="fullname"/>
<iref item="author element" subitem="fullname attribute"/>
<iref item="fullname attribute" subitem="in author element"/>
<t>
The full name (used in the automatically generated "Author's Address" section).
</t>
</section>
<!--author/@initials-->
<section anchor="element.author.attribute.initials" toc="exclude" title="'initials' attribute">
<iref item="Attributes" subitem="initials"/>
<iref item="author element" subitem="initials attribute"/>
<iref item="initials attribute" subitem="in author element"/>
<t>
An abbreviated variant of the given name(s), to be used in conjunction
with the separately specified surname. It usually appears
on the front page, in footers, and in references.
</t>
<t>
Some processors will post-process the value, for instance when
it only contains a single letter (in which case they might add a
trailing dot).
Relying on this kind of post-processing can lead to results
varying across formatters and thus ought to be avoided.
</t>
</section>
<!--author/@role-->
<section anchor="element.author.attribute.role" toc="exclude" title="'role' attribute">
<iref item="Attributes" subitem="role"/>
<iref item="author element" subitem="role attribute"/>
<iref item="role attribute" subitem="in author element"/>
<t>
Specifies the role the author had in creating the document.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"editor"</t>
</list></t>
</section>
<!--author/@surname-->
<section anchor="element.author.attribute.surname" toc="exclude" title="'surname' attribute">
<iref item="Attributes" subitem="surname"/>
<iref item="author element" subitem="surname attribute"/>
<iref item="surname attribute" subitem="in author element"/>
<t>
The author's surname, to be used in conjunction
with the separately specified initials. It usually appears
on the front page, in footers, and in references.
</t>
</section>
</section>
<!--back-->
<section anchor="element.back" title="<back>">
<iref item="Elements" subitem="back" primary="true"/>
<iref item="back element" primary="true"/>
<t>
Contains the "back" part of the document: the references and appendices. In <back>,
<<xref target="element.section" format="none">section</xref>> elements indicate appendices.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.rfc" format="none">rfc</xref>> (<xref target="element.rfc"/>).</t>
<t anchor="element.back.contents"><!--AG-->
Content model:</t>
<t><!--AG-->In this order:</t>
<t><list style="numbers"><!--AG-->
<t><!--AG-->
<iref item="Elements" subitem="references"/>
<iref item="references element" subitem="inside back"/>Optional <<xref target="element.references" format="none">references</xref>> elements (<xref target="element.references"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="section"/>
<iref item="section element" subitem="inside back"/>Optional <<xref target="element.section" format="none">section</xref>> elements (<xref target="element.section"/>)</t>
</list></t>
</section>
<!--c-->
<section anchor="element.c" title="<c>">
<iref item="Elements" subitem="c" primary="true"/>
<iref item="c element" primary="true"/>
<t>
Provides the content of a cell in a table.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.texttable" format="none">texttable</xref>> (<xref target="element.texttable"/>).</t>
<t anchor="element.c.contents"><!--AG-->
Content model:
</t>
<t><!--AG-->In any order:</t>
<t><list style="symbols"><!--AG-->
<t><!--AG-->Text</t>
<t><!--AG-->
<iref item="Elements" subitem="xref"/>
<iref item="xref element" subitem="inside c"/><<xref target="element.xref" format="none">xref</xref>> elements (<xref target="element.xref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="eref"/>
<iref item="eref element" subitem="inside c"/><<xref target="element.eref" format="none">eref</xref>> elements (<xref target="element.eref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="iref"/>
<iref item="iref element" subitem="inside c"/><<xref target="element.iref" format="none">iref</xref>> elements (<xref target="element.iref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="cref"/>
<iref item="cref element" subitem="inside c"/><<xref target="element.cref" format="none">cref</xref>> elements (<xref target="element.cref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="spanx"/>
<iref item="spanx element" subitem="inside c"/><<xref target="element.spanx" format="none">spanx</xref>> elements (<xref target="element.spanx"/>)</t>
</list></t>
</section>
<!--city-->
<section anchor="element.city" title="<city>">
<iref item="Elements" subitem="city" primary="true"/>
<iref item="city element" primary="true"/>
<t>
Gives the city name in a postal address.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.postal" format="none">postal</xref>> (<xref target="element.postal"/>).</t>
<t anchor="element.city.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--code-->
<section anchor="element.code" title="<code>">
<iref item="Elements" subitem="code" primary="true"/>
<iref item="code element" primary="true"/>
<t>
Gives the postal region code.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.postal" format="none">postal</xref>> (<xref target="element.postal"/>).</t>
<t anchor="element.code.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--country-->
<section anchor="element.country" title="<country>">
<iref item="Elements" subitem="country" primary="true"/>
<iref item="country element" primary="true"/>
<t>
Gives the country in a postal address.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.postal" format="none">postal</xref>> (<xref target="element.postal"/>).</t>
<t anchor="element.country.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--cref-->
<section anchor="element.cref" title="<cref>">
<iref item="Elements" subitem="cref" primary="true"/>
<iref item="cref element" primary="true"/>
<t>
Represents a comment.
</t>
<t>
Comments can be used in a document while it is work-in-progress. They
usually appear either inline and visually highlighted, at the end of the document
(depending on file format and settings of the formatter), or not at
all (when generating an RFC).
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.annotation" format="none">annotation</xref>> (<xref target="element.annotation"/>), <<xref target="element.c" format="none">c</xref>> (<xref target="element.c"/>), <<xref target="element.postamble" format="none">postamble</xref>> (<xref target="element.postamble"/>), <<xref target="element.preamble" format="none">preamble</xref>> (<xref target="element.preamble"/>), and <<xref target="element.t" format="none">t</xref>> (<xref target="element.t"/>).</t>
<t anchor="element.cref.contents"><!--AG-->
Content model: only text content.</t>
<!--cref/@anchor-->
<section anchor="element.cref.attribute.anchor" toc="exclude" title="'anchor' attribute">
<iref item="Attributes" subitem="anchor"/>
<iref item="cref element" subitem="anchor attribute"/>
<iref item="anchor attribute" subitem="in cref element"/>
<t>
Document-wide unique identifier for this comment. The processor
will auto-generate an identifier when none is given.
</t>
<t>
The value needs to be a valid XML "Name" (Section 2.3 of <xref target="XML"/>),
additionally constrained to US-ASCII characters (<xref target="USASCII"/>).
</t>
</section>
<!--cref/@source-->
<section anchor="element.cref.attribute.source" toc="exclude" title="'source' attribute">
<iref item="Attributes" subitem="source"/>
<iref item="cref element" subitem="source attribute"/>
<iref item="source attribute" subitem="in cref element"/>
<t>
Holds the "source" of a comment, such as the name or the initials
of the person who made the comment.
</t>
</section>
</section>
<!--date-->
<section anchor="element.date" title="<date>">
<iref item="Elements" subitem="date" primary="true"/>
<iref item="date element" primary="true"/>
<t>
Provides information about the publication date.
</t>
<t>
Note that this element is used both for the boilerplate of the document
being produced, and also inside bibliographic references.
</t>
<t>
In the boilerplate case, it defines the publication date, which, when producing
Internet-Drafts, will be used for computing the expiration date (see Section 8 of <xref target="IDGUIDE"/>).
When one or more of "year", "month", or "day" are left out, the processor
will attempt to use the current system date if the attributes that are
present are consistent with that date.
</t>
<t>
Note that in this case, month names need to match the full (English) month name
("January", "February", "March", "April", "May, "June", "July", "August",
"September", "October", "November", or "December") in order for expiration
calculations to work (some implementations might support additional
formats, though).
</t>
<t>
In the case of bibliographic references, the date information can have prose text for the month or year.
For example, vague dates (year="ca. 2000"), date ranges (year="2012-2013"),
non-specific months (month="Second quarter") and so on, are allowed.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.front" format="none">front</xref>> (<xref target="element.front"/>).</t>
<t anchor="element.date.contents"><!--AG-->
Content model: this element does not have any contents.</t>
<!--date/@day-->
<section anchor="element.date.attribute.day" toc="exclude" title="'day' attribute">
<iref item="Attributes" subitem="day"/>
<iref item="date element" subitem="day attribute"/>
<iref item="day attribute" subitem="in date element"/>
<t>
In the "boilerplate" case: the day of publication; this is a number.
Otherwise: an indication of the publication day, with the format
not being restricted.
</t>
</section>
<!--date/@month-->
<section anchor="element.date.attribute.month" toc="exclude" title="'month' attribute">
<iref item="Attributes" subitem="month"/>
<iref item="date element" subitem="month attribute"/>
<iref item="month attribute" subitem="in date element"/>
<t>
In the "boilerplate" case: the month of publication; this is the English name of the month.
Otherwise: an indication of the publication month, with the format
not being restricted.
</t>
</section>
<!--date/@year-->
<section anchor="element.date.attribute.year" toc="exclude" title="'year' attribute">
<iref item="Attributes" subitem="year"/>
<iref item="date element" subitem="year attribute"/>
<iref item="year attribute" subitem="in date element"/>
<t>
In the "boilerplate" case: the year of publication; this is a number (usually four-digit).
Otherwise: an indication of the publication year, with the format
not being restricted.
</t>
</section>
</section>
<!--email-->
<section anchor="element.email" title="<email>">
<iref item="Elements" subitem="email" primary="true"/>
<iref item="email element" primary="true"/>
<t>
Provides an email address.
</t>
<t>
The value is expected to be an email address conforming to the addr-spec
definition in Section 2 of <xref target="RFC6068"/>
(so does not include the prefix "mailto:").
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.address" format="none">address</xref>> (<xref target="element.address"/>).</t>
<t anchor="element.email.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--eref-->
<section anchor="element.eref" title="<eref>">
<iref item="Elements" subitem="eref" primary="true"/>
<iref item="eref element" primary="true"/>
<t>
Represents an "external" link (as specified in the "target" attribute).
</t>
<t>
If the element has no text content, the value of the
target attribute will be inserted in angle brackets
(as described in <xref target="RFC3986"/>, Appendix C) and,
depending on the capabilities of the output format, hyperlinked.
</t>
<t>
Otherwise, the text content will be used (and potentially hyperlinked).
Depending on output format and formatter, additional text might be inserted
(such as a "URI" counter, and a "URIs" section in the back of the document).
Avoid this variant when consistent rendering across formats and formatters
is desired.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.annotation" format="none">annotation</xref>> (<xref target="element.annotation"/>), <<xref target="element.c" format="none">c</xref>> (<xref target="element.c"/>), <<xref target="element.postamble" format="none">postamble</xref>> (<xref target="element.postamble"/>), <<xref target="element.preamble" format="none">preamble</xref>> (<xref target="element.preamble"/>), and <<xref target="element.t" format="none">t</xref>> (<xref target="element.t"/>).</t>
<t anchor="element.eref.contents"><!--AG-->
Content model: only text content.</t>
<!--eref/@target-->
<section anchor="element.eref.attribute.target" toc="exclude" title="'target' attribute (mandatory)">
<iref item="Attributes" subitem="target"/>
<iref item="eref element" subitem="target attribute"/>
<iref item="target attribute" subitem="in eref element"/>
<t>
URI of the link target (see Section 3 of <xref target="RFC3986"/>).
</t>
</section>
</section>
<!--facsimile-->
<section anchor="element.facsimile" title="<facsimile>">
<iref item="Elements" subitem="facsimile" primary="true"/>
<iref item="facsimile element" primary="true"/>
<t>
Represents the phone number of a fax machine.
</t>
<t>
The value is expected to be the scheme-specific part of a "tel" URI
(so does not include the prefix "tel:"), using the "global numbers"
syntax. See Section 3 of <xref target="RFC3966"/>
for details.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.address" format="none">address</xref>> (<xref target="element.address"/>).</t>
<t anchor="element.facsimile.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--figure-->
<section anchor="element.figure" title="<figure>">
<iref item="Elements" subitem="figure" primary="true"/>
<iref item="figure element" primary="true"/>
<t>
This element is used to represent a figure, consisting of an optional preamble,
the actual figure, an optional postamble, and an optional title.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.section" format="none">section</xref>> (<xref target="element.section"/>), and <<xref target="element.t" format="none">t</xref>> (<xref target="element.t"/>).</t>
<t anchor="element.figure.contents"><!--AG-->
Content model:</t>
<t><!--AG-->In this order:</t>
<t><list style="numbers"><!--AG-->
<t><!--AG-->
<iref item="Elements" subitem="iref"/>
<iref item="iref element" subitem="inside figure"/>Optional <<xref target="element.iref" format="none">iref</xref>> elements (<xref target="element.iref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="preamble"/>
<iref item="preamble element" subitem="inside figure"/>One optional <<xref target="element.preamble" format="none">preamble</xref>> element (<xref target="element.preamble"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="artwork"/>
<iref item="artwork element" subitem="inside figure"/>One <<xref target="element.artwork" format="none">artwork</xref>> element (<xref target="element.artwork"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="postamble"/>
<iref item="postamble element" subitem="inside figure"/>One optional <<xref target="element.postamble" format="none">postamble</xref>> element (<xref target="element.postamble"/>)</t>
</list></t>
<!--figure/@align-->
<section anchor="element.figure.attribute.align" toc="exclude" title="'align' attribute">
<iref item="Attributes" subitem="align"/>
<iref item="figure element" subitem="align attribute"/>
<iref item="align attribute" subitem="in figure element"/>
<t>
Used to change the alignment of <<xref target="element.preamble" format="none">preamble</xref>>
and <<xref target="element.postamble" format="none">postamble</xref>>.
</t>
<t>
Note: does not affect title or <<xref target="element.artwork" format="none">artwork</xref>> alignment.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"left" (default)</t>
<t>"center"</t>
<t>"right"</t>
</list></t>
</section>
<!--figure/@alt-->
<section anchor="element.figure.attribute.alt" toc="exclude" title="'alt' attribute">
<iref item="Attributes" subitem="alt"/>
<iref item="figure element" subitem="alt attribute"/>
<iref item="alt attribute" subitem="in figure element"/>
<t>
Duplicates functionality available on <artwork>; avoid it.
</t>
</section>
<!--figure/@anchor-->
<section anchor="element.figure.attribute.anchor" toc="exclude" title="'anchor' attribute">
<iref item="Attributes" subitem="anchor"/>
<iref item="figure element" subitem="anchor attribute"/>
<iref item="anchor attribute" subitem="in figure element"/>
<t>
Document-wide unique identifier for this figure.
</t>
<t>
Furthermore, the presence of this attribute causes the figure to be numbered.
</t>
<t>
The value needs to be a valid XML "Name" (Section 2.3 of <xref target="XML"/>).
</t>
</section>
<!--figure/@height-->
<section anchor="element.figure.attribute.height" toc="exclude" title="'height' attribute">
<iref item="Attributes" subitem="height"/>
<iref item="figure element" subitem="height attribute"/>
<iref item="height attribute" subitem="in figure element"/>
<t>
Duplicates functionality available on <artwork>; avoid it.
</t>
</section>
<!--figure/@src-->
<section anchor="element.figure.attribute.src" toc="exclude" title="'src' attribute">
<iref item="Attributes" subitem="src"/>
<iref item="figure element" subitem="src attribute"/>
<iref item="src attribute" subitem="in figure element"/>
<t>
Duplicates functionality available on <artwork>; avoid it.
</t>
</section>
<!--figure/@suppress-title-->
<section anchor="element.figure.attribute.suppress-title" toc="exclude" title="'suppress-title' attribute">
<iref item="Attributes" subitem="suppress-title"/>
<iref item="figure element" subitem="suppress-title attribute"/>
<iref item="suppress-title attribute" subitem="in figure element"/>
<t>
Figures that have an "anchor" attribute will automatically get
an autogenerated title (such as "Figure 1"), even if the "title"
attribute is absent. Setting this attribute to "true" will prevent this.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"true"</t>
<t>"false" (default)</t>
</list></t>
</section>
<!--figure/@title-->
<section anchor="element.figure.attribute.title" toc="exclude" title="'title' attribute">
<iref item="Attributes" subitem="title"/>
<iref item="figure element" subitem="title attribute"/>
<iref item="title attribute" subitem="in figure element"/>
<t>
The title for the figure; this usually appears on a line after the figure.
</t>
</section>
<!--figure/@width-->
<section anchor="element.figure.attribute.width" toc="exclude" title="'width' attribute">
<iref item="Attributes" subitem="width"/>
<iref item="figure element" subitem="width attribute"/>
<iref item="width attribute" subitem="in figure element"/>
<t>
Duplicates functionality available on <artwork>; avoid it.
</t>
</section>
</section>
<!--format-->
<section anchor="element.format" title="<format>">
<iref item="Elements" subitem="format" primary="true"/>
<iref item="format element" primary="true"/>
<t>
Provides a link to an additional format variant for a reference.
</t>
<t>
Note that these additional links are neither used in published RFCs, nor
supported by all tools. If the goal is to provide a single URI for
a reference, the "target" attribute on <<xref target="element.reference" format="none">reference</xref>>
can be used instead.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.reference" format="none">reference</xref>> (<xref target="element.reference"/>).</t>
<t anchor="element.format.contents"><!--AG-->
Content model: this element does not have any contents.</t>
<!--format/@octets-->
<section anchor="element.format.attribute.octets" toc="exclude" title="'octets' attribute">
<iref item="Attributes" subitem="octets"/>
<iref item="format element" subitem="octets attribute"/>
<iref item="octets attribute" subitem="in format element"/>
<t>
Octet length of linked-to document.
</t>
</section>
<!--format/@target-->
<section anchor="element.format.attribute.target" toc="exclude" title="'target' attribute">
<iref item="Attributes" subitem="target"/>
<iref item="format element" subitem="target attribute"/>
<iref item="target attribute" subitem="in format element"/>
<t>
URI of document.
</t>
</section>
<!--format/@type-->
<section anchor="element.format.attribute.type" toc="exclude" title="'type' attribute (mandatory)">
<iref item="Attributes" subitem="type"/>
<iref item="format element" subitem="type attribute"/>
<iref item="type attribute" subitem="in format element"/>
<t>
The type of the linked-to document, such as "TXT", "HTML", or "PDF".
</t>
</section>
</section>
<!--front-->
<section anchor="element.front" title="<front>">
<iref item="Elements" subitem="front" primary="true"/>
<iref item="front element" primary="true"/>
<t>
Represent the "front matter": metadata (such as author information),
abstract, and additional notes.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.reference" format="none">reference</xref>> (<xref target="element.reference"/>), and <<xref target="element.rfc" format="none">rfc</xref>> (<xref target="element.rfc"/>).</t>
<t anchor="element.front.contents"><!--AG-->
Content model:</t>
<t><!--AG-->In this order:</t>
<t><list style="numbers"><!--AG-->
<t><!--AG-->
<iref item="Elements" subitem="title"/>
<iref item="title element" subitem="inside front"/>One <<xref target="element.title" format="none">title</xref>> element (<xref target="element.title"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="author"/>
<iref item="author element" subitem="inside front"/>One or more <<xref target="element.author" format="none">author</xref>> elements (<xref target="element.author"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="date"/>
<iref item="date element" subitem="inside front"/>One <<xref target="element.date" format="none">date</xref>> element (<xref target="element.date"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="area"/>
<iref item="area element" subitem="inside front"/>Optional <<xref target="element.area" format="none">area</xref>> elements (<xref target="element.area"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="workgroup"/>
<iref item="workgroup element" subitem="inside front"/>Optional <<xref target="element.workgroup" format="none">workgroup</xref>> elements (<xref target="element.workgroup"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="keyword"/>
<iref item="keyword element" subitem="inside front"/>Optional <<xref target="element.keyword" format="none">keyword</xref>> elements (<xref target="element.keyword"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="abstract"/>
<iref item="abstract element" subitem="inside front"/>One optional <<xref target="element.abstract" format="none">abstract</xref>> element (<xref target="element.abstract"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="note"/>
<iref item="note element" subitem="inside front"/>Optional <<xref target="element.note" format="none">note</xref>> elements (<xref target="element.note"/>)</t>
</list></t>
</section>
<!--iref-->
<section anchor="element.iref" title="<iref>">
<iref item="Elements" subitem="iref" primary="true"/>
<iref item="iref element" primary="true"/>
<t>
Provides terms for the document's index.
</t>
<t>
Index entries can be either be regular entries (when just the "item"
attribute is given) or nested entries (by specifying "subitem" as well),
grouped under a regular entry.
</t>
<t>
In this document, for instance, every element definition appears
as a regular index entry ("iref element <xref format="counter" target="element.iref"/>"). In addition, for each use of that element inside
another parent element, a nested entry was added ("iref element <xref format="counter" target="element.iref"/>,
... inside annotation <xref format="counter" target="element.annotation"/>").
</t>
<t>
Index entries generally refer to the exact place where the <iref> element
occurred. An exception is the occurrence as a child element of
<<xref target="element.section" format="none">section</xref>>, in which case the whole section is
considered to be relevant for that index entry. In some formats, index
entries of this type might be displayed as range.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.annotation" format="none">annotation</xref>> (<xref target="element.annotation"/>), <<xref target="element.c" format="none">c</xref>> (<xref target="element.c"/>), <<xref target="element.figure" format="none">figure</xref>> (<xref target="element.figure"/>), <<xref target="element.postamble" format="none">postamble</xref>> (<xref target="element.postamble"/>), <<xref target="element.preamble" format="none">preamble</xref>> (<xref target="element.preamble"/>), <<xref target="element.section" format="none">section</xref>> (<xref target="element.section"/>), and <<xref target="element.t" format="none">t</xref>> (<xref target="element.t"/>).</t>
<t anchor="element.iref.contents"><!--AG-->
Content model: this element does not have any contents.</t>
<!--iref/@item-->
<section anchor="element.iref.attribute.item" toc="exclude" title="'item' attribute (mandatory)">
<iref item="Attributes" subitem="item"/>
<iref item="iref element" subitem="item attribute"/>
<iref item="item attribute" subitem="in iref element"/>
<t>
The item to include.
</t>
</section>
<!--iref/@primary-->
<section anchor="element.iref.attribute.primary" toc="exclude" title="'primary' attribute">
<iref item="Attributes" subitem="primary"/>
<iref item="iref element" subitem="primary attribute"/>
<iref item="primary attribute" subitem="in iref element"/>
<t>
Setting this to "true" declares the occurrence as "primary",
which might cause it to be highlighted in the index.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"true"</t>
<t>"false" (default)</t>
</list></t>
</section>
<!--iref/@subitem-->
<section anchor="element.iref.attribute.subitem" toc="exclude" title="'subitem' attribute">
<iref item="Attributes" subitem="subitem"/>
<iref item="iref element" subitem="subitem attribute"/>
<iref item="subitem attribute" subitem="in iref element"/>
<t>
The subitem to include.
</t>
</section>
</section>
<!--keyword-->
<section anchor="element.keyword" title="<keyword>">
<iref item="Elements" subitem="keyword" primary="true"/>
<iref item="keyword element" primary="true"/>
<t>
Specifies a keyword applicable to the document.
</t>
<t>
Note that each element should only contain a single keyword; for multiple keywords, the
element can simply be repeated.
</t>
<t>
Keywords are used both in the RFC Index and in the metadata of generated
documents.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.front" format="none">front</xref>> (<xref target="element.front"/>).</t>
<t anchor="element.keyword.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--list-->
<section anchor="element.list" title="<list>">
<iref item="Elements" subitem="list" primary="true"/>
<iref item="list element" primary="true"/>
<t>
Delineates a text list.
</t>
<t>
Each list item is represented by a <<xref target="element.t" format="none">t</xref>> element.
The vocabulary currently does not directly support list items consisting
of multiple paragraphs; if this is needed, <<xref target="element.vspace" format="none">vspace</xref>>
(<xref target="element.vspace"/>) can be used as a workaround.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.t" format="none">t</xref>> (<xref target="element.t"/>).</t>
<t anchor="element.list.contents"><!--AG-->
Content model:
</t>
<t><!--AG-->
<iref item="Elements" subitem="t"/>
<iref item="t element" subitem="inside list"/>One or more <<xref target="element.t" format="none">t</xref>> elements (<xref target="element.t"/>)</t>
<!--list/@counter-->
<section anchor="element.list.attribute.counter" toc="exclude" title="'counter' attribute">
<iref item="Attributes" subitem="counter"/>
<iref item="list element" subitem="counter attribute"/>
<iref item="counter attribute" subitem="in list element"/>
<t>
This attribute holds a token that serves as an identifier for a counter.
The intended use is continuation of lists, where the counter will
be incremented for every list item, and there is no way to reset the
counter.
</t>
<t>
Note that this attribute functions only when the style attribute is
using the "format..." syntax (<xref target="element.list.attribute.style"/>);
otherwise, it is ignored.
</t>
</section>
<!--list/@hangIndent-->
<section anchor="element.list.attribute.hangIndent" toc="exclude" title="'hangIndent' attribute">
<iref item="Attributes" subitem="hangIndent"/>
<iref item="list element" subitem="hangIndent attribute"/>
<iref item="hangIndent attribute" subitem="in list element"/>
<t>
For list styles with potentially wide labels, this attribute can
override the default indentation level, measured in number of characters.
</t>
<t>
Note that it only affects style with variable-width labels
("format..." and "hanging", see below), and it may not affect formats
in which the list item text appears <spanx style="emph">below</spanx> the
label.
</t>
</section>
<!--list/@style-->
<section anchor="element.list.attribute.style" toc="exclude" title="'style' attribute">
<iref item="Attributes" subitem="style"/>
<iref item="list element" subitem="style attribute"/>
<iref item="style attribute" subitem="in list element"/>
<t>
This attribute is used to control the display of a list.
</t>
<t>
The value of this attribute is inherited by any nested lists that do
not have this attribute set. It may be set to:
</t>
<t><?rfc subcompact='no'?><list style="hanging"><t hangText=""empty""><vspace blankLines="1"/><iref item="list styles" subitem="empty" primary="true"/>
For unlabeled list items; it can also be used for indentation
purposes (this is the default value when there is an enclosing
list where the style is specified).
</t><t hangText=""hanging""><vspace blankLines="1"/><iref item="list styles" subitem="hanging" primary="true"/>
For lists where the items are labeled with a piece of text.
<vspace blankLines="1"/>
The label text is specified in the 'hangText' attribute of the <<xref target="element.t" format="none">t</xref>>
element (<xref target="element.t.attribute.hangText"/>).
</t><t hangText=""letters""><vspace blankLines="1"/><iref item="list styles" subitem="letters" primary="true"/>
For ordered lists using letters as labels (lowercase letters
followed by a period; after "z", it rolls over to a two-letter
format). For nested lists, processors usually flip between uppercase and lowercase.
</t><t hangText=""numbers""><vspace blankLines="1"/><iref item="list styles" subitem="numbers" primary="true"/>
For ordered lists using numbers as labels.
</t><t hangText=""symbols""><vspace blankLines="1"/><iref item="list styles" subitem="symbols" primary="true"/>
For unordered (bulleted) lists.
<vspace blankLines="1"/>
The style of the bullets is chosen automatically be the processor
(some implementations allow overriding the default using a
processing instruction).
</t></list></t>
<t>
And, finally:
</t>
<t><?rfc subcompact='no'?><list style="hanging"><t hangText=""format ...""><vspace blankLines="1"/><iref item="list styles" subitem="format ..." primary="true"/>
For lists with customized labels, consisting of fixed text and
an item counter in various formats.
<vspace blankLines="1"/>
The value is a free-form text that allows counter values to be
inserted using a "percent-letter" format. For instance, "[REQ%d]"
generates labels of the form "[REQ1]", where "%d" inserts the
item number as decimal number.
<vspace blankLines="1"/>
The following formats are supported:
<vspace blankLines="1"/><?rfc subcompact='no'?><list style="hanging"><t hangText="%c">lowercase letters (a, b, c, etc.)</t><t hangText="%C">uppercase letters (A, B, C, etc.)</t><t hangText="%d">decimal numbers (1, 2, 3, etc.)</t><t hangText="%i">lowercase Roman numerals (i, ii, iii, etc.)</t><t hangText="%I">uppercase Roman numerals (I, II, III, etc.)</t><t hangText="%%">represents a percent sign</t></list><vspace blankLines="1"/>
Other formats are reserved for future use.
</t></list></t>
</section>
</section>
<!--middle-->
<section anchor="element.middle" title="<middle>">
<iref item="Elements" subitem="middle" primary="true"/>
<iref item="middle element" primary="true"/>
<t>
Represents the main content of the document.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.rfc" format="none">rfc</xref>> (<xref target="element.rfc"/>).</t>
<t anchor="element.middle.contents"><!--AG-->
Content model:
</t>
<t><!--AG-->
<iref item="Elements" subitem="section"/>
<iref item="section element" subitem="inside middle"/>One or more <<xref target="element.section" format="none">section</xref>> elements (<xref target="element.section"/>)</t>
</section>
<!--note-->
<section anchor="element.note" title="<note>">
<iref item="Elements" subitem="note" primary="true"/>
<iref item="note element" primary="true"/>
<t>
Creates an unnumbered section that appears after the abstract.
</t>
<t>
It is usually used for additional information to reviewers (working
group information, mailing list, ...), or for additional publication
information such as "IESG Notes".
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.front" format="none">front</xref>> (<xref target="element.front"/>).</t>
<t anchor="element.note.contents"><!--AG-->
Content model:
</t>
<t><!--AG-->
<iref item="Elements" subitem="t"/>
<iref item="t element" subitem="inside note"/>One or more <<xref target="element.t" format="none">t</xref>> elements (<xref target="element.t"/>)</t>
<!--note/@title-->
<section anchor="element.note.attribute.title" toc="exclude" title="'title' attribute (mandatory)">
<iref item="Attributes" subitem="title"/>
<iref item="note element" subitem="title attribute"/>
<iref item="title attribute" subitem="in note element"/>
<t>
The title of the note.
</t>
</section>
</section>
<!--organization-->
<section anchor="element.organization" title="<organization>">
<iref item="Elements" subitem="organization" primary="true"/>
<iref item="organization element" primary="true"/>
<t>
Specifies the affiliation of an author.
</t>
<t>
This information appears in both the "Author's Address" section and
on the front page (see <xref target="RFC7322"/>, Section 4.1.1 for more information).
If the value is long, an abbreviated variant can be specified in the
"abbrev" attribute.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.author" format="none">author</xref>> (<xref target="element.author"/>).</t>
<t anchor="element.organization.contents"><!--AG-->
Content model: only text content.</t>
<!--organization/@abbrev-->
<section anchor="element.organization.attribute.abbrev" toc="exclude" title="'abbrev' attribute">
<iref item="Attributes" subitem="abbrev"/>
<iref item="organization element" subitem="abbrev attribute"/>
<iref item="abbrev attribute" subitem="in organization element"/>
<t>
Abbreviated variant.
</t>
</section>
</section>
<!--phone-->
<section anchor="element.phone" title="<phone>">
<iref item="Elements" subitem="phone" primary="true"/>
<iref item="phone element" primary="true"/>
<t>
Represents a phone number.
</t>
<t>
The value is expected to be the scheme-specific part of a "tel" URI
(so does not include the prefix "tel:"), using the "global numbers"
syntax. See Section 3 of <xref target="RFC3966"/>
for details.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.address" format="none">address</xref>> (<xref target="element.address"/>).</t>
<t anchor="element.phone.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--postal-->
<section anchor="element.postal" title="<postal>">
<iref item="Elements" subitem="postal" primary="true"/>
<iref item="postal element" primary="true"/>
<t>
Contains child elements providing postal information.
</t>
<t>
Note that at least one <<xref target="element.street" format="none">street</xref>> element needs
to be present; however formatters will handle empty values just fine.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.address" format="none">address</xref>> (<xref target="element.address"/>).</t>
<t anchor="element.postal.contents"><!--AG-->
Content model:</t>
<t><!--AG-->In this order:</t>
<t><list style="numbers"><!--AG-->
<t><!--AG-->
<iref item="Elements" subitem="street"/>
<iref item="street element" subitem="inside postal"/>One or more <<xref target="element.street" format="none">street</xref>> elements (<xref target="element.street"/>)</t>
<t><!--AG-->
In any order:<vspace blankLines="1"/>
<list style="symbols"><!--AG-->
<t><!--AG-->
<iref item="Elements" subitem="city"/>
<iref item="city element" subitem="inside postal"/><<xref target="element.city" format="none">city</xref>> elements (<xref target="element.city"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="region"/>
<iref item="region element" subitem="inside postal"/><<xref target="element.region" format="none">region</xref>> elements (<xref target="element.region"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="code"/>
<iref item="code element" subitem="inside postal"/><<xref target="element.code" format="none">code</xref>> elements (<xref target="element.code"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="country"/>
<iref item="country element" subitem="inside postal"/><<xref target="element.country" format="none">country</xref>> elements (<xref target="element.country"/>)</t>
</list><vspace blankLines="1"/>
</t>
</list></t>
</section>
<!--postamble-->
<section anchor="element.postamble" title="<postamble>">
<iref item="Elements" subitem="postamble" primary="true"/>
<iref item="postamble element" primary="true"/>
<t>
Gives text that appears at the bottom of a figure or table.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.figure" format="none">figure</xref>> (<xref target="element.figure"/>), and <<xref target="element.texttable" format="none">texttable</xref>> (<xref target="element.texttable"/>).</t>
<t anchor="element.postamble.contents"><!--AG-->
Content model:
</t>
<t><!--AG-->In any order:</t>
<t><list style="symbols"><!--AG-->
<t><!--AG-->Text</t>
<t><!--AG-->
<iref item="Elements" subitem="xref"/>
<iref item="xref element" subitem="inside postamble"/><<xref target="element.xref" format="none">xref</xref>> elements (<xref target="element.xref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="eref"/>
<iref item="eref element" subitem="inside postamble"/><<xref target="element.eref" format="none">eref</xref>> elements (<xref target="element.eref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="iref"/>
<iref item="iref element" subitem="inside postamble"/><<xref target="element.iref" format="none">iref</xref>> elements (<xref target="element.iref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="cref"/>
<iref item="cref element" subitem="inside postamble"/><<xref target="element.cref" format="none">cref</xref>> elements (<xref target="element.cref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="spanx"/>
<iref item="spanx element" subitem="inside postamble"/><<xref target="element.spanx" format="none">spanx</xref>> elements (<xref target="element.spanx"/>)</t>
</list></t>
</section>
<!--preamble-->
<section anchor="element.preamble" title="<preamble>">
<iref item="Elements" subitem="preamble" primary="true"/>
<iref item="preamble element" primary="true"/>
<t>
Gives text that appears at the top of a figure or table.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.figure" format="none">figure</xref>> (<xref target="element.figure"/>), and <<xref target="element.texttable" format="none">texttable</xref>> (<xref target="element.texttable"/>).</t>
<t anchor="element.preamble.contents"><!--AG-->
Content model:
</t>
<t><!--AG-->In any order:</t>
<t><list style="symbols"><!--AG-->
<t><!--AG-->Text</t>
<t><!--AG-->
<iref item="Elements" subitem="xref"/>
<iref item="xref element" subitem="inside preamble"/><<xref target="element.xref" format="none">xref</xref>> elements (<xref target="element.xref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="eref"/>
<iref item="eref element" subitem="inside preamble"/><<xref target="element.eref" format="none">eref</xref>> elements (<xref target="element.eref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="iref"/>
<iref item="iref element" subitem="inside preamble"/><<xref target="element.iref" format="none">iref</xref>> elements (<xref target="element.iref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="cref"/>
<iref item="cref element" subitem="inside preamble"/><<xref target="element.cref" format="none">cref</xref>> elements (<xref target="element.cref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="spanx"/>
<iref item="spanx element" subitem="inside preamble"/><<xref target="element.spanx" format="none">spanx</xref>> elements (<xref target="element.spanx"/>)</t>
</list></t>
</section>
<!--reference-->
<section anchor="element.reference" title="<reference>">
<iref item="Elements" subitem="reference" primary="true"/>
<iref item="reference element" primary="true"/>
<t>
Represents a bibliographical reference.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.references" format="none">references</xref>> (<xref target="element.references"/>).</t>
<t anchor="element.reference.contents"><!--AG-->
Content model:</t>
<t><!--AG-->In this order:</t>
<t><list style="numbers"><!--AG-->
<t><!--AG-->
<iref item="Elements" subitem="front"/>
<iref item="front element" subitem="inside reference"/>One <<xref target="element.front" format="none">front</xref>> element (<xref target="element.front"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="seriesInfo"/>
<iref item="seriesInfo element" subitem="inside reference"/>Optional <<xref target="element.seriesInfo" format="none">seriesInfo</xref>> elements (<xref target="element.seriesInfo"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="format"/>
<iref item="format element" subitem="inside reference"/>Optional <<xref target="element.format" format="none">format</xref>> elements (<xref target="element.format"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="annotation"/>
<iref item="annotation element" subitem="inside reference"/>Optional <<xref target="element.annotation" format="none">annotation</xref>> elements (<xref target="element.annotation"/>)</t>
</list></t>
<!--reference/@anchor-->
<section anchor="element.reference.attribute.anchor" toc="exclude" title="'anchor' attribute (mandatory)">
<iref item="Attributes" subitem="anchor"/>
<iref item="reference element" subitem="anchor attribute"/>
<iref item="anchor attribute" subitem="in reference element"/>
<t>
Document-wide unique identifier for this reference. Usually, this will
be used both to "label" the reference in the references section, and
as an identifier in links to this reference entry.
</t>
<t>
The value needs to be a valid XML "Name" (Section 2.3 of <xref target="XML"/>),
additionally constrained to US-ASCII characters (<xref target="USASCII"/>). Thus, the character repertoire consists of
"A-Z", "a-z", "0-9", "_", "-", ".", and ":", where "0-9", ".", and "-" are disallowed as start character.
</t>
</section>
<!--reference/@target-->
<section anchor="element.reference.attribute.target" toc="exclude" title="'target' attribute">
<iref item="Attributes" subitem="target"/>
<iref item="reference element" subitem="target attribute"/>
<iref item="target attribute" subitem="in reference element"/>
<t>
Holds the URI for the reference.
</t>
<t>
Note that depending on the <<xref target="element.seriesInfo" format="none">seriesInfo</xref>>
element, a URI might not be needed, nor desirable, as it can
be automatically generated (for instance, for RFCs).
</t>
</section>
</section>
<!--references-->
<section anchor="element.references" title="<references>">
<iref item="Elements" subitem="references" primary="true"/>
<iref item="references element" primary="true"/>
<t>
Contains a set of bibliographical references.
</t>
<t>
In the early days of the RFC series, there was only one "References" section per RFC. This convention
was later changed to group references into two sets, "Normative" and "Informative"
as described in Section 4.8.6 of <xref target="RFC7322"/>).
This vocabulary supports the split with the "title" attribute.
</t>
<t>
By default, the order of references is significant. Processors however
can be instructed to sort them based on their anchor names.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.back" format="none">back</xref>> (<xref target="element.back"/>).</t>
<t anchor="element.references.contents"><!--AG-->
Content model:
</t>
<t><!--AG-->
<iref item="Elements" subitem="reference"/>
<iref item="reference element" subitem="inside references"/>One or more <<xref target="element.reference" format="none">reference</xref>> elements (<xref target="element.reference"/>)</t>
<!--references/@title-->
<section anchor="element.references.attribute.title" toc="exclude" title="'title' attribute">
<iref item="Attributes" subitem="title"/>
<iref item="references element" subitem="title attribute"/>
<iref item="title attribute" subitem="in references element"/>
<t>
Provides the title for the References section (defaulting to
"References").
</t>
<t>
In general, the title should be either "Normative References" or
"Informative References".
</t>
</section>
</section>
<!--region-->
<section anchor="element.region" title="<region>">
<iref item="Elements" subitem="region" primary="true"/>
<iref item="region element" primary="true"/>
<t>
Provides the region name in a postal address.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.postal" format="none">postal</xref>> (<xref target="element.postal"/>).</t>
<t anchor="element.region.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--rfc-->
<section anchor="element.rfc" title="<rfc>">
<iref item="Elements" subitem="rfc" primary="true"/>
<iref item="rfc element" primary="true"/>
<t>
This is the root element of the xml2rfc vocabulary.
</t>
<t>
Processors distinguish between RFC mode ("number" attribute being
present) and Internet-Draft mode ("docName" attribute being present):
it is invalid to specify both. Setting neither "number" nor "docName" can be useful for
producing other types of document but is out-of-scope for this specification.
</t>
<t anchor="element.rfc.contents"><!--AG-->
Content model:</t>
<t><!--AG-->In this order:</t>
<t><list style="numbers"><!--AG-->
<t><!--AG-->
<iref item="Elements" subitem="front"/>
<iref item="front element" subitem="inside rfc"/>One <<xref target="element.front" format="none">front</xref>> element (<xref target="element.front"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="middle"/>
<iref item="middle element" subitem="inside rfc"/>One <<xref target="element.middle" format="none">middle</xref>> element (<xref target="element.middle"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="back"/>
<iref item="back element" subitem="inside rfc"/>One optional <<xref target="element.back" format="none">back</xref>> element (<xref target="element.back"/>)</t>
</list></t>
<!--rfc/@category-->
<section anchor="element.rfc.attribute.category" toc="exclude" title="'category' attribute">
<iref item="Attributes" subitem="category"/>
<iref item="rfc element" subitem="category attribute"/>
<iref item="category attribute" subitem="in rfc element"/>
<t>
Document category (see <xref target="attribute-category"/>).
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"std"</t>
<t>"bcp"</t>
<t>"info"</t>
<t>"exp"</t>
<t>"historic"</t>
</list></t>
</section>
<!--rfc/@consensus-->
<section anchor="element.rfc.attribute.consensus" toc="exclude" title="'consensus' attribute">
<iref item="Attributes" subitem="consensus"/>
<iref item="rfc element" subitem="consensus attribute"/>
<iref item="consensus attribute" subitem="in rfc element"/>
<t>
Affects the generated boilerplate.
</t>
<t>
See <xref target="RFC5741"/> for more information.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"no"</t>
<t>"yes"</t>
</list></t>
</section>
<!--rfc/@docName-->
<section anchor="element.rfc.attribute.docName" toc="exclude" title="'docName' attribute">
<iref item="Attributes" subitem="docName"/>
<iref item="rfc element" subitem="docName attribute"/>
<iref item="docName attribute" subitem="in rfc element"/>
<t>
For Internet-Drafts, this specifies the draft name (which appears
below the title).
</t>
<t>
A processor should give an error if both the "docName" and "number"
attributes are given in the <rfc> element.
</t>
<t>
Note that the file extension is not part of the draft, so in
general it should end with the current draft number ("-", plus two
digits).
</t>
<t>
Furthermore, it is good practice to disambiguate current editor
copies from submitted drafts (for instance, by replacing the
draft number with the string "latest").
</t>
<t>
See Section 7 of <xref target="IDGUIDE"/>
for further information.
</t>
</section>
<!--rfc/@ipr-->
<section anchor="element.rfc.attribute.ipr" toc="exclude" title="'ipr' attribute">
<iref item="Attributes" subitem="ipr"/>
<iref item="rfc element" subitem="ipr attribute"/>
<iref item="ipr attribute" subitem="in rfc element"/>
<t>
Represents the Intellectual Property status of the document.
See <xref target="attribute-ipr"/> for details.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"full2026"</t>
<t>"noDerivativeWorks2026"</t>
<t>"none"</t>
<t>"full3667"</t>
<t>"noModification3667"</t>
<t>"noDerivatives3667"</t>
<t>"full3978"</t>
<t>"noModification3978"</t>
<t>"noDerivatives3978"</t>
<t>"trust200811"</t>
<t>"noModificationTrust200811"</t>
<t>"noDerivativesTrust200811"</t>
<t>"trust200902"</t>
<t>"noModificationTrust200902"</t>
<t>"noDerivativesTrust200902"</t>
<t>"pre5378Trust200902"</t>
</list></t>
</section>
<!--rfc/@iprExtract-->
<section anchor="element.rfc.attribute.iprExtract" toc="exclude" title="'iprExtract' attribute">
<iref item="Attributes" subitem="iprExtract"/>
<iref item="rfc element" subitem="iprExtract attribute"/>
<iref item="iprExtract attribute" subitem="in rfc element"/>
<t>
Identifies a single section within the document (by its 'anchor'
attribute) for which extraction "as-is" is explicitly allowed (this
is only relevant for historic values of the "ipr" attribute).
</t>
</section>
<!--rfc/@number-->
<section anchor="element.rfc.attribute.number" toc="exclude" title="'number' attribute">
<iref item="Attributes" subitem="number"/>
<iref item="rfc element" subitem="number attribute"/>
<iref item="number attribute" subitem="in rfc element"/>
<t>
The number of the RFC to be produced.
</t>
<t>
A processor should give an error if both the "docName" and "number"
attributes are given in the <rfc> element.
</t>
</section>
<!--rfc/@obsoletes-->
<section anchor="element.rfc.attribute.obsoletes" toc="exclude" title="'obsoletes' attribute">
<iref item="Attributes" subitem="obsoletes"/>
<iref item="rfc element" subitem="obsoletes attribute"/>
<iref item="obsoletes attribute" subitem="in rfc element"/>
<t>
A comma-separated list of RFC <spanx style="emph">numbers</spanx> or
Internet-Draft names.
</t>
<t>
Processors ought to parse the attribute value, so that incorrect
references can be detected and, depending on output format,
hyperlinks can be generated. Also, the value ought to be reformatted
to insert whitespace after each comma if not already present.
</t>
</section>
<!--rfc/@seriesNo-->
<section anchor="element.rfc.attribute.seriesNo" toc="exclude" title="'seriesNo' attribute">
<iref item="Attributes" subitem="seriesNo"/>
<iref item="rfc element" subitem="seriesNo attribute"/>
<iref item="seriesNo attribute" subitem="in rfc element"/>
<t>
Number within a document series.
</t>
<t>
The document series is defined by the "category" attribute; "seriesNo"
is only applicable to the values "info" ("FYI" series),
"std" ("STD" series), and "bcp" ("BCP" series).
</t>
</section>
<!--rfc/@submissionType-->
<section anchor="element.rfc.attribute.submissionType" toc="exclude" title="'submissionType' attribute">
<iref item="Attributes" subitem="submissionType"/>
<iref item="rfc element" subitem="submissionType attribute"/>
<iref item="submissionType attribute" subitem="in rfc element"/>
<t>
The document stream.
</t>
<t>
See Section 2 of <xref target="RFC5741"/> for details.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"IETF" (default)</t>
<t>"IAB"</t>
<t>"IRTF"</t>
<t>"independent"</t>
</list></t>
</section>
<!--rfc/@updates-->
<section anchor="element.rfc.attribute.updates" toc="exclude" title="'updates' attribute">
<iref item="Attributes" subitem="updates"/>
<iref item="rfc element" subitem="updates attribute"/>
<iref item="updates attribute" subitem="in rfc element"/>
<t>
A comma-separated list of RFC <spanx style="emph">numbers</spanx> or
Internet-Draft names.
</t>
<t>
Processors ought to parse the attribute value, so that incorrect
references can be detected and, depending on output format,
hyperlinks can be generated. Also, the value ought to be reformatted
to insert whitespace after each comma if not already present.
</t>
</section>
<!--rfc/@xml:lang-->
<section anchor="element.rfc.attribute.xml-lang" toc="exclude" title="'xml:lang' attribute">
<iref item="Attributes" subitem="xml:lang"/>
<iref item="rfc element" subitem="xml:lang attribute"/>
<iref item="xml:lang attribute" subitem="in rfc element"/>
<t>
The natural language used in the document (defaults to "en").
</t>
<t>
See Section 2.12 of <xref target="XML"/>
for more information.
</t>
</section>
</section>
<!--section-->
<section anchor="element.section" title="<section>">
<iref item="Elements" subitem="section" primary="true"/>
<iref item="section element" primary="true"/>
<t>
Represents a section (when inside a <middle> element) or an appendix (when inside a
<back> element).
</t>
<t>
Sub-sections are created by nesting <section> elements inside <section> elements.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.back" format="none">back</xref>> (<xref target="element.back"/>), <<xref target="element.middle" format="none">middle</xref>> (<xref target="element.middle"/>), and <<xref target="element.section" format="none">section</xref>> (<xref target="element.section"/>).</t>
<t anchor="element.section.contents"><!--AG-->
Content model:</t>
<t><!--AG-->In this order:</t>
<t><list style="numbers"><!--AG-->
<t><!--AG-->
In any order:<vspace blankLines="1"/>
<list style="symbols"><!--AG-->
<t><!--AG-->
<iref item="Elements" subitem="t"/>
<iref item="t element" subitem="inside section"/><<xref target="element.t" format="none">t</xref>> elements (<xref target="element.t"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="figure"/>
<iref item="figure element" subitem="inside section"/><<xref target="element.figure" format="none">figure</xref>> elements (<xref target="element.figure"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="texttable"/>
<iref item="texttable element" subitem="inside section"/><<xref target="element.texttable" format="none">texttable</xref>> elements (<xref target="element.texttable"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="iref"/>
<iref item="iref element" subitem="inside section"/><<xref target="element.iref" format="none">iref</xref>> elements (<xref target="element.iref"/>)</t>
</list><vspace blankLines="1"/>
</t>
<t><!--AG-->
<iref item="Elements" subitem="section"/>
<iref item="section element" subitem="inside section"/>Optional <<xref target="element.section" format="none">section</xref>> elements (<xref target="element.section"/>)</t>
</list></t>
<!--section/@anchor-->
<section anchor="element.section.attribute.anchor" toc="exclude" title="'anchor' attribute">
<iref item="Attributes" subitem="anchor"/>
<iref item="section element" subitem="anchor attribute"/>
<iref item="anchor attribute" subitem="in section element"/>
<t>
Document-wide unique identifier for this section.
</t>
<t>
The value needs to be a valid XML "Name" (Section 2.3 of <xref target="XML"/>).
</t>
</section>
<!--section/@title-->
<section anchor="element.section.attribute.title" toc="exclude" title="'title' attribute (mandatory)">
<iref item="Attributes" subitem="title"/>
<iref item="section element" subitem="title attribute"/>
<iref item="title attribute" subitem="in section element"/>
<t>
The title of the section.
</t>
</section>
<!--section/@toc-->
<section anchor="element.section.attribute.toc" toc="exclude" title="'toc' attribute">
<iref item="Attributes" subitem="toc"/>
<iref item="section element" subitem="toc attribute"/>
<iref item="toc attribute" subitem="in section element"/>
<t>
Determines whether the section is included in the Table of Contents.
</t>
<t>
The processor usually has defaults for whether a Table of Contents
will be produced at all, and sections of which maximal depth will
be included (frequently: 3). "include" and "exclude" allow overriding
the processor's default behavior for the element they are specified
on (they do not affect either nested or parent elements).
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"include"</t>
<t>"exclude"</t>
<t>"default" (default)</t>
</list></t>
</section>
</section>
<!--seriesInfo-->
<section anchor="element.seriesInfo" title="<seriesInfo>">
<iref item="Elements" subitem="seriesInfo" primary="true"/>
<iref item="seriesInfo element" primary="true"/>
<t>
Specifies the document series in which this document appears, and also
specifies an identifier within that series.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.reference" format="none">reference</xref>> (<xref target="element.reference"/>).</t>
<t anchor="element.seriesInfo.contents"><!--AG-->
Content model: this element does not have any contents.</t>
<!--seriesInfo/@name-->
<section anchor="element.seriesInfo.attribute.name" toc="exclude" title="'name' attribute (mandatory)">
<iref item="Attributes" subitem="name"/>
<iref item="seriesInfo element" subitem="name attribute"/>
<iref item="name attribute" subitem="in seriesInfo element"/>
<t>
The name of the series.
</t>
<t>
Some series names might trigger specific processing (such as for
auto-generating links, inserting descriptions such as
"work in progress", or additional functionality like reference diagnostics).
Examples for IETF-related series names are:
"BCP", "FYI", "Internet-Draft", "RFC", and "STD".
</t>
</section>
<!--seriesInfo/@value-->
<section anchor="element.seriesInfo.attribute.value" toc="exclude" title="'value' attribute (mandatory)">
<iref item="Attributes" subitem="value"/>
<iref item="seriesInfo element" subitem="value attribute"/>
<iref item="value attribute" subitem="in seriesInfo element"/>
<t>
The identifier within the series specified by the "name" attribute.
</t>
<t>
For BCPs, FYIs, RFCs, and STDs this is the number within the series.
</t>
<t>
For Internet-Drafts, it is the full draft name (ending with the two-digit
version number).
</t>
</section>
</section>
<!--spanx-->
<section anchor="element.spanx" title="<spanx>">
<iref item="Elements" subitem="spanx" primary="true"/>
<iref item="spanx element" primary="true"/>
<t>
Wraps a piece of text, indicating special formatting styles.
</t>
<t>
When generating plain text, processors usually emulate font changes
using characters such as "*" and "_".
</t>
<t>
The following styles are defined:
</t>
<t><?rfc subcompact='no'?><list style="hanging"><t hangText="emph">
Simple emphasis (this is the default).
</t><t hangText="strong">
Strong emphasis.
</t><t hangText="verb">
"Verbatim" text (usually displayed using a monospaced font face).
</t></list></t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.annotation" format="none">annotation</xref>> (<xref target="element.annotation"/>), <<xref target="element.c" format="none">c</xref>> (<xref target="element.c"/>), <<xref target="element.postamble" format="none">postamble</xref>> (<xref target="element.postamble"/>), <<xref target="element.preamble" format="none">preamble</xref>> (<xref target="element.preamble"/>), and <<xref target="element.t" format="none">t</xref>> (<xref target="element.t"/>).</t>
<t anchor="element.spanx.contents"><!--AG-->
Content model: only text content.</t>
<!--spanx/@style-->
<section anchor="element.spanx.attribute.style" toc="exclude" title="'style' attribute">
<iref item="Attributes" subitem="style"/>
<iref item="spanx element" subitem="style attribute"/>
<iref item="style attribute" subitem="in spanx element"/>
<t>
The style to be used (defaults to "emph").
</t>
</section>
<!--spanx/@xml:space-->
<section anchor="element.spanx.attribute.xml-space" toc="exclude" title="'xml:space' attribute">
<iref item="Attributes" subitem="xml:space"/>
<iref item="spanx element" subitem="xml:space attribute"/>
<iref item="xml:space attribute" subitem="in spanx element"/>
<t>
Determines whitespace handling.
</t>
<t>
According to the DTD, the default value is "preserve". Tests however
show that it doesn't have any effect on processing; thus this
attribute will be removed in future versions of the vocabulary.
</t>
<t>
See also Section 2.10 of <xref target="XML"/>.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"default"</t>
<t>"preserve" (default)</t>
</list></t>
</section>
</section>
<!--street-->
<section anchor="element.street" title="<street>">
<iref item="Elements" subitem="street" primary="true"/>
<iref item="street element" primary="true"/>
<t>
Provides a street address.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.postal" format="none">postal</xref>> (<xref target="element.postal"/>).</t>
<t anchor="element.street.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--t-->
<section anchor="element.t" title="<t>">
<iref item="Elements" subitem="t" primary="true"/>
<iref item="t element" primary="true"/>
<t>
Contains a paragraph of text.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.abstract" format="none">abstract</xref>> (<xref target="element.abstract"/>), <<xref target="element.list" format="none">list</xref>> (<xref target="element.list"/>), <<xref target="element.note" format="none">note</xref>> (<xref target="element.note"/>), and <<xref target="element.section" format="none">section</xref>> (<xref target="element.section"/>).</t>
<t anchor="element.t.contents"><!--AG-->
Content model:
</t>
<t><!--AG-->In any order:</t>
<t><list style="symbols"><!--AG-->
<t><!--AG-->Text</t>
<t><!--AG-->
<iref item="Elements" subitem="list"/>
<iref item="list element" subitem="inside t"/><<xref target="element.list" format="none">list</xref>> elements (<xref target="element.list"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="figure"/>
<iref item="figure element" subitem="inside t"/><<xref target="element.figure" format="none">figure</xref>> elements (<xref target="element.figure"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="xref"/>
<iref item="xref element" subitem="inside t"/><<xref target="element.xref" format="none">xref</xref>> elements (<xref target="element.xref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="eref"/>
<iref item="eref element" subitem="inside t"/><<xref target="element.eref" format="none">eref</xref>> elements (<xref target="element.eref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="iref"/>
<iref item="iref element" subitem="inside t"/><<xref target="element.iref" format="none">iref</xref>> elements (<xref target="element.iref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="cref"/>
<iref item="cref element" subitem="inside t"/><<xref target="element.cref" format="none">cref</xref>> elements (<xref target="element.cref"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="spanx"/>
<iref item="spanx element" subitem="inside t"/><<xref target="element.spanx" format="none">spanx</xref>> elements (<xref target="element.spanx"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="vspace"/>
<iref item="vspace element" subitem="inside t"/><<xref target="element.vspace" format="none">vspace</xref>> elements (<xref target="element.vspace"/>)</t>
</list></t>
<!--t/@anchor-->
<section anchor="element.t.attribute.anchor" toc="exclude" title="'anchor' attribute">
<iref item="Attributes" subitem="anchor"/>
<iref item="t element" subitem="anchor attribute"/>
<iref item="anchor attribute" subitem="in t element"/>
<t>
Document-wide unique identifier for this paragraph.
</t>
<t>
The value needs to be a valid XML "Name" (Section 2.3 of <xref target="XML"/>).
</t>
</section>
<!--t/@hangText-->
<section anchor="element.t.attribute.hangText" toc="exclude" title="'hangText' attribute">
<iref item="Attributes" subitem="hangText"/>
<iref item="t element" subitem="hangText attribute"/>
<iref item="hangText attribute" subitem="in t element"/>
<t>
Holds the label ("hanging text") for items in lists using the "hanging"
style (see <xref target="element.list.attribute.style"/>).
</t>
</section>
</section>
<!--texttable-->
<section anchor="element.texttable" title="<texttable>">
<iref item="Elements" subitem="texttable" primary="true"/>
<iref item="texttable element" primary="true"/>
<t>
Contains a table, consisting of an optional preamble, a header line,
rows, an optional postamble, and an optional title.
</t>
<t>
The number of columns in the table is determined by the number of
<<xref target="element.ttcol" format="none">ttcol</xref>> elements. The number of rows in the table is
determined by the number of <<xref target="element.c" format="none">c</xref>> elements divided
by the number of columns. There is no requirement that the number of
<<xref target="element.c" format="none">c</xref>> elements be evenly divisible by the number of
columns.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.section" format="none">section</xref>> (<xref target="element.section"/>).</t>
<t anchor="element.texttable.contents"><!--AG-->
Content model:</t>
<t><!--AG-->In this order:</t>
<t><list style="numbers"><!--AG-->
<t><!--AG-->
<iref item="Elements" subitem="preamble"/>
<iref item="preamble element" subitem="inside texttable"/>One optional <<xref target="element.preamble" format="none">preamble</xref>> element (<xref target="element.preamble"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="ttcol"/>
<iref item="ttcol element" subitem="inside texttable"/>One or more <<xref target="element.ttcol" format="none">ttcol</xref>> elements (<xref target="element.ttcol"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="c"/>
<iref item="c element" subitem="inside texttable"/>Optional <<xref target="element.c" format="none">c</xref>> elements (<xref target="element.c"/>)</t>
<t><!--AG-->
<iref item="Elements" subitem="postamble"/>
<iref item="postamble element" subitem="inside texttable"/>One optional <<xref target="element.postamble" format="none">postamble</xref>> element (<xref target="element.postamble"/>)</t>
</list></t>
<!--texttable/@align-->
<section anchor="element.texttable.attribute.align" toc="exclude" title="'align' attribute">
<iref item="Attributes" subitem="align"/>
<iref item="texttable element" subitem="align attribute"/>
<iref item="align attribute" subitem="in texttable element"/>
<t>
Determines the horizontal alignment of the table.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"left"</t>
<t>"center" (default)</t>
<t>"right"</t>
</list></t>
</section>
<!--texttable/@anchor-->
<section anchor="element.texttable.attribute.anchor" toc="exclude" title="'anchor' attribute">
<iref item="Attributes" subitem="anchor"/>
<iref item="texttable element" subitem="anchor attribute"/>
<iref item="anchor attribute" subitem="in texttable element"/>
<t>
Document-wide unique identifier for this table.
</t>
<t>
Furthermore, the presence of this attribute causes the table to be numbered.
</t>
<t>
The value needs to be a valid XML "Name" (Section 2.3 of <xref target="XML"/>).
</t>
</section>
<!--texttable/@style-->
<section anchor="element.texttable.attribute.style" toc="exclude" title="'style' attribute">
<iref item="Attributes" subitem="style"/>
<iref item="texttable element" subitem="style attribute"/>
<iref item="style attribute" subitem="in texttable element"/>
<t>
Selects which borders should be drawn, where
</t>
<t><list style="symbols">
<t>
"all" means borders around all table cells,
</t>
<t>
"full" is like "all" except no horizontal lines between table
rows (except below the column titles),
</t>
<t>
"headers" adds just a separator between column titles and rows, and
</t>
<t>
"none" means no borders at all.
</t>
</list></t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"all"</t>
<t>"none"</t>
<t>"headers"</t>
<t>"full" (default)</t>
</list></t>
</section>
<!--texttable/@suppress-title-->
<section anchor="element.texttable.attribute.suppress-title" toc="exclude" title="'suppress-title' attribute">
<iref item="Attributes" subitem="suppress-title"/>
<iref item="texttable element" subitem="suppress-title attribute"/>
<iref item="suppress-title attribute" subitem="in texttable element"/>
<t>
Tables that have an "anchor" attribute will automatically get
an autogenerated title (such as "Table 1"), even if the "title"
attribute is absent. Setting this attribute to "true" will prevent this.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"true"</t>
<t>"false" (default)</t>
</list></t>
</section>
<!--texttable/@title-->
<section anchor="element.texttable.attribute.title" toc="exclude" title="'title' attribute">
<iref item="Attributes" subitem="title"/>
<iref item="texttable element" subitem="title attribute"/>
<iref item="title attribute" subitem="in texttable element"/>
<t>
The title for the table; this usually appears on a line below the table body.
</t>
</section>
</section>
<!--title-->
<section anchor="element.title" title="<title>">
<iref item="Elements" subitem="title" primary="true"/>
<iref item="title element" primary="true"/>
<t>
Represents the document title.
</t>
<t>
When this element appears in the <front> element of the current document,
the title might also appear in page headers or footers. If it's long
(~40 characters), the "abbrev" attribute is used to specify an
abbreviated variant.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.front" format="none">front</xref>> (<xref target="element.front"/>).</t>
<t anchor="element.title.contents"><!--AG-->
Content model: only text content.</t>
<!--title/@abbrev-->
<section anchor="element.title.attribute.abbrev" toc="exclude" title="'abbrev' attribute">
<iref item="Attributes" subitem="abbrev"/>
<iref item="title element" subitem="abbrev attribute"/>
<iref item="abbrev attribute" subitem="in title element"/>
<t>
Specifies an abbreviated variant of the document title.
</t>
</section>
</section>
<!--ttcol-->
<section anchor="element.ttcol" title="<ttcol>">
<iref item="Elements" subitem="ttcol" primary="true"/>
<iref item="ttcol element" primary="true"/>
<t>
Contains a column heading in a table.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.texttable" format="none">texttable</xref>> (<xref target="element.texttable"/>).</t>
<t anchor="element.ttcol.contents"><!--AG-->
Content model: only text content.</t>
<!--ttcol/@align-->
<section anchor="element.ttcol.attribute.align" toc="exclude" title="'align' attribute">
<iref item="Attributes" subitem="align"/>
<iref item="ttcol element" subitem="align attribute"/>
<iref item="align attribute" subitem="in ttcol element"/>
<t>
Determines the horizontal alignment within the table column.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"left" (default)</t>
<t>"center"</t>
<t>"right"</t>
</list></t>
</section>
<!--ttcol/@width-->
<section anchor="element.ttcol.attribute.width" toc="exclude" title="'width' attribute">
<iref item="Attributes" subitem="width"/>
<iref item="ttcol element" subitem="width attribute"/>
<iref item="width attribute" subitem="in ttcol element"/>
<t>
The desired column width (as integer 0..100 followed by "%").
</t>
</section>
</section>
<!--uri-->
<section anchor="element.uri" title="<uri>">
<iref item="Elements" subitem="uri" primary="true"/>
<iref item="uri element" primary="true"/>
<t>
Contains a web address associated with the author.
</t>
<t>
The contents should be a valid URI (see Section 3 of <xref target="RFC3986"/>).
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.address" format="none">address</xref>> (<xref target="element.address"/>).</t>
<t anchor="element.uri.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--vspace-->
<section anchor="element.vspace" title="<vspace>">
<iref item="Elements" subitem="vspace" primary="true"/>
<iref item="vspace element" primary="true"/>
<t>
This element can be used to force the inclusion of a single line break
or multiple blank lines.
</t>
<t>
Note that this is a purely presentational element and thus its use ought
to be avoided, except within a <<xref target="element.list" format="none">list</xref>> as discussed in <xref target="element.list"/>.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.t" format="none">t</xref>> (<xref target="element.t"/>).</t>
<t anchor="element.vspace.contents"><!--AG-->
Content model: this element does not have any contents.</t>
<!--vspace/@blankLines-->
<section anchor="element.vspace.attribute.blankLines" toc="exclude" title="'blankLines' attribute">
<iref item="Attributes" subitem="blankLines"/>
<iref item="vspace element" subitem="blankLines attribute"/>
<iref item="blankLines attribute" subitem="in vspace element"/>
<t>
Number of blank lines to be inserted, where "0" indicates
a single line break (defaults to "0").
</t>
<t>
For paged output formats, no additional blank lines should be generated
after a page break.
</t>
</section>
</section>
<!--workgroup-->
<section anchor="element.workgroup" title="<workgroup>">
<iref item="Elements" subitem="workgroup" primary="true"/>
<iref item="workgroup element" primary="true"/>
<t>
This element is used to specify the Working Group (IETF) or Research Group (IRTF) from which the document originates,
if any. The recommended format is the official name of the Working Group
(with some capitalization).
</t>
<t>
In Internet-Drafts, this is used in the upper left corner of the boilerplate,
replacing the "Network Working Group" string. Formatting software can
append the words "Working Group" or "Research Group", depending on
the "submissionType" property on the <<xref target="element.rfc" format="none">rfc</xref>> element
(<xref target="element.rfc.attribute.submissionType"/>).
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.front" format="none">front</xref>> (<xref target="element.front"/>).</t>
<t anchor="element.workgroup.contents"><!--AG-->
Content model: only text content.</t>
</section>
<!--xref-->
<section anchor="element.xref" title="<xref>">
<iref item="Elements" subitem="xref" primary="true"/>
<iref item="xref element" primary="true"/>
<t>
Inserts a cross reference to a different part of a document.
</t>
<t>
The generated text depends on whether the <xref> is empty
(in which case the processor will try to generate a meaningful text
fragment), the "format" attribute, and the nature (XML element type)
of the referenced document part.
</t>
<t>
Any element that allows the "anchor" attribute can be referenced; however
there are restrictions with respect to the text content being generated.
For instance, a <<xref target="element.t" format="none">t</xref>> can be a reference target, however,
because paragraphs are not (visibly) numbered, the author will have to
make sure that the combination of prose and contained text content
is sufficient for a reader to understand what is being referred to.
</t>
<t><!--AG-->This element appears as a child element of: <<xref target="element.annotation" format="none">annotation</xref>> (<xref target="element.annotation"/>), <<xref target="element.c" format="none">c</xref>> (<xref target="element.c"/>), <<xref target="element.postamble" format="none">postamble</xref>> (<xref target="element.postamble"/>), <<xref target="element.preamble" format="none">preamble</xref>> (<xref target="element.preamble"/>), and <<xref target="element.t" format="none">t</xref>> (<xref target="element.t"/>).</t>
<t anchor="element.xref.contents"><!--AG-->
Content model: only text content.</t>
<!--xref/@format-->
<section anchor="element.xref.attribute.format" toc="exclude" title="'format' attribute">
<iref item="Attributes" subitem="format"/>
<iref item="xref element" subitem="format attribute"/>
<iref item="format attribute" subitem="in xref element"/>
<t>
This attribute is used to control the format of the generated
reference text.
</t>
<t><?rfc subcompact='no'?><list style="hanging"><t hangText=""counter""><vspace blankLines="1"/><iref item="xref formats" subitem="counter" primary="true"/>
Inserts a counter, such as the number of a section, figure, table,
or list item.
<vspace blankLines="1"/>
For targets that are not inherently numbered, such as references
or comments, it uses the anchor name instead.
</t><t hangText=""default""><vspace blankLines="1"/><iref item="xref formats" subitem="default" primary="true"/>
Inserts a text fragment that describes the referenced part
completely, such as "Section 2", "Table 4", or "[XML]".
</t><t hangText=""none""><vspace blankLines="1"/><iref item="xref formats" subitem="none" primary="true"/>
There will be no auto-generated text.
</t><t hangText=""title""><vspace blankLines="1"/><iref item="xref formats" subitem="title" primary="true"/>
Inserts a title for the referenced element (usually obtained from
the referenced element's "title" attribute; some processors
also use the <title> child element or a <reference>
target).
</t></list></t>
<t>
Not all combinations of text content, format attribute, and type of referenced part
lead to predictable results across different formatters. In case this matters,
the following combinations need to be avoided:
</t>
<t><list style="symbols">
<t>
Non-empty text content with any format other than "none".
</t>
<t>
Empty text content with format "counter" for any target that
isn't inherently numbered.
</t>
<t>
Empty text content with format "title" for any target that
doesn't have a title.
</t>
</list></t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"counter"</t>
<t>"title"</t>
<t>"none"</t>
<t>"default" (default)</t>
</list></t>
</section>
<!--xref/@pageno-->
<section anchor="element.xref.attribute.pageno" toc="exclude" title="'pageno' attribute">
<iref item="Attributes" subitem="pageno"/>
<iref item="xref element" subitem="pageno attribute"/>
<iref item="pageno attribute" subitem="in xref element"/>
<t>
Unused.
</t>
<t>
It's unclear what the purpose of this attribute is; processors
seem to ignore it and it never was documented.
</t>
<t><!--AG-->Allowed values:</t>
<t><list style="symbols"><!--AG-->
<t>"true"</t>
<t>"false" (default)</t>
</list></t>
</section>
<!--xref/@target-->
<section anchor="element.xref.attribute.target" toc="exclude" title="'target' attribute (mandatory)">
<iref item="Attributes" subitem="target"/>
<iref item="xref element" subitem="target attribute"/>
<iref item="target attribute" subitem="in xref element"/>
<t>
Identifies the document component being referenced.
</t>
<t>
The value needs to match the value of the "anchor" attribute of another
element in the document.
</t>
</section>
</section>
</section>
<section anchor="escaping" title="Escaping for Use in XML">
<t>
Text in XML cannot use the literal characters "<" and "&", as they
have special meaning to the XML processor (starting entities, elements, etc.).
Usually, these characters will need to be substituted by "<" and
"&" (see Section 4.6 of <xref target="XML"/>).
</t>
<t>
">" does not require escaping, unless it appears in the sequence "]]>"
(which indicates the end of a CDATA section, see below).
</t>
<t>
Escaping the individual characters can be a lot of work (when done manually),
and also messes up alignment in artwork. Another approach to escaping is
to use CDATA sections (<xref target="XML"/>, Section 2.7).
Within these, no further escaping is needed, except when the "end-of-CDATA"
marker needs to be used (in that case, the CDATA section needs to be closed,
and a new one needs to be started).
</t>
</section>
<section anchor="special.unicode.code.points" title="Special Unicode Code Points">
<t>
Although the current RFC format does not allow non-ASCII Unicode characters
(<xref target="UNICODE"/>), some of them can be used to enforce certain
behaviors of formatters.
</t>
<t>
For instance:
</t>
<t><?rfc subcompact='no'?><list style="hanging"><t hangText="non-breaking space (U+00A0)"><vspace blankLines="1"/>
Represents a space character where no line break should happen. This is
frequently used in titles (by excluding certain space characters from
the line breaking algorithm, the processor will use the remaining
whitespace occurrences for line breaks).
</t><t hangText="non-breaking hyphen (U+2011)"><vspace blankLines="1"/>
Similarly, this represents a hyphen character where nevertheless no
line breaking ought to occur.
</t><t hangText="word joiner (U+2060)"><vspace blankLines="1"/>
Also called "zero width non-breaking space" — can be used to
disallow line breaking between two non-whitespace characters.
</t></list></t>
<t>
Note that in order to use these characters by name, they need to be
declared either in the Document Type Definition (DTD,
<xref target="XML"/>, Section 2.9), or
in the "internal subset" (<xref target="XML"/>, Section 2.8),
like this:
</t>
<figure><artwork type="example"><![CDATA[
<?xml version="1.0"?>
<!DOCTYPE rfc [
<!-- declare nbsp and friends -->
<!ENTITY nbsp " ">
<!ENTITY nbhy "‑">
<!ENTITY wj "">
]>
]]></artwork></figure>
</section>
<section anchor="including.files" title="Including Files">
<t>
This version of the vocabulary does not support an inclusion mechanism on
its own — thus, a document always needs to be self-contained.
</t>
<t>
That being said, some processors do support file inclusion using
processing instructions (Section 2.6 of <xref target="XML"/>
and Section 4.1.2 of <xref target="TCLReadme"/>).
</t>
<t>
Furthermore, XML itself allows inclusion of external content using the
"internal subset" (Section 2.8 of <xref target="XML"/>).
Unfortunately, this requires declaring the external data in the DTD upfront.
</t>
<figure>
<preamble>For instance:</preamble>
<artwork type="example"><![CDATA[
<?xml version="1.0"?>
<!DOCTYPE rfc [
<!-- allow later RFC2616 reference using "&rfc2616;" -->
<!-- the data will be fetched from xml.resource.org -->
<!ENTITY rfc2616 PUBLIC
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml">
]>
]]></artwork>
<postamble>...declares the entity "rfc2616", which then can be used in the "references" section:
</postamble></figure>
<figure>
<artwork type="example"><![CDATA[
<references>
&rfc2616;
</references>
]]></artwork></figure>
<t>
Note that this mechanism only works for well-formed XML fragments; thus
any plain text that would need to be escaped in XML can't be included as-is.
</t>
</section>
<section anchor="i18n.considerations" title="Internationalization Considerations">
<t>
This format is based on <xref target="XML"/>, thus does not have any
issues representing arbitrary Unicode <xref target="UNICODE"/> characters in text content.
</t>
<t>
However, the current canonical RFC format is restricted to US-ASCII
characters (<xref target="USASCII"/> and Section 3 of <xref target="RFC2223"/>).
It is possible that this rule will be relaxed in future revisions of the
RFC format (for instance, to allow non-ASCII characters in examples and
contact information). In that case, it is
expected that the vocabulary will be extended accordingly.
</t>
</section>
<section anchor="security.considerations" title="Security Considerations">
<t>
The "name" attribute on the <<xref target="element.artwork" format="none">artwork</xref>> element
(<xref target="element.artwork.attribute.name"/>)
can be used to derive a filename for saving to a local file system.
Trusting this kind of information without pre-processing is a known
security risk; see Section 4.3 of <xref target="RFC6266"/> for
more information.
</t>
<t>
Furthermore, the nature of XML, plus vocabulary features such as typed artwork,
make it attractive to extract content from documents for further
processing, such for the purpose of checking syntax, or computing/verifying
examples. In the latter case, care needs to be taken that only trusted
content is processed.
</t>
<t>
All security considerations related to XML processing are
relevant as well (see Section 7 of <xref target="RFC3470"/>).
</t>
</section>
<section anchor="iana.considerations" title="IANA Considerations">
<section title="Internet Media Type Registration">
<iref item="Media Type" subitem="application/rfc+xml" primary="true"/>
<iref item="application/rfc+xml Media Type" primary="true"/>
<t>
IANA maintains the registry of Internet media types <xref target="BCP13"/>
at <eref target="http://www.iana.org/assignments/media-types"/>.
</t>
<t>
This document serves as the specification for the Internet media type
"application/rfc+xml". The following is to be registered with IANA.
</t>
<t><?rfc subcompact='no'?><list style="hanging"><t hangText="Type name:">application</t><t hangText="Subtype name:">rfc+xml</t><t hangText="Required parameters:">There are no required parameters.</t><t hangText="Optional parameters:">"charset": This parameter has identical semantics as the charset
parameter of the "application/xml" media type specified in Section 9.1 of <xref target="RFC7303"/>.</t><t hangText="Encoding considerations:">Identical to those of "application/xml" as described in Section 9.1 of <xref target="RFC7303"/>.</t><t hangText="Security considerations:">As defined in <xref target="security.considerations"/>. In addition, as
this media type uses the "+xml" convention, it inherits the security
considerations described in Section 10 of <xref target="RFC7303"/>.</t><t hangText="Interoperability considerations:">Some aspects of this vocabulary currently cannot be used interoperably; among the reasons
for this are that they weren't precisely defined in the first place, that they have been
added in an ad-hoc fashion later on, or that they are specific to certain output
formats. This specification attempts to identify these cases in the description
of the individual elements/attributes.
</t><t hangText="Published specification:">This specification.</t><t hangText="Applications that use this media type:">Applications that transform xml2rfc to output formats such
as plain text or HTML, plus additional analysis tools.</t><t hangText="Fragment identifier considerations:">The "anchor" attribute is used for assigning document-wide unique
identifiers that can be used as shorthand pointers, as described
in Section 2.8 of <xref target="XPOINTER"/>.</t><t hangText="Additional information:"><?rfc subcompact='no'?><list style="hanging"><t hangText="Deprecated alias names for this type:">None.</t><t hangText="Magic number(s):">As specified for "application/xml" in Section 9.1 of <xref target="RFC7303"/>.</t><t hangText="File extension(s):">.xml or .rfcxml when disambiguation from other XML files is needed</t><t hangText="Macintosh file type code(s):">TEXT</t></list></t><t hangText="Person & email address to contact for further information:">See Authors Section.</t><t hangText="Intended usage:">COMMON</t><t hangText="Restrictions on usage:">None</t><t hangText="Author:">See Authors Section.</t><t hangText="Change controller:">RFC Series Editor (rse@rfc-editor.org)</t></list></t>
</section>
</section>
</middle>
<back>
<references title="Normative References">
<reference anchor="XML" target="http://www.w3.org/TR/2008/REC-xml-20081126/"><front>
<title>Extensible Markup Language (XML) 1.0 (Fifth Edition)</title>
<author fullname="Eve Maler" surname="Maler" initials="E."/>
<author fullname="Francois Yergeau" surname="Yergeau" initials="F."/>
<author fullname="Jean Paoli" surname="Paoli" initials="J."/>
<author fullname="Michael Sperberg-McQueen" surname="Sperberg-McQueen" initials="M."/>
<author fullname="Tim Bray" surname="Bray" initials="T."/>
<date year="2008" month="November" day="26"/>
</front><seriesInfo name="W3C Recommendation" value="REC-xml-20081126"/><annotation>
Latest version available at
<eref target="http://www.w3.org/TR/xml"/>.
</annotation></reference>
<reference anchor="RFC2046" target="http://www.rfc-editor.org/info/rfc2046"><front>
<title abbrev="Media Types">Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
<author initials="N." surname="Freed" fullname="Ned Freed"/>
<author initials="N." surname="Borenstein" fullname="Nathaniel S. Borenstein"/>
<date month="November" year="1996"/>
</front><seriesInfo name="RFC" value="2046"/><seriesInfo name="DOI" value="10.17487/RFC2046"/></reference>
<reference anchor="RFC3966" target="http://www.rfc-editor.org/info/rfc3966"><front>
<title>The tel URI for Telephone Numbers</title>
<author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne"/>
<date year="2004" month="December"/>
</front><seriesInfo name="RFC" value="3966"/><seriesInfo name="DOI" value="10.17487/RFC3966"/></reference>
<reference anchor="RFC6068" target="http://www.rfc-editor.org/info/rfc6068"><front>
<title>The 'mailto' URI Scheme</title>
<author initials="M." surname="Duerst" fullname="M. Duerst"/>
<author initials="L." surname="Masinter" fullname="L. Masinter"/>
<author initials="J." surname="Zawinski" fullname="J. Zawinski"/>
<date year="2010" month="October"/>
</front><seriesInfo name="RFC" value="6068"/><seriesInfo name="DOI" value="10.17487/RFC6068"/></reference>
<reference anchor="RFC7303" target="http://www.rfc-editor.org/info/rfc7303"><front>
<title>XML Media Types</title>
<author initials="H." surname="Thompson" fullname="H. Thompson"/>
<author initials="C." surname="Lilley" fullname="C. Lilley"/>
<date year="2014" month="July"/>
</front><seriesInfo name="RFC" value="7303"/><seriesInfo name="DOI" value="10.17487/RFC7303"/></reference>
</references>
<references title="Informative References">
<reference anchor="BCP13" target="http://www.rfc-editor.org/info/bcp13"><front>
<title>Media Type Specifications and Registration Procedures</title>
<author initials="N." surname="Freed" fullname="Ned Freed"/>
<author initials="J." surname="Klensin" fullname="John C. Klensin"/>
<author initials="T." surname="Hansen" fullname="Tony Hansen"/>
<date year="2013" month="January"/>
</front><seriesInfo name="BCP" value="13"/><seriesInfo name="RFC" value="6838"/></reference>
<reference anchor="RFC2026" target="http://www.rfc-editor.org/info/rfc2026"><front>
<title abbrev="Internet Standards Process">The Internet Standards Process -- Revision 3</title>
<author initials="S." surname="Bradner" fullname="Scott O. Bradner"/>
<date year="1996" month="October"/>
</front><seriesInfo name="BCP" value="9"/><seriesInfo name="RFC" value="2026"/><seriesInfo name="DOI" value="10.17487/RFC2026"/></reference>
<reference anchor="RFC2223" target="http://www.rfc-editor.org/info/rfc2223"><front>
<title>Instructions to RFC Authors</title>
<author initials="J." surname="Postel" fullname="Jon Postel"/>
<author initials="J.K." surname="Reynolds" fullname="Joyce K. Reynolds"/>
<date year="1997" month="October"/>
</front><seriesInfo name="RFC" value="2223"/><seriesInfo name="DOI" value="10.17487/RFC2223"/></reference>
<reference anchor="RFC2397" target="http://www.rfc-editor.org/info/rfc2397"><front>
<title abbrev="The "data" URL scheme">The "data" URL scheme</title>
<author initials="L." surname="Masinter" fullname="Larry Masinter"/>
<date year="1998" month="August"/>
</front><seriesInfo name="RFC" value="2397"/><seriesInfo name="DOI" value="10.17487/RFC2397"/></reference>
<reference anchor="RFC2629" target="http://www.rfc-editor.org/info/rfc2629"><front>
<title>Writing I-Ds and RFCs using XML</title>
<author initials="M.T." surname="Rose" fullname="Marshall T. Rose"/>
<date month="June" year="1999"/>
</front><seriesInfo name="RFC" value="2629"/><seriesInfo name="DOI" value="10.17487/RFC2629"/></reference>
<reference anchor="RFC3470" target="http://www.rfc-editor.org/info/rfc3470"><front>
<title>Guidelines for the Use of Extensible Markup Language (XML) within IETF Protocols</title>
<author initials="S." surname="Hollenbeck" fullname="Scott Hollenbeck"/>
<author initials="M." surname="Rose" fullname="Marshall T. Rose"/>
<author initials="L." surname="Masinter" fullname="Larry Masinter"/>
<date year="2003" month="January" day="23"/>
</front><seriesInfo name="BCP" value="70"/><seriesInfo name="RFC" value="3470"/><seriesInfo name="DOI" value="10.17487/RFC3470"/></reference>
<reference anchor="RFC3986" target="http://www.rfc-editor.org/info/rfc3986"><front>
<title abbrev="URI Generic Syntax">Uniform Resource Identifier (URI): Generic Syntax</title>
<author initials="T." surname="Berners-Lee" fullname="Tim Berners-Lee"/>
<author initials="R." surname="Fielding" fullname="Roy T. Fielding"/>
<author initials="L." surname="Masinter" fullname="Larry Masinter"/>
<date month="January" year="2005"/>
</front><seriesInfo name="STD" value="66"/><seriesInfo name="RFC" value="3986"/><seriesInfo name="DOI" value="10.17487/RFC3986"/></reference>
<reference anchor="RFC5598" target="http://www.rfc-editor.org/info/rfc5598"><front>
<title>Internet Mail Architecture</title>
<author initials="D." surname="Crocker" fullname="D. Crocker"/>
<date year="2009" month="July"/>
</front><seriesInfo name="RFC" value="5598"/><seriesInfo name="DOI" value="10.17487/RFC5598"/><annotation>PDF version: <eref target="http://www.rfc-editor.org/rfc/rfc5598.pdf"/></annotation></reference>
<reference anchor="RFC5741" target="http://www.rfc-editor.org/info/rfc5741"><front>
<title>RFC Streams, Headers, and Boilerplates</title>
<author initials="L." surname="Daigle" fullname="Leslie Daigle"/>
<author initials="O." surname="Kolkman" fullname="Olaf Kolkman"/>
<date month="December" year="2009"/>
</front><seriesInfo name="RFC" value="5741"/><seriesInfo name="DOI" value="10.17487/RFC5741"/></reference>
<reference anchor="RFC6266" target="http://www.rfc-editor.org/info/rfc6266"><front>
<title>Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</title>
<author initials="J. F." surname="Reschke" fullname="Julian F. Reschke"/>
<date month="June" year="2011"/>
</front><seriesInfo name="RFC" value="6266"/><seriesInfo name="DOI" value="10.17487/RFC6266"/></reference>
<reference anchor="RNC" target="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html"><front>
<title>RELAX NG Compact Syntax</title>
<author initials="J." surname="Clark" fullname="James Clark">
<address>
<email>jjc@jclark.com</email>
</address>
</author>
<date month="November" year="2002"/>
</front><seriesInfo name="OASIS" value=""/></reference>
<reference anchor="IDGUIDE" target="http://www.ietf.org/id-info/guidelines.html"><front>
<title>Guidelines to Authors of Internet-Drafts</title>
<author initials="R." surname="Housley" fullname="R. Housley"/>
<date month="December" year="2010"/>
</front></reference>
<reference anchor="RFC3667" target="http://www.rfc-editor.org/info/rfc3667"><front>
<title>IETF Rights in Contributions</title>
<author initials="S." surname="Bradner" fullname="S. Bradner"/>
<date year="2004" month="February"/>
</front><seriesInfo name="RFC" value="3667"/><seriesInfo name="DOI" value="10.17487/RFC3667"/></reference>
<reference anchor="RFC3978" target="http://www.rfc-editor.org/info/rfc3978"><front>
<title>IETF Rights in Contributions</title>
<author initials="S." surname="Bradner" fullname="S. Bradner"/>
<date year="2005" month="March"/>
</front><seriesInfo name="RFC" value="3978"/><seriesInfo name="DOI" value="10.17487/RFC3978"/></reference>
<reference anchor="RFCPOLICY" target="http://www.rfc-editor.org/policy.html"><front>
<title>RFC Editorial Guidelines and Procedures</title>
<author>
<organization>RFC Editor</organization>
</author>
<date month="February" year="2012"/>
</front></reference>
<reference anchor="RFC7322" target="http://www.rfc-editor.org/info/rfc7322"><front>
<title>RFC Style Guide</title>
<author initials="H." surname="Heather" fullname="Heather Flanagan"/>
<author initials="S." surname="Ginoza" fullname="Sandy Ginoza"/>
<date month="September" year="2014"/>
</front><seriesInfo name="RFC" value="7322"/><seriesInfo name="DOI" value="10.17487/RFC7322"/></reference>
<reference anchor="TLP2.0" target="http://trustee.ietf.org/license-info/IETF-TLP-2.htm"><front>
<title>Legal Provisions Relating to IETF Documents</title>
<author>
<organization>IETF Trust</organization>
</author>
<date year="2009" month="February"/>
</front></reference>
<reference anchor="TLP3.0" target="http://trustee.ietf.org/license-info/IETF-TLP-3.htm"><front>
<title>Legal Provisions Relating to IETF Documents</title>
<author>
<organization>IETF Trust</organization>
</author>
<date year="2009" month="September"/>
</front></reference>
<reference anchor="TLP4.0" target="http://trustee.ietf.org/license-info/IETF-TLP-4.htm"><front>
<title>Legal Provisions Relating to IETF Documents</title>
<author>
<organization>IETF Trust</organization>
</author>
<date year="2009" month="December"/>
</front></reference>
<reference anchor="UNICODE" target="http://www.unicode.org/versions/Unicode6.3.0/"><front>
<title>The Unicode Standard, Version 6.3.0</title>
<author>
<organization>The Unicode Consortium</organization>
</author>
<date year="2013" month="September"/>
</front></reference>
<reference anchor="USASCII"><front>
<title>Coded Character Set -- 7-bit American Standard Code for Information Interchange</title>
<author>
<organization>American National Standards Institute</organization>
</author>
<date year="1986"/>
</front><seriesInfo name="ANSI" value="X3.4"/></reference>
<reference anchor="HTML" target="http://www.w3.org/TR/2014/REC-html5-20141028/"><front>
<title>HTML5</title>
<author fullname="Ian Hickson" surname="Hickson" initials="I."/>
<author fullname="Robin Berjon" surname="Berjon" initials="R."/>
<author fullname="Steve Faulkner" surname="Faulkner" initials="S."/>
<author fullname="Travis Leithead" surname="Leithead" initials="T."/>
<author fullname="Erika Doyle Navara" surname="Doyle Navara" initials="E."/>
<author fullname="Edward O'Connor" surname="O'Connor" initials="E."/>
<author fullname="Silvia Pfeiffer" surname="Pfeiffer" initials="S."/>
<date year="2014" month="October" day="28"/>
</front><seriesInfo name="W3C Recommendation" value="REC-html5-20141028"/><annotation>
Latest version available at
<eref target="http://www.w3.org/TR/html5/"/>.
</annotation></reference>
<reference anchor="CSS" target="http://www.w3.org/TR/2011/REC-CSS2-20110607/"><front>
<title>Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification</title>
<author fullname="Bert Bos" surname="Bos" initials="B."/>
<author fullname="Tantek Celik" surname="Celic" initials="T."/>
<author fullname="Ian Hickson" surname="Hickson" initials="I."/>
<author fullname="Hakon Wium Lie" surname="Lie" initials="H. W."/>
<date year="2011" month="June" day="07"/>
</front><seriesInfo name="W3C Recommendation" value="REC-CSS2-20110607"/><annotation>
Latest version available at
<eref target="http://www.w3.org/TR/CSS2"/>.
</annotation></reference>
<reference anchor="XPOINTER" target="http://www.w3.org/TR/2003/REC-xptr-framework-20030325/"><front>
<title>XPointer Framework</title>
<author fullname="Paul Grosso" surname="Grosso" initials="P."/>
<author fullname="Eve Maler" surname="Maler" initials="E."/>
<author fullname="Jonathan Marsh" surname="Marsh" initials="J."/>
<author fullname="Norman Walsh" surname="Walsh" initials="N."/>
<date year="2003" month="March" day="25"/>
</front><seriesInfo name="W3C Recommendation" value="REC-xptr-framework-20030325"/><annotation>
Latest version available at
<eref target="http://www.w3.org/TR/xptr-framework/"/>.
</annotation></reference>
<reference anchor="JING" target="http://www.thaiopensource.com/relaxng/jing.html"><front>
<title>Jing - A RELAX NG validator in Java</title>
<author>
<organization>Thai Open Source Software Center Ltd</organization>
</author>
<date year="2008"/>
</front><annotation>
Downloads:
<eref target="https://code.google.com/p/jing-trang/downloads/list"/>.
</annotation></reference>
<reference anchor="V1rev" target="http://svn.tools.ietf.org/svn/tools/xml2rfc/archive/draft-mrose-writing-rfcs.html"><front>
<title>Writing I-Ds and RFCs using XML (revised)</title>
<author fullname="Marshall T. Rose" surname="Rose" initials="M."/>
<date year="2008" month="February"/>
</front></reference>
<reference anchor="TCLReadme" target="http://svn.tools.ietf.org/svn/tools/xml2rfc/archive/README.html"><front>
<title>xml2rfc v1.35pre1</title>
<author fullname="Marshall T. Rose" surname="Rose" initials="M."/>
<author fullname="Bill Fenner" surname="Fenner" initials="B."/>
<author fullname="Charles Levert" surname="Levert" initials="C."/>
<date year="2009" month="October"/>
</front></reference>
</references>
<section anchor="front.page" title="Front Page ('Boilerplate') Generation">
<section anchor="attribute-category" title="The /rfc/@category Attribute">
<t>
For RFCs, the category attribute (<xref target="element.rfc.attribute.category"/>)
determines the "maturity level" (see Section 4 of <xref target="RFC2026"/>).
The allowed values are "std" for "Standards Track", "bcp" for "BCP", "info"
for "Informational", "exp" for "Experimental", and "historic" for "Historic".
</t>
<t>
For Internet-Drafts, the category attribute is not needed, but will
appear on the front page as "Intended Status". Supplying this information can
be useful to reviewers.
</t>
</section>
<section anchor="attribute-ipr" title="The /rfc/@ipr Attribute">
<t>
This attribute value can take a long list of values, each of which describes an IPR policy for the document
(<xref target="element.rfc.attribute.ipr"/>).
The values are not the result of a grand design, but remain simply for historic
reasons. Of these values, only a few are currently in use; all others are
supported by various tools for backwards compatibility with old source
files.
</t>
<t><list>
<t>
<spanx style="strong">Note:</spanx> some variations of the boilerplate are selected based
on the document's date; therefore it is important to specify the "year",
"month" and "day" attributes of the <<xref target="element.date" format="none">date</xref>> element
when archiving the XML source of an Internet-Draft on the day of submission.
</t>
</list></t>
<t>
<spanx style="emph">Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION. IF YOU NEED
LEGAL ADVICE, PLEASE CONTACT A LAWYER.</spanx>
For further information, refer to <eref target="http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf"/>.
</t>
<t>
For the current "Status of This Memo" text, the submissionType attribute
(<xref target="element.rfc.attribute.submissionType"/>)
determines whether a statement about "Code Components" is inserted (which is the
case for the value "IETF", which is the default). Other values,
such as "independent", suppress this part of the text.
</t>
<section anchor="attribute-ipr-current" title="Current Values: '*trust200902'">
<iref item="ipr attribute" subitem="'*trust200902'"/>
<t>
The name for these values refers to the "IETF TRUST Legal Provisions Relating
to IETF Documents", sometimes simply called the "TLP", which went into effect on February 15, 2009 (<xref target="TLP2.0"/>).
Updates to this document were published on September 12, 2009 (<xref target="TLP3.0"/>)
and on December 28, 2009 (<xref target="TLP4.0"/>),
modifying the license for code components (see <eref target="http://trustee.ietf.org/license-info/"/>
for further information).
The actual text is located in Section 6 ("Text To Be Included in IETF Documents")
of these documents.
</t>
<t>
Formatters will automatically produce the "correct" text depending on the
document's date information (see above):
</t>
<texttable align="left">
<ttcol>TLP</ttcol><ttcol>starting with publication date</ttcol>
<c><xref target="TLP3.0"/></c>
<c>2009-11-01</c>
<c><xref target="TLP4.0"/></c>
<c>2010-04-01</c>
</texttable>
<section anchor="attribute-ipr-trust200902" title="trust200902">
<iref item="ipr attribute" subitem="'trust200902'"/>
<t>
This value should be used unless one of the more specific '*trust200902'
values is a better fit. It produces the text in Sections 6.a and 6.b of
the TLP.
</t>
</section>
<section anchor="attribute-ipr-noModificationTrust200902" title="noModificationTrust200902">
<iref item="ipr attribute" subitem="'noModificationTrust200902'"/>
<t>
This produces additional text from Section 6.c.i of the TLP:
</t>
<t><list>
<t>
This document may not be modified, and derivative works of it may
not be created, except to format it for publication as an RFC or
to translate it into languages other than English.
</t>
</list></t>
<t><list>
<t>
<spanx style="strong">Note:</spanx> this clause is incompatible with RFCs that are published
on the Standards Track.
</t>
</list></t>
</section>
<section anchor="attribute-ipr-noDerivativesTrust200902" title="noDerivativesTrust200902">
<iref item="ipr attribute" subitem="'noDerivativesTrust200902'"/>
<t>
This produces the additional text from Section 6.c.ii of the TLP:
</t>
<t><list>
<t>
This document may not be modified, and derivative works of it may
not be created, and it may not be published except as an Internet-Draft.
</t>
</list></t>
<t><list>
<t>
<spanx style="strong">Note:</spanx> this clause is incompatible with RFCs.
</t>
</list></t>
</section>
<section anchor="attribute-ipr-pre5378Trust200902" title="pre5378Trust200902">
<iref item="ipr attribute" subitem="'pre5378Trust200902'"/>
<t>
This produces the additional text from Section 6.c.iii of the TLP, frequently
called the "pre-5378 escape clause":
</t>
<t><list>
<t>
This document may contain material from IETF Documents or IETF Contributions published or
made publicly available before November 10, 2008. The person(s) controlling the copyright in
some of this material may not have granted the IETF Trust the right to allow modifications of such
material outside the IETF Standards Process. Without obtaining an adequate license from the
person(s) controlling the copyright in such materials, this document may not be modified outside
the IETF Standards Process, and derivative works of it may not be created outside the IETF
Standards Process, except to format it for publication as an RFC or to translate it into languages
other than English.
</t>
</list></t>
<t>
See Section 4 of <eref target="http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf"/>
for further information about when to use this value.
</t>
<t><list>
<t>
<spanx style="strong">Note:</spanx> this text appears under "Copyright Notice", unless the
document was published before November 2009, in which case it appears
under "Status Of This Memo".
</t>
</list></t>
</section>
</section>
<section anchor="attribute-ipr-historic" title="Historic Values">
<section anchor="attribute-ipr-200811" title="Historic Values: '*trust200811'">
<iref item="ipr attribute" subitem="'*trust200811'"/>
<t>
The attribute values "trust200811",
"noModificationTrust200811" and
"noDerivativesTrust200811"
are similar to their "trust200902" counterparts, except that they use text
specified in <eref target="http://trustee.ietf.org/license-info/archive/IETF-Trust-License-Policy_11-10-08.pdf"/>.
</t>
</section>
<section anchor="attribute-ipr-3978" title="Historic Values: '*3978'">
<iref item="ipr attribute" subitem="'*3978'"/>
<t>
The attribute values "full3978",
"noModification3978" and
"noDerivatives3978"
are similar to their counterparts above, except that they use text
specified in Section 5 of <xref target="RFC3978"/>.
</t>
</section>
<section anchor="attribute-ipr-3667" title="Historic Values: '*3667'">
<iref item="ipr attribute" subitem="'*3667'"/>
<t>
The attribute values "full3667",
"noModification3667" and
"noDerivatives3667"
are similar to their counterparts above, except that they use text
specified in Section 5 of <xref target="RFC3667"/>.
</t>
</section>
<section anchor="attribute-ipr-2026" title="Historic Values: '*2026'">
<iref item="ipr attribute" subitem="'*2026'"/>
<t>
The attribute values "full2026" and
"noDerivativeWorks2026"
are similar to their counterparts above, except that they use text
specified in Section 10 of <xref target="RFC2026"/>.
</t>
<t>
The special value "none"
was also used back then, and denied the IETF any rights beyond publication
as Internet-Draft.
</t>
</section>
</section>
</section>
<section anchor="attribute-submissiontype" title="The /rfc/@submissionType Attribute">
<t>
The RFC Editor publishes documents from different "document streams", of which
the "IETF stream" is the most prominent one. Other streams are the "independent stream"
(used for things such as administrative information or April 1st RFCs),
the "IAB stream" (Internet Architecture Board) and the "IRTF stream" (Internet Research Task Force).
</t>
<t>
The values for the attribute are "IETF" (the default value),
"independent", "IAB", and "IRTF".
</t>
<t>
Historically, this attribute did not affect the final appearance of RFCs, except for
subtle differences in Copyright notices.
Nowadays (as of <xref target="RFC5741"/>), the stream name appears in the first
line of the front page, and it also affects the text in the "Status Of This Memo"
section.
</t>
<t>
For current documents, setting submissionType attribute will
have the following effect:
</t>
<t><list style="symbols">
<t>
For RFCs, the stream name appears in the upper left corner of the
first page (in Internet Drafts, this is either "Network Working Group",
or the value of the <<xref target="element.workgroup" format="none">workgroup</xref>> element).
</t>
<t>
For RFCs, if affects the whole "Status Of This Memo" section (see
Section 3.2.2 of <xref target="RFC5741"/>).
</t>
<t>
For all RFCs and Internet Drafts, it determines whether the "Copyright
Notice" mentions the Copyright on Code Components (see TLP, Section "Text To Be Included in IETF Documents").
</t>
</list></t>
</section>
<section anchor="attribute-consensus" title="The /rfc/@consensus Attribute">
<t>
For some of the publication streams (see <xref target="attribute-submissiontype"/>),
the "Status Of This Memo" section depends on whether there was a consensus
to publish (again, see Section 3.2.2 of <xref target="RFC5741"/>).
</t>
<t>
The consensus attribute ("yes"/"no", defaulting to "yes")
can be used to supply this information. The effect for the various streams is:
</t>
<t><list style="symbols">
<t>"independent" and "IAB": none.</t>
<t>"IETF": mention that there was an IETF consensus.</t>
<t>"IRTF": mention that there was a research group consensus (where the name of the research
group is extracted from the <<xref target="element.workgroup" format="none">workgroup</xref>> element).</t>
</list></t>
</section>
</section>
<section anchor="changes.from.rfc2629" title="Changes from RFC 2629 ('v1')">
<section title="RNC Schema Differences (to be removed in RFC before publication)">
<t>
See <eref target="http://greenbytes.de/tech/webdav/draft-reschke-xml2rfc-02.html#rfc.section.E"/>
for a comparison of the schemata.
</t>
</section>
<section title="Removed Elements">
<t>
The <appendix> element has been removed; to generate an appendix,
place a <<xref target="element.section" format="none">section</xref>> inside <<xref target="element.back" format="none">back</xref>>.
</t>
</section>
<section title="Changed Defaults">
<t>
Many attributes have lost their "default" value; this is to avoid having document
semantics differ based on whether a DTD was specified and evaluated.
Processors will handle absent values the way the default value was specified before.
</t>
</section>
<section title="Changed Elements">
<t>
<<xref target="element.artwork" format="none">artwork</xref>>: Has a set of new attributes:
"name", "type", "src", "align", "alt", "width", and "height".
(<xref target="element.artwork"/>)
</t>
<t>
<<xref target="element.author" format="none">author</xref>>: The <<xref target="element.organization" format="none">organization</xref>> element
is now optional. The "role" attribute was added.
(<xref target="element.author"/>)
</t>
<t>
<<xref target="element.country" format="none">country</xref>>: The requirement to use ISO 3166 codes was
removed.
(<xref target="element.country"/>)
</t>
<t>
<<xref target="element.date" format="none">date</xref>>: All attributes are now optional.
(<xref target="element.date"/>)
</t>
<t>
<<xref target="element.figure" format="none">figure</xref>>: Has a set of new attributes:
"suppress-title", "src", "align", "alt", "width", and "height".
(<xref target="element.figure"/>)
</t>
<t>
<<xref target="element.iref" format="none">iref</xref>>: Has a new "primary" attribute.
(<xref target="element.iref"/>)
</t>
<t>
<<xref target="element.list" format="none">list</xref>>: The "style" attribute isn't restricted to a set
of enumerated values anymore. The "hangIndent" and "counter" attributes have
been added.
(<xref target="element.list"/>)
</t>
<t>
<<xref target="element.reference" format="none">reference</xref>>: <<xref target="element.annotation" format="none">annotation</xref>> allows
adding prose to a reference. The "anchor" attribute has been made mandatory.
(<xref target="element.reference"/>)
</t>
<t>
<<xref target="element.references" format="none">references</xref>>: Can now appear multiple times, and
carry a "title" attribute (so that normative and informative references
can be split).
(<xref target="element.references"/>)
</t>
<t>
<<xref target="element.rfc" format="none">rfc</xref>>: The "ipr" attribute has gained additional
values. The attributes "consensus", "iprExtract", "submissionType", and
"xml:lang" have been added.
(<xref target="element.rfc"/>)
</t>
<t>
<<xref target="element.section" format="none">section</xref>>: The new "toc" attribute controls whether
it will appear in the Table Of Contents. <<xref target="element.iref" format="none">iref</xref>>
can now appear as direct child element.
(<xref target="element.section"/>)
</t>
<t>
<<xref target="element.t" format="none">t</xref>>: The "anchor" attribute can now be used as well,
however there are restrictions on how they can be referred to.
(<xref target="element.t"/>)
</t>
</section>
<section title="New Elements">
<t>
The following elements have been added:
<<xref target="element.annotation" format="none">annotation</xref>> (<xref target="element.annotation"/>),
<<xref target="element.c" format="none">c</xref>> (<xref target="element.c"/>),
<<xref target="element.cref" format="none">cref</xref>> (<xref target="element.cref"/>),
<<xref target="element.format" format="none">format</xref>> (<xref target="element.format"/>),
<<xref target="element.spanx" format="none">spanx</xref>> (<xref target="element.spanx"/>),
<<xref target="element.texttable" format="none">texttable</xref>> (<xref target="element.texttable"/>),
<<xref target="element.ttcol" format="none">ttcol</xref>> (<xref target="element.ttcol"/>).
</t>
</section>
</section>
<section anchor="schema" title="Relax NG Schema">
<figure><iref item="rfc element"/><iref item="front element"/><iref item="title element"/><iref item="author element"/><iref item="organization element"/><iref item="address element"/><iref item="postal element"/><iref item="street element"/><iref item="city element"/><iref item="region element"/><iref item="code element"/><iref item="country element"/><iref item="phone element"/><iref item="facsimile element"/><iref item="email element"/><iref item="uri element"/><iref item="date element"/><iref item="area element"/><iref item="workgroup element"/><iref item="keyword element"/><iref item="abstract element"/><iref item="note element"/><iref item="middle element"/><iref item="section element"/><iref item="t element"/><iref item="list element"/><iref item="xref element"/><iref item="eref element"/><iref item="iref element"/><iref item="cref element"/><iref item="spanx element"/><iref item="vspace element"/><iref item="figure element"/><iref item="preamble element"/><iref item="artwork element"/><iref item="postamble element"/><iref item="texttable element"/><iref item="ttcol element"/><iref item="c element"/><iref item="back element"/><iref item="references element"/><iref item="reference element"/><iref item="seriesInfo element"/><iref item="format element"/><iref item="annotation element"/><artwork type="application/relax-ng-compact-syntax"><![CDATA[
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
rfc =
element rfc {
attribute number { text }?,
[ a:defaultValue = "" ] attribute obsoletes { text }?,
[ a:defaultValue = "" ] attribute updates { text }?,
attribute category {
"std" | "bcp" | "info" | "exp" | "historic"
}?,
attribute consensus { "no" | "yes" }?,
attribute seriesNo { text }?,
attribute ipr {
"full2026"
| "noDerivativeWorks2026"
| "none"
| "full3667"
| "noModification3667"
| "noDerivatives3667"
| "full3978"
| "noModification3978"
| "noDerivatives3978"
| "trust200811"
| "noModificationTrust200811"
| "noDerivativesTrust200811"
| "trust200902"
| "noModificationTrust200902"
| "noDerivativesTrust200902"
| "pre5378Trust200902"
}?,
attribute iprExtract { xsd:IDREF }?,
[ a:defaultValue = "IETF" ]
attribute submissionType {
"IETF" | "IAB" | "IRTF" | "independent"
}?,
attribute docName { text }?,
[ a:defaultValue = "en" ] attribute xml:lang { text }?,
front,
middle,
back?
}
front =
element front {
title,
author+,
date,
area*,
workgroup*,
keyword*,
abstract?,
note*
}
title =
element title {
attribute abbrev { text }?,
text
}
author =
element author {
attribute initials { text }?,
attribute surname { text }?,
attribute fullname { text }?,
attribute role { "editor" }?,
organization?,
address?
}
organization =
element organization {
attribute abbrev { text }?,
text
}
address =
element address { postal?, phone?, facsimile?, email?, uri? }
postal =
element postal { street+, (city | region | code | country)* }
street = element street { text }
city = element city { text }
region = element region { text }
code = element code { text }
country = element country { text }
phone = element phone { text }
facsimile = element facsimile { text }
email = element email { text }
uri = element uri { text }
date =
element date {
attribute day { text }?,
attribute month { text }?,
attribute year { text }?,
empty
}
area = element area { text }
workgroup = element workgroup { text }
keyword = element keyword { text }
abstract = element abstract { t+ }
note =
element note {
attribute title { text },
t+
}
middle = element middle { section+ }
section =
element section {
attribute anchor { xsd:ID }?,
attribute title { text },
[ a:defaultValue = "default" ]
attribute toc { "include" | "exclude" | "default" }?,
(t | figure | texttable | iref)*,
section*
}
t =
element t {
attribute anchor { xsd:ID }?,
attribute hangText { text }?,
(text
| \list
| figure
| xref
| eref
| iref
| cref
| spanx
| vspace)*
}
\list =
element list {
attribute style { text }?,
attribute hangIndent { text }?,
attribute counter { text }?,
t+
}
xref =
element xref {
attribute target { xsd:IDREF },
[ a:defaultValue = "false" ]
attribute pageno { "true" | "false" }?,
[ a:defaultValue = "default" ]
attribute format { "counter" | "title" | "none" | "default" }?,
text
}
eref =
element eref {
attribute target { text },
text
}
iref =
element iref {
attribute item { text },
[ a:defaultValue = "" ] attribute subitem { text }?,
[ a:defaultValue = "false" ]
attribute primary { "true" | "false" }?,
empty
}
cref =
element cref {
attribute anchor { xsd:ID }?,
attribute source { text }?,
text
}
spanx =
element spanx {
[ a:defaultValue = "preserve" ]
attribute xml:space { "default" | "preserve" }?,
[ a:defaultValue = "emph" ] attribute style { text }?,
text
}
vspace =
element vspace {
[ a:defaultValue = "0" ] attribute blankLines { text }?,
empty
}
figure =
element figure {
attribute anchor { xsd:ID }?,
[ a:defaultValue = "" ] attribute title { text }?,
[ a:defaultValue = "false" ]
attribute suppress-title { "true" | "false" }?,
attribute src { text }?,
[ a:defaultValue = "left" ]
attribute align { "left" | "center" | "right" }?,
[ a:defaultValue = "" ] attribute alt { text }?,
[ a:defaultValue = "" ] attribute width { text }?,
[ a:defaultValue = "" ] attribute height { text }?,
iref*,
preamble?,
artwork,
postamble?
}
preamble =
element preamble { (text | xref | eref | iref | cref | spanx)* }
artwork =
element artwork {
[ a:defaultValue = "preserve" ]
attribute xml:space { "default" | "preserve" }?,
[ a:defaultValue = "" ] attribute name { text }?,
[ a:defaultValue = "" ] attribute type { text }?,
attribute src { text }?,
[ a:defaultValue = "left" ]
attribute align { "left" | "center" | "right" }?,
[ a:defaultValue = "" ] attribute alt { text }?,
[ a:defaultValue = "" ] attribute width { text }?,
[ a:defaultValue = "" ] attribute height { text }?,
text*
}
postamble =
element postamble { (text | xref | eref | iref | cref | spanx)* }
texttable =
element texttable {
attribute anchor { xsd:ID }?,
[ a:defaultValue = "" ] attribute title { text }?,
[ a:defaultValue = "false" ]
attribute suppress-title { "true" | "false" }?,
[ a:defaultValue = "center" ]
attribute align { "left" | "center" | "right" }?,
[ a:defaultValue = "full" ]
attribute style { "all" | "none" | "headers" | "full" }?,
preamble?,
ttcol+,
c*,
postamble?
}
ttcol =
element ttcol {
attribute width { text }?,
[ a:defaultValue = "left" ]
attribute align { "left" | "center" | "right" }?,
text
}
c = element c { (text | xref | eref | iref | cref | spanx)* }
back = element back { references*, section* }
references =
element references {
[ a:defaultValue = "References" ] attribute title { text }?,
reference+
}
reference =
element reference {
attribute anchor { xsd:ID },
attribute target { text }?,
front,
seriesInfo*,
format*,
annotation*
}
seriesInfo =
element seriesInfo {
attribute name { text },
attribute value { text },
empty
}
format =
element format {
attribute target { text }?,
attribute type { text },
attribute octets { text }?,
empty
}
annotation =
element annotation { (text | xref | eref | iref | cref | spanx)* }
start = rfc
]]></artwork></figure>
<t>
(This schema was derived from version 1.3.6 of the xml2rfc DTD ('Document Type
Definition', <xref target="XML"/>, Section 2.8),
available from <eref target="http://svn.tools.ietf.org/svn/tools/xml2rfc/vocabulary/v2/03/xml2rfcv2.dtd"/>).
</t>
<section anchor="checking.validity" title="Checking Validity">
<t>
The validity of XML files can be checked with any tool that supports Relax NG
(<xref target="RNC"/>). The reference implementation is the Java-based, open
sourced "JING" (<xref target="JING"/>).
</t>
<t>
To use JING, download the latest ZIP file from the "downloads" page
(currently <eref target="https://code.google.com/p/jing-trang/downloads/detail?name=jing-20091111.zip"/>),
extract the archive, copy "jing.jar" from the "bin" folder, and make
sure Java is installed).
</t>
<t>
To check a file "test.xml" using the RNC file "schema.rnc", run (from a command
line prompt):
</t>
<figure><artwork type="example"><![CDATA[
java -jar jing.jar -c schema.rnc test.xml
]]></artwork></figure>
<t>
In good Unix tradition, no output means the file is valid.
</t>
</section>
</section>
<section anchor="acknowledgements" title="Acknowledgments">
<t>
Thanks to everybody who reviewed this document and provided feedback and/or
specification text, in particular Brian Carpenter, Elwyn Davies, Tony Hansen,
Joe Hildebrand, Paul Hoffman, Henrik Levkowetz, Alice Russo, Tom Taylor, Dave Thaler,
Jim Schaad, and Nico Williams.
</t>
<t>
We also thank Marshall T. Rose for both the original design and the reference
implementation of the "xml2rfc" formatter.
</t>
</section>
</back>
</rfc>| PAFTECH AB 2003-2026 | 2026-04-24 10:03:50 |