<?xml version='1.0' encoding='utf8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.9 -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc text-list-symbols="*-+o"?>
<rfc ipr="trust200902" docName="draft-levkowetz-xml2rfc-v3-implementation-notes-04" category="info" obsoletes="" updates="" submissionType="IETF" xml:lang="en">
   <front>
      <title abbrev="RFC7991 Implementation Notes">Implementation notes for RFC7991, "The 'xml2rfc' Version 3 Vocabulary"</title>
      <author initials="H." surname="Levkowetz" fullname="Henrik Levkowetz">
	 <organization>Elf Tools AB</organization>
	 <address>
	    <postal>
	       <street>Ollonstigen 8</street>
	       <country>Sweden</country>
	    </postal>
	    <email>henrik@levkowetz.com</email>
	 </address>
      </author>
      <date/>
      <abstract>
	 <t>

	    This memo documents issues and observations found while implementing RFC 7991.
	    Individual notes are organised into separate sections, depending on their character.

	 </t>
      </abstract>
   </front>
   <middle>
      <section anchor="introduction" title="Introduction" numbered="true" toc="default">
	 <t>

	    Implementation of tool support for <xref target="RFC7991" pageno="false" format="default"/> and related specifications has
	    been done during 2017 and 2018, split in the following individual parts, all
	    implemented as individual modes of the python-based xml2rfc processor
	    <xref target="XML2RFC" pageno="false" format="default"/>:

	 </t>
	 <t>
	    <list style="symbols">
	       <t>An XML converter from vocabulary version 2 <xref target="RFC7749" pageno="false" format="default"/> to version 3 <xref target="RFC7991" pageno="false" format="default"/> </t>
	       <t>A Normalisation processor, "PrepTool", <xref target="RFC7997" pageno="false" format="default"/> </t>
	       <t>An XML to plain text converter <xref target="RFC7994" pageno="false" format="default"/> for the version 3 vocabulary</t>
	       <t>An XML to html converter <xref target="RFC7992" pageno="false" format="default"/> for the version 3 vocabulary (work in progress as of 28 Sep. 2018)</t>
	       <t>A HTML to PDF converter <xref target="RFC7995" pageno="false" format="default"/> for the version 3 vocabulary (pending as of 28 Sep. 2018)</t>
	    </list>

	 </t>
	 <t>

	    During the implementation work, a number of issues with the specification has
	    been found (this was expected at the outset by all parties) and a number of
	    observations has been made about limitations of the specification and vocabulary
	    version 3 schema, and also limitations in the specification of the work to be
	    done.

	 </t>
	 <t>

	    The purpose of this memo is to collect those issues and observations in one place.

	 </t>
	 <t>

	    When this memo says 'the current version of xml2rfc', it refers to
	    the latest release of the xml2rfc processor available from
	    <eref target="https://pypi.org/pypi/xml2rfc">the PyPi package repository</eref>
	    at the date this document was published, as
	    given above.  As of 28 Sep. 2018, this was version 2.10.3.

	 </t>
      </section>
      <section anchor="fitness-for-purpose" title="Fitness for Purpose" numbered="true" toc="default">
	 <t>The introduction to <xref target="RFC7991" pageno="false" format="default"/> states:</t>
	 <t>
	    <list style="empty">
	       <t>

		  "This document defines the "xml2rfc" version 3 vocabulary: an
		  XML-based language used for writing RFCs and Internet-Drafts.  It is
		  heavily derived from the version 2 vocabulary that is also under
		  discussion.  This document obsoletes the v2 grammar described in
		  RFC 7749."

	       </t>
	    </list>
	 </t>
	 <t>

	    However, an unstated assumption seems to have been that the new tools and
	    formatters would be used primarily to produce HTML output, in order to
	    transition to publication of renderings of RFCs in more modern formats than
	    plain-text ASCII.

	 </t>
	 <t>

	    This is a reasonable and worthwhile goal, but as a result, the schema as
	    specified in <xref target="RFC7991" pageno="false" format="default"/> has some drawbacks compared with the version 2
	    vocabulary when used to produce Internet-Drafts in the text format common
	    within the IETF (Internet Engineering Task Force) at this time.



	 </t>
	 <section title="Degraded Table of Contents" numbered="true" toc="default" >
	    <t>

	       Lack of pagination has little impact on direct online readability, but when
	       comparing the output of the new text formatter with the old one, one aspect
	       leaps out:  Since there is no pagination, the table of contents simply lists
	       the section headers to a certain depth, without any accompanying page numbers.
	       This makes a surprising difference in how useful the table of contents is in
	       getting an initial feel for the document.  The at-a-glance information which
	       lets a reader know if this is a document of 10 pages or 100 is simply lacking.

	    </t>
	    <t>

	       <list style="hanging">
		  <t hangText="Proposal:">

		     Add support for pagination in a future version of the text
		     formatter.

		  </t>
		  <t hangText="Implementation:">

		     None in the current version of xml2rfc.

		  </t>
	       </list>

	    </t>
	 </section>
	 <section title="RFC Publication Date Policy" numbered="true" toc="default" >
	    <t>

	       The specification <xref target="RFC7998" pageno="false" format="default"/> says that an error should be generated if a
	       &lt;date&gt; specification is found with missing elements; but the RFC Editor
	       publishes documents (except for April 1st RFCs) with only year and month, no
	       day of month.  The specification disallows this, and in effect makes it
	       impossible for the RFC Editor to publish documents according to the current
	       policy regarding publication date format.

	    </t>
	    <t>

	       <list style="hanging">
		  <t hangText="Proposal:">


		     Revert to to the old behaviour, where the tool in RFC mode would issue
		     a date with or without day depending on whether the &lt;date&gt; element had
		     a day attribute or not.

		  </t>
		  <t hangText="Implementation:">

		     All elements of &lt;date&gt; are required in the current version of xml2rfc.

		  </t>
	       </list>

	    </t>
	 </section>
      </section>
      <section anchor="issues-with-the-schema" title="Schema Issues" numbered="true" toc="default">
	 <section anchor="rfc-7991" title="RFC 7991" numbered="true" toc="default">
	    <section title="In Section 2.5.5, &quot;name&quot; Attribute" numbered="true" toc="default" >
	       <t>

		  <list style="empty">
		     <t>

			"A filename suitable for the contents (such as for extraction to a local
			file)."

		     </t>
		  </list>

	       </t>
	       <t>

		  Given the existing use of "name" on &lt;seriesInfo&gt;, this attribute name has a
		  semantic dissonance.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Deprecate "name" for use on &lt;artwork&gt; and &lt;sourcecode&gt;,
			and instead use "file", which for &lt;sourcecode&gt; will be explicitly rendered,
			as established as best current practice for YANG modules (see for
			instance RFC 6087 <xref target="RFC6087" pageno="false" format="default"/>)

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc uses "name".

		     </t>
		     <t hangText="Resolution:">

			The attribute "name" was used for this purpose already in v2 of the
			vocabulary.  Closed with no action.

		     </t>
		  </list>

	       </t>
	       <t>

		  This issue is tracked as <eref target="https://github.com/rfc-format/draft-iab-xml2rfc-v3-bis/issues/36">github issue #36</eref>

	       </t>
	    </section>
	    <section title="In Section 2.6, &lt;aside&gt;" numbered="true" toc="default" >
	       <t>

		  The schema permits &lt;list&gt; inside &lt;aside&gt;, but &lt;list&gt;
		  is deprecated, and &lt;aside&gt; is a new vocabulary v3 element, so
		  they should never be able to occur together, it seems to me.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Don't permit &lt;list&gt; inside &lt;aside&gt;.

		     </t>
		     <t hangText="Implementation:">

			Implemented in the current version of xml2rfc.

		     </t>
		  </list>
	       </t>
	    </section>
	    <section title="In Section 2.12, &lt;br&gt;" numbered="true" toc="default" >
	       <t>

		  A number of elements permits a mixed content model (see <xref target="mixed-content-model"/>):
		  &lt;li&gt;, &lt;blockquote&gt;, &lt;dd&gt;, &lt;td&gt;, and &lt;th&gt;.  However, when using the simpler
		  of the two content schemas, two of them (&lt;td&gt; and &lt;th&gt;) permit inline
		  line breaks through the use of &lt;br&gt; elements; the others do not.  This seems 
		  terribly arbitrary.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Remove the &lt;br&gt; element completely.  Alternatively, permit it to be used all
			places that 'text' and non-block elements may be used (that is, in
			inline context).

		     </t>
		     <t hangText="Resolution:">

			The &lt;br&gt; element is to be removed from the schema completely.

		     </t>
		  </list>

	       </t>
	       <t>

		  This issue is tracked as <eref target="https://github.com/rfc-format/draft-iab-xml2rfc-v3-bis/issues/37">github issue #37</eref>

	       </t>
	    </section>
	    <section title="In Section 2.20, &lt;dl&gt;" numbered="true" toc="default" >
	       <t>

		  The current specification says:

	       </t>
	       <t>

		  <list style="empty">
		     <t>

			"The "hanging" attribute defines whether or not the term appears on the same
			line as the definition.  hanging="true" indicates that the term is to the
			left of the definition, while hanging="false" indicates that the term will
			be on a separate line."

		     </t>
		  </list>

	       </t>
	       <t>

		  This does not match established typographic terminology.  In typographic
		  terminology, "hanging indent" describes the case where the indentation of the
		  second and subsequent lines of a paragraph is greater than the indentation of
		  the first line.  Whether the definition in a definition list starts on the
		  first line or not has nothing to do with the presence of hanging indent; our
		  definition lists will <spanx style="emph" xml:space="preserve">always</spanx> have hanging indent.

	       </t>
	       <t>

		  The 'hanging' attribute also describes something different from what the term
		  has been used to describe in the version 2 vocabulary.  This will be confusing
		  to users.

	       </t>
	       <t>

		  A more descriptive name for the attribute we're talking about would be
		  'start-definition-on-first-line', but that's unwieldy.  Maybe
		  'newline="false"' to start the definition on the first line, or something
		  like 'definition-start="first"'?

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Change this to a different term that is more descriptive and does not
			use typographically incorrect terminology.

		     </t>
		     <t hangText="Resolution:">

			The "hanging" attribute will be renamed to "newline".

		     </t>
		  </list>
	       </t>
	       <t>

		  This issue is tracked as <eref target="https://github.com/rfc-format/draft-iab-xml2rfc-v3-bis/issues/38">github issue #38</eref>

	       </t>
	    </section>
	    <section anchor="new-dl-attribute-indent" title="New Section 2.20.4, &quot;indent&quot; Attribute" numbered="true" toc="default">
	       <t>

		  The deprecation of the "hangIndent" attribute on &lt;list&gt; leaves no opportunity
		  to control the size of the hanging indent.  In some definition lists, it is
		  desirable to have a wide indentation, in order to clearly show the terms, in
		  other cases it is more important to allow for a larger text volume than the
		  width of the terms would allow.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Add an "indent" attribute on &lt;dl&gt; to control the size of the hanging
			indent.

		     </t>
		     <t hangText="Resolution:">

			An "indent" attribute will be added on &lt;dl&gt; to control the size of the hanging
			indent.  The value will signify the number of character positions in text/plain
			rendering, and a count of 0.5em distances in richer renderings.

		     </t>
		  </list>

	       </t>
	       <t>

		  This issue is tracked as <eref target="https://github.com/rfc-format/draft-iab-xml2rfc-v3-bis/issues/39">github issue #39</eref>

	       </t>
	    </section>
	    <section title="New Section 2.54.2" numbered="true" toc="default" >
	       <t>

		  The version 3 schema deprecates the previously available 'align' attribute for
		  the tables, and the V2 to V3 converter will remove this attributes if used.
		  This makes a previous feature that was appreciated by some authors
		  unavailable.  In the text formatter, the effect is simply to make all tables
		  left-aligned, which may not be the most readable and polished
		  output, but for the HTML formatter it also potentially removes the option of
		  letting text flow around smaller tables in a controlled way.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Make the 'align' attribute for tables available again.

		     </t>
		     <t hangText="Resolution:">

			An attribute "align" will be re-introduced for table alignment, with the
			possible values "left", "center", and "right".

		     </t>
		  </list>

	       </t>
	       <t>

		  This issue is tracked as <eref target="https://github.com/rfc-format/draft-iab-xml2rfc-v3-bis/issues/40">github issue #40</eref>

	       </t>
	    </section>
	    <section anchor="in-section-229-li" title="In Section 2.29, &lt;li&gt;" numbered="true" toc="default">
	       <section title="Unordered lists with arbitrary symbols" numbered="true" toc="default" >
		  <t>

		     When &lt;li&gt; is used with &lt;ul empty="true"&gt;, the rendering is under-specified
		     (the specification says 'no label will be shown", but doesn't say whether list
		     indentation (leading white-space) should be eliminated or not.

		  </t>
		  <t>

		     If the intention is to make it possible to render unordered lists with
		     arbitrary symbols, chosen on a per-list-item basis, the current attributes of
		     &lt;li&gt; are insufficient to indent and line-wrap list items properly with &lt;ul
		     empty='true'&gt;.

		  </t>
		  <t>

		     It is not possible, for instance, to use &lt;ul&gt; lists to generate XML for a
		     table of content, since if the width of the bullet (the section number, in this
		     case) is unknown, the proper indentation and line wrapping cannot be
		     determined.

		  </t>
		  <t>

		     <list style="hanging">
			<t hangText="Proposal:">

			   Add an explicit "bullet" attribute to support this use case.

			</t>
			<t hangText="Resolution:">

			   Rejected.

			</t>
		     </list>

		  </t>
		  <t>

		     This issue is tracked as <eref target="https://github.com/rfc-format/draft-iab-xml2rfc-v3-bis/issues/45">github issue #45</eref>

		  </t>
	       </section>
	       <section anchor="mixed-content-model" title="Mixed Content Model" numbered="true" toc="default" >
		  <t>

		     The mixed content model for &lt;li&gt; —- either text and inline elements like sub,
		     sup, bcp14, <spanx style="emph" xml:space="preserve">or</spanx> &lt;t&gt;, &lt;ul&gt;, &lt;figure&gt; etc, is non-intuitive and may be hard for
		     users to keep straight.

		  </t>
		  <t>

		     <list style="hanging">
			<t hangText="Proposal:">

			   Consider simplifying the schema by requiring that text and inline elements
			   always are placed within a &lt;t&gt; element.

			</t>
			<t hangText="Resolution:">

			   Rejected.

			</t>
		     </list>

		  </t>
		  <t>

		     This would apply also to other elements that today have alternative content
		     models: &lt;blockquote&gt;, &lt;dd&gt;, &lt;td&gt;, and &lt;th&gt;.

		  </t>
		  <t>
		     This issue is tracked as <eref target="https://github.com/rfc-format/draft-iab-xml2rfc-v3-bis/issues/46">github issue #46</eref>
		  </t>
	       </section>
	    </section>
	    <section title="In Section 2.32, &lt;name&gt;" numbered="true" toc="default" >
	       <t>

		  So the &lt;name&gt; element can contain text or &lt;tt&gt;, and &lt;tt&gt; can contain other
		  markup like &lt;sub&gt; and &lt;sup&gt; etc., but why cannot &lt;name&gt; contain &lt;sup&gt; etc.
		  directly?

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Change the &lt;name&gt; element schema to permit all inline elements that &lt;tt&gt;
			can contain, in addition to &lt;tt&gt;. 

		     </t>
		     <t hangText="Resolution:">

			Accepted.

		     </t>
		  </list>

	       </t>
	       <t>
		  This issue is tracked as <eref target="https://github.com/rfc-format/draft-iab-xml2rfc-v3-bis/issues/47">github issue #47</eref>
	       </t>
	    </section>

	    <section title="In Section 2.32, &lt;organization&gt;" numbered="true" toc="default" >
	       <t>

		  The schema provides for extra attributes: "ascii" and "abbrev".  Why no "asciiAbbrev" for the case
		  when the name and abbreviation has non-ascii characters?

	       </t>
	       <t>
		  <list style="hanging">
		     <t hangText="Proposal:">

			Add an attribute "asciiAbbrev" for &lt;organization&gt;, to provide abbreviated
			organization names in both ascii and non-ascii contexts.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc supports "asciiAbbrev".

		     </t>
		  </list>
		  </t>
	    </section>

	    <section title="In Section 2.40.2, &quot;quoteTitle&quot;" numbered="true" toc="default" >
	       <t>

		  The version two xml2rfc processors already support the attribute "quote-title".  The
		  attribute name change introduces an incompatibility.  This in particular impacts
		  existing bibxml reference files, which should work with both version 2 and 3
		  vocabulary documents.

	       </t>
	       <t>
		  <list style="hanging">
		     <t hangText="Proposal:">

			Change the attribute name back to the value supported by the vocabulary
			version 2 modes of xml2rfc.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc converts "quote-title" to "quoteTitle"
			during v2v3 conversion, but this is really sub-optimal.

		     </t>
		  </list>
	       </t>
	       <t>

		  This issue is tracked as <eref target="https://github.com/rfc-format/draft-iab-xml2rfc-v3-bis/issues/48">github issue #48</eref>

	       </t>
	    </section>
	    <section title="In Section 2.42, &lt;references&gt;" numbered="true" toc="default" >
	       <t>

		  The v3 schema cannot properly model multiple reference subsections contained
		  within one numbered section.  The v2 formatter handled this by silently
		  inserting an enclosing section, but with the introduction of the preptool,
		  which in theory should produce a master file from which various formatters
		  would produce equivalent results, this becomes troublesome, as the automatic
		  insertion of a container section is specified for the html formatter, in
		  section 9.8. of RFC 7992, but not for the text formatter.  It would be much
		  better to make the prepped xml explicitly show exactly what should be
		  rendered, and not rely on formatters silently insert elements.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Update the schema to make it possible for &lt;references&gt; to contain
			&lt;references&gt;, and have the prepped xml explicitly show both the
			encapsulating section and the subsections.

		     </t>
		     <t hangText="Resolution:">

			Accepted.

		     </t>
		  </list>

	       </t>
	       <t>

		  This issue is tracked as <eref target="https://github.com/rfc-format/draft-iab-xml2rfc-v3-bis/issues/49">github issue #49</eref>

	       </t>
	    </section>
	    <section anchor="rfc-category-attribute" title="In Section 2.45.1, &quot;category&quot; Attribute" numbered="true" toc="default">
	       <t>

		  Changing the "category" attribute of &lt;rfc&gt; to a name value in an additional
		  &lt;seriesInfo&gt; makes it much harder than it needs to be to look it up.  It also
		  makes the semantics of &lt;seriesInfo&gt; less clear.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Remove this, and keep the "category" attribute on &lt;rfc&gt;

		     </t>
		     <t hangText="Implementation:">

			The "category" attribute on &lt;rfc&gt; has been kept in the current
			version of xml2rfc, but the additional &lt;seriesInfo&gt; is also
			generated during v2v3 conversion.  For purposes of determining the
			category to render, the attribute on &lt;rfc&gt; is the one used.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section anchor="rfc-docname-attribute" title="In Section 2.45.3, &quot;docName&quot; Attribute" numbered="true" toc="default">
	       <t>

		  Changing the "docName" attribute of &lt;rfc&gt; to a name value in an
		  additional &lt;seriesInfo&gt; makes it much harder than it needs to be to look
		  it up.  It also makes the semantics of &lt;seriesInfo&gt; even less clear.
		  See also <xref target="link-processing" pageno="false" format="default"/>.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Remove this, and keep the "docName" attribute on &lt;rfc&gt;

		     </t>
		     <t hangText="Implementation:">

			The "docName" attribute on &lt;rfc&gt; has been kept in the current
			version of xml2rfc.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section anchor="rfc-number-attribute" title="In Section 2.45.7, &quot;number&quot; Attribute" numbered="true" toc="default">
	       <t>

		  The RFC number attribute in the &lt;rfc&gt; element is used as a switch to control
		  whether an RFC or an Internet-Draft is produced.  Moving what is effectively
		  an important controlling switch for the operation of the formatters from the
		  main element down into what is arguably an obscure combination of attribute
		  values on a &lt;seriesInfo&gt; element several levels down from the main element
		  feels wrong.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Don't deprecate the number attribute on &lt;rfc&gt;, but require that the
			preptool checks that the number attribute matches what's in the
			&lt;seriesInfo&gt; set.  Explicitly mention that the presence of the
			number attribute on &lt;rfc&gt; causes the generation of an RFC rather
			than an Internet-Draft by the formatters.

		     </t>
		     <t hangText="Implementation:">

			In The current version of xml2rfc, the number attribute on &lt;rfc&gt; is used
			to determine whether to produce an RFC or Internet-Draft.  If &lt;seriesInfo&gt;
			elements are found, but no &lt;seriesInfo&gt; with name="RFC" and value set to
			the number is found, a warning is given.  If no &lt;seriesInfo&gt; elements are
			found, the appropriate elements, including one giving the RFC number, is
			inserted.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section anchor="in-section-2533-and-2534" title="In Section 2.53.3 and 2.53.4." numbered="true" toc="default">
	       <section title="Unnecessary limitation on where the &quot;keepWithNext&quot; attribute can be used" numbered="true" toc="default" >
		  <t>

		     Why keepWithNext only on &lt;t&gt;?  It would be very natural to expect to be able
		     to say keepWithNext for 2 tables, or 2 figures, or 2 lists?

		  </t>
		  <t>

		     <list style="hanging">
			<t hangText="Proposal:">

			   Permit keepWithNext on all elements that can be siblings to &lt;t&gt;.

			</t>
			<t hangText="Implementation:">

			   Not in the current version of xml2rfc.

			</t>
		     </list>

		  </t>
	       </section>
	       <section anchor="keepwithprevious-violates-kiss-and-dry" title="Violation of KISS and DRY principles" numbered="true" toc="default">
		  <t>

		     keepWithNext on one element is equivalent with keepWithPrevious on the
		     following element, provided the following element can have a
		     keepWithPrevious attribute.  Providing both violates both KISS <xref target="KISS" pageno="false" format="default"/> and DRY (Don't Repeat Yourself) <xref target="DRY" pageno="false" format="default"/>.

		  </t>
		  <t>

		     <list style="hanging">
			<t hangText="Proposal:">

			   Keep only one of these two attributes, preferably keepWithNext.

			</t>
			<t hangText="Implementation:">

			   Not in the current version of xml2rfc.

			</t>
		     </list>

		  </t>
	       </section>
	    </section>
	    <section title="New Section 2.X, &lt;u&gt;" numbered="true" toc="default" >
	       <t>

		  Thinking about being able to issue warnings both during xml2rfc processing
		  and when running idnits, it seems very hard to distinguish between intentional
		  and non-intentional inclusion of non-ASCII characters in document text.

	       </t>
	       <t>

		  In addition to the problem of correctly detecting non-intentional use of Unicode
		  characters, there is also the issue (for authors) of correctly converting given
		  Unicode characters to one of the forms recommended in <xref target="RFC7997" pageno="false" format="default"/>, and the issue (for idnits) of verifying that
		  any Unicode characters or strings are correctly represented as Unicode code-point
		  values next to the literal character or string.

	       </t>
	       <t>

		  One solution to this could be to not try to guess, or establish heuristics, but
		  instead use a v3 schema element with preptool validation to ensure a
		  straightforward solution to all the issues, as follows:

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Limit the arbitrary placement of Unicode characters and strings in the
			body of a document, and control the expansion of the Unicode code-points
			by requiring that Unicode characters and strings be placed within a
			specific element if they are to occur in the body of a document.  The
			following text is proposed for inclusion in RFC 7991-bis as a new
			section:

		     </t>
		  </list>

	       </t>
	       <t>

		  The &lt;u&gt; element contains a Unicode string which will be rendered
		  according to one of the 6 methods of Unicode renderings listed in <xref target="RFC7997" pageno="false" format="default"/>, Section 3.4.

	       </t>
	       <t>

		  In xml2rfc vocabulary version 3, the elements &lt;author&gt;,
		  &lt;organisation&gt;, &lt;street&gt;, &lt;city&gt;, &lt;region&gt;,
		  &lt;code&gt;, &lt;country&gt;, &lt;postalLine&gt;, &lt;email&gt;, and
		  &lt;seriesInfo&gt; may contain non-ascii characters for the purpose of
		  rendering author names, addresses, and reference titles correctly.  They also
		  have an additional "ascii" attribute for the purpose of proper rendering in
		  ascii-only media.

	       </t>
	       <t>

		  However, in order to insert Unicode characters in any other context, xml2rfc
		  vocabulary v3 requires that the Unicode string be enclosed within an &lt;u&gt;
		  element.  The element will be expanded inline based on the value of an attribute
		  named "expansion" as follows.  Given an element &lt;u expansion="..."&gt;Δ&lt;/u&gt;
		  in an example sentence:

	       </t>
	       <t>
		  <list style="hanging">
		     <t hangText="expansion=&quot;numeric-literal&quot;:">
			<vspace blankLines="0"/>
			Temperature changes in the Temperature Control Protocol are
			indicated by the U+2206 character ("Δ").</t>
		     <t hangText="expansion=&quot;numeric-name&quot;:">
			<vspace blankLines="0"/>
			Temperature changes in the Temperature Control Protocol are
			indicated by the U+2206 character (INCREMENT).</t>
		     <t hangText="expansion=&quot;numeric-literal-name&quot;:">
			<vspace blankLines="0"/>
			Temperature changes in the Temperature Control Protocol are
			indicated by the U+2206 character ("Δ", INCREMENT).</t>
		     <t hangText="expansion=&quot;numeric-name-literal&quot;:">
			<vspace blankLines="0"/>
			Temperature changes in the Temperature Control Protocol are
			indicated by the U+2206 character (INCREMENT, "Δ").</t>
		     <t hangText="expansion=&quot;name-literal-numeric&quot;:">
			<vspace blankLines="0"/>
			Temperature changes in the Temperature Control Protocol are
			indicated by the "Delta" character "Δ" (U+2206).</t>
		     <t hangText="expansion=&quot;literal-name-numeric&quot;:">
			<vspace blankLines="0"/>
			Temperature changes in the Temperature Control Protocol are
			indicated by the character "Δ" (INCREMENT, U+2206).</t>
		  </list>
	       </t>
	       <t>

		  If the &lt;u&gt; element encloses a Unicode string, the rendering
		  reflects this.  The element &lt;u expansion="numeric-literal"&gt;ᏚᎢᎵᎬᎢᎬᏒ&lt;/u&gt; 
		  will be expanded to 'the characters U+13DA U+13A2 U+13B5 U+13AC U+13A2 U+13AC U+13D2 ("ᏚᎢᎵᎬᎢᎬᏒ")'

	       </t>
	       <t>

		  Unicode characters which are not enclosed in one of the elements mentioned
		  above will be replaced with a question mark (?) and a warning will be issued.

	       </t>
	    </section>
	    <section title="In Section 2.63.2, &lt;ul&gt; &quot;empty&quot; attribute" numbered="true" toc="default" >
	       <t>

		  In v2, this results in a list using space as the bullet, thus each list entry
		  is indented as with other bullet symbols.  However, this leaves no way to get
		  list entries with arbitrary text that are not indented, in order to produce
		  lists such as that used in Table of Content and Index.

	       </t>
	       <t>

		  Furthermore, the specification does not indicate if &lt;ul empty="true"&gt; should
		  be rendered with space as a bullet, or without any bullet and indentation.
		  A clarification would be good.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Specify that in text output, &lt;ul empty="true"&gt; should
			be rendered without any bullet and indentation.  In order to
			produce unordered lists that are indented, the "bullet" attribute
			mentioned in <xref target="in-section-229-li" pageno="false" format="default"/> with a white-space
			bullet could be used.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc introduces a new attribute "bare" with the possible
			values "false" | "true" to signal this.  The default is "true" (which differs
			from the default v2 implementation).  Using the extra attribute "bare" works,
			but is maybe clumsier than necessary.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 3.4.2, &quot;hangIndent&quot; Attribute" numbered="true" toc="default" >
	       <t>

		  <list style="empty">
		     <t>

			"Deprecated.  Use &lt;dl&gt; instead."

		     </t>
		  </list>

	       </t>
	       <t>

		  This causes capability loss.  The "hangIndent" attribute did not only signal
		  that hanging indent should be used, but also gave the size of the indent.  No
		  equivalent control has been provided for the &lt;dl&gt; element in the version 3
		  vocabulary.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Provide an attribute "indent" on &lt;dl&gt; as
			suggested in <xref target="new-dl-attribute-indent" pageno="false" format="default"/>.

		     </t>
		     <t hangText="Implementation:">

			Not in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Appendix C.  Relax NG schema" numbered="true" toc="default" >
	       <t>

		  The "colspan" attribute is given a default value of "0", this should be "1".
		  "0" is not otherwise defined in the text, and the only reasonable
		  interpretation would be to hide the cell (make it occupy zero columns).

	       </t>
	       <t>

		  The "rowspan" attribute is given a default value of "0", this should be "1".
		  "0" is not otherwise defined in the text, and the only reasonable
		  interpretation would be to hide the cell (make it occupy zero rows).

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Change the default values of "colspan" and "rowspan" to 1.

		     </t>
		     <t hangText="Implementation:">

			Done in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section anchor="use-of-the-term-counter" title="Use of the term &quot;counter&quot;." numbered="true" toc="default">
	       <t>

		  The classical meaning of this term is a a monotonically increasing sequence of
		  integers, globally unique or unique within a context.  In this document, it is
		  instead meant to indicate section, table, figure numbers, which for sections
		  are not plain counters.

	       </t>
	       <t>

		  To make more interesting, in other contexts in the document, the notation
		  "-nnn", which also would normally indicate a dash followed by digits, i.e., 
		  a counter, is also re-interpreted to include section numbers; strings of
		  numbers including embedded period signs.  This is bad terminology.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Instead of "counter", use "number" as the attribute value, and
			explicitly say "Section number, Figure number, Table number or ordered
			list labels" in the description.  Use "-n.n" instead of "-nnn".

		     </t>
		     <t hangText="Implementation:">

			Not in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	    </section>
	 </section>
	 <section anchor="rfc-7998" title="RFC 7998" numbered="true" toc="default">
	    <section anchor="attribute-default-value-insertion" title="In Section 5.2.6, Attribute Default Value Insertion" numbered="true" toc="default">
	       <t>

		  The &lt;seriesInfo&gt; "stream" attribute has a default value of "IETF".  The
		  effect of setting default values after the XInclude processing is to set
		  stream="IETF" on all reference &lt;seriesInfo&gt; which don't have a stream set.
		  This is probably not right.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Remove the default value for the "stream" attribute from the
			&lt;seriesInfo&gt; element in the v3 schema.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc removes the default value for the
			"stream" attribute from the schema.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.4.6, &quot;pn&quot; Numbering." numbered="true" toc="default" >
	       <t>

		  The list of elements that are given p- or paragraph tags is severely limited,
		  and since the presence of a pn= attribute is required in order to make
		  internal &lt;xref&gt; instances work, this limits the elements to which it is
		  possible to reference with html fragment identifiers.  Why?<vspace blankLines="0"/>
		  Why is &lt;dt&gt; and &lt;li&gt; present, but not &lt;ol&gt;, &lt;dl&gt;, &lt;ul&gt;?

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Permit and provide "pn" numbers of type 'paragraph-nnn' for all
			block-level elements that don't have "pn" numbers otherwise specified.

		     </t>
		     <t hangText="Implementation:">

			Not in the current version of xml2rfc, but the current version adds p-
			numbering to &lt;list&gt;, &lt;dl&gt;, &lt;dd&gt;, &lt;ol&gt;,
			&lt;ul&gt;, which all are allowed to have pn= attributes according to
			the schema.

		     </t>
		  </list>

	       </t>
	    </section>
	 </section>
	 <section anchor="pn-value-type" title="Some attributes should have value type xsd:ID">
	    <t>

	       In generated HTML, the values set for "pn" and "slugifiedName" will be used as
	       link targets, which makes a type of xsd:ID appropriate in the input format.

	    </t>
	    <t>

	       Additionally, if Table of Contents and Index is generated internally
	       as XML, and rendered by the various renderers to appropriate formats, the &lt;xref&gt;
	       entries will have target values (defined as type xsd:IDREF) referencing "pn" and
	       "slugifiedName" values, which means that the XML will be invalid if these are not
	       of type xsd:ID.

	    </t>
	    <t>
	       <list style="hanging">
		  <t hangText="Proposal:">

		     Change the "pn" and "slugifiedName" to type xsd:ID.

		  </t>
		  <t hangText="Implementation:">

		     Implemented in the current version of xml2rfc.

		  </t>
	       </list>
	    </t>
	 </section>
      </section>
      <section anchor="non-schema-issues" title="Non-Schema Issues" numbered="true" toc="default">
	 <section anchor="rfc-7991-1" title="RFC 7991" numbered="true" toc="default">
	    <section anchor="in-section-257-type-attribute" title="In Section 2.5.7, &quot;type&quot; Attribute" numbered="true" toc="default">
	       <section title="How should a &quot;src&quot; attribute be handled when no &quot;type&quot; is given." numbered="true" toc="default" >
		  <t>

		     The v3 schema does not require the 'type' attribute on &lt;artwork&gt; to have a
		     value, which makes sense when there's no &lt;artwork&gt; 'src' attribute to
		     include.  But if there is a 'src' attribute, but no value for 'type', how
		     should the 'src' value be handled?

		  </t>
		  <t>

		     The easiest and most explicit handling would be to require a 'type' value if
		     there is a 'src' attribute; a more doubtful alternative would be to use
		     something like the Linux file magic command to try to guess at the content
		     type that 'src' points at.

		  </t>
		  <t>

		     <list style="hanging">
			<t hangText="Proposal:">

			   Warn if there is a 'src' and no 'type' value, and ignore the 'src'
			   in that case.

			</t>
			<t hangText="Implementation:">

			   The current version of xml2rfc implements this as proposed.

			</t>
		     </list>

		  </t>
	       </section>
	       <section title="Missing information on how to handle various types" numbered="true" toc="default" >
		  <t>

		     <list style="empty">
			<t>

			   "The RFC Series Editor will maintain a complete list of the preferred
			   values on the RFC Editor web site, and that list is expected to be
			   updated over time.  Thus, a consumer of v3 XML should not cause a
			   failure when it encounters an unexpected type or no type is
			   specified.  The table will also indicate which type of art can appear
			   in plain-text output (for example, type="svg" cannot)."

			</t>
		     </list>

		  </t>
		  <t>

		     The RFC Series Editor has not yet provided such a table.  It is definitely
		     desired, in order to be able to deal correctly with plain-text output.

		  </t>
	       </section>
	    </section>
	    <section title="New Section 2.8.1: Index" numbered="true" toc="default" >
	       <t>

		  There is no guidance on the structure of an index, if one is to be generated
		  by the preptool.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Please provide specification.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc provides the generation of
			index elements in the prepped XML, but makes no claim on
			the generated XML being optimal.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section anchor="in-section-217-date" title="In Section 2.17, &lt;date&gt;" numbered="true" toc="default">
	       <section title="Current Date Requirement" numbered="true" toc="default" >
		  <t>

		     <list style="empty">
			<t>

			   "When the prep tool is used to create Internet-Drafts, it will reject a
			   submitted Internet-Draft that has a &lt;date&gt; element in the boilerplate for
			   itself that is anything other than today."

			</t>
		     </list>

		  </t>
		  <t>

		     It is not up to the format definition to set policy for acceptance or
		     rejection of draft submissions.  The matter is more complex than the text
		     assumes, see for instance datatracker issue #2422.  In addition to being
		     inappropriate, this text also quietly changes policy from +/- 3 days to +/- 0
		     days, without saying that it updates RFC 4228 <xref target="RFC4228" pageno="false" format="default"/>, which is the 
		     current specification of permissible dates in draft submissions.  Finally,
		     enforcing this would cause <spanx style="emph" xml:space="preserve">a lot</spanx> of grief and problems.

		  </t>
		  <t>

		     <list style="hanging">
			<t hangText="Proposal:">

			   Remove the section.

			</t>
			<t hangText="Implementation:">

			   The current version of xml2rfc does not reject input based on the
			   value of &lt;date&gt;, but warns if the date is more than 3 days from
			   the current date, in accordance with <xref target="RFC4228" pageno="false" format="default"/>.

			</t>
		     </list>

		  </t>
	       </section>
	       <section title="Date Specification in References" numbered="true" toc="default" >
		  <t>

		     <list style="empty">
			<t>

			   "Bibliographic references:  In dates in &lt;reference&gt; elements, 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>
		     </list>

		  </t>
		  <t>

		     The text regarding prose text for month and year in bibliographic references
		     is not workable.  How should month and year be combined?  Some bibliographic
		     references may have date text which requires year first, others year last, and
		     so on.  Mixing the described fuzziness into the otherwise strict year, month, date
		     format makes little sense when the result of combining the year, month and
		     date attributes cannot be predictably and correctly rendered.

		  </t>
		  <t>

		     <list style="hanging">
			<t hangText="Proposal:">

			   Instead of the current specification, permit either that the &lt;date&gt; element
			   may have text content, or an alternative attribute to be used for
			   rendering if year, month, or day cannot be specified exactly.

			</t>
			<t hangText="Implementation:">

			   The current version of xml2rfc has not implemented this part of the
			   specification, and is waiting for a more workable solution.

			</t>
		     </list>

		  </t>
	       </section>
	    </section>
	    <section title="In Section 2.40.1, &quot;anchor&quot; Attribute" numbered="true" toc="default" >
	       <t>

		  Section 5.1 of RFC 7992 says in part:

	       </t>
	       <t>

		  <list style="empty">
		     <t>

			"The prep tool produces XML with anchor attributes in all elements that
			need them."

		     </t>
		  </list>

	       </t>
	       <t>

		  This is rather vital information regarding the content of the prepped xml when
		  building a formatter, unfortunately it is not mentioned in RFC 7991.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Add this information to the successor of RFC 7991, and to the formatter
			specifications.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 2.47, &lt;seriesInfo&gt;" numbered="true" toc="default" >
	       <t>

		  The possible and forbidden combinations of attributes for this element has now
		  become so convoluted that it's really hard to understand how to use it
		  correctly.  This needs a serious reconsideration.

	       </t>
	       <t>

		  The 'name' attribute is mandatory, and only 3 values are permitted: "RFC",
		  "Interned-Draft", and "DOI".  But it is also mandatory to set the name to ""
		  for a &lt;seriesInfo&gt; with a status attribute.  Hmm...

	       </t>
	       <t>

		  So there are 4, not 3 permitted values: "RFC", "Internet-Draft", "DOI", and
		  "".

	       </t>
	       <t>

		  This means that all reference files which has things like name="ISO", name="W3C
		  Recommendation", etc., etc., have become illegal.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Do a rewrite of this that does not add new details to the already
			complex &lt;seriesInfo&gt; semantics, and does not make non-IETF
			reference files obsolete, but actually simplifies the model and use.

		     </t>
		     <t>

			Limit the &lt;seriesInfo&gt; element to what is actually needed for use
			within &lt;reference/&gt;, and do not add new functionality
			related to the document &lt;front&gt;.  Deprecate any functionality not
			related to usage within &lt;reference/&gt;.

		     </t>
		     <t hangText="Implementation:">

			Mostly not done in the current implementation, but see also
			<xref target="rfc-category-attribute" pageno="false" format="default"/>, <xref target="rfc-number-attribute" pageno="false" format="default"/>
			and <xref target="attribute-default-value-insertion" pageno="false" format="default"/>

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Appendix A.1.1: TLP switch-over date discrepancies" numbered="true" toc="default" >
	       <t>

		  There are discrepancies between the specified switch-over dates in the
		  specification, and those given by the Trust statements:

	       </t>
	       <t>

		  <list style="symbols">
		     <t>

			TLP3.0: The specification says 2009-11-01 but the TLP statement says
			effective date 2009-09-12.

		     </t>
		     <t>

			TLP4.0: The specification says 2010-04-01 but the TLP statement says
			effective date 2009-12-28.  The dates on which TLP 4 started to be use in
			published RFCs seems to match the stated effective date of 2009-12-28, based
			on a scan of some RFCs around that date.

		     </t>
		  </list>

	       </t>
	       <t>

		  RFC 7991 also states this about the pre5378 text: this text appears under
		  "Copyright Notice", unless the document was published before November 2009, in
		  which case it appears under "Status of This Memo".  This does not agree at all
		  with what actual RFCs contain; they seem to consistently have this text under
		  Copyright Notice.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Correct the dates given in the document to indicate the official dates,
			and correct the text on placement of TLP to match actual usage.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc uses the official dates during the
			preptool processing, not the dates given in RFC 7991.

		     </t>
		  </list>

	       </t>
	    </section>
	 </section>


	 <section anchor="rfc-7992" title="RFC 7992" numbered="true" toc="default">
	    <section title="In Section 5.1,  IDs">
	       <t>
		  The current specification says:

		  <list style="empty">
		     <t>

			HTML elements that are generated from XML elements that include an
			"anchor" attribute will use the value of the "anchor" attribute as
			the value of the "id" attribute of the corresponding HTML element.
			The prep tool produces XML with "anchor" attributes in all elements
			that need them.  Some HTML constructs (such as &lt;section&gt;) will use
			multiple instances of these identifiers.

		     </t>
		  </list>
	       </t>
	       <t>
		  But I believe html5 does not permit more than one "id" attribute per element,
		  which begs the question of how &lt;section&gt; will use multiple instances
		  of identifiers?
	       </t>
	    </section>
	    <section anchor='html-root-element' title="In Section 6.2, Root Element" numbered="true">
	       <t>
		  Typo:
	       </t>
	       <t>
		  OLD: &lt;seriesInfo&gt; element's "name" attributes
	       </t>
	       <t>
		  NEW: &lt;seriesInfo&gt; elements' "name" attributes
	       </t>
	    </section>
	    <section anchor="html-page-headers-and-footers" title="In Section 6.4,  Page Headers and Footers">
	       <t>

		  This is incomplete.  It gives an example, but does not specify how
		  it is to be filled in.

	       </t>
	       <t>

		  Is the formatter expected to fill out the cells, based on the pattern given,
		  or is that supposed to happen magically based on WD-css3-page-20130314 ?

	       </t>
	       <t>

		  If the cell content is supposed to be provided by the formatter, it would
		  be good to have a bit more specification than the example; if not, it
		  would be nice for that to be stated explicitly.

	       </t>
	       <t>

		  The mention of the '[Page]' placeholder could be taken as an indication
		  that all cell content shown are placeholders, but are they, really?

	       </t>
	       <t>
		  <list style="hanging">
		     <t hangText="Implementation:">

			The current implementation has code to insert placeholder
			html, but not code to fill in the cells with actual information
			from the document.  Since this is meaningless if the guess
			is wrong, this code has been disabled for now.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 6.5, Document Information" numbered="true">

	       <t>
		  This information seems to be scrambled and incomplete.  It suggests the
		  use of 'Status:' for what is otherwise called 'Category:'.  It simplifies
		  the presentation of series information to the point that no clue is given
		  of how to handle the two bits of information related to series name and
		  series number -- the example shows 'Series:' 'Internet-Draft', which gives
		  no guidance at all.  There is no mention of whether to display 'Obsoletes:'
		  and 'Updates:' information or not.

	       </t>
	       <t>

		  On a more general note, this is the second section where an incomplete
		  example is provided instead of specification.  Examples are however not
		  replacements for proper specification; they are at best a help in
		  making a specification real to the user.  Both this section and
		  <xref target="html-page-headers-and-footers"/> needs to be expanded to provide
		  a complete specification.

	       </t>
	       <t>

		  Styling query:  The example gives the style of the element that holds author
		  initials the class 'initial' while the attribute is appropriately named
		  'initials'.  Is the difference in attribute and style names intentional?
		  In any case, 'initials' would be more appropriate.


	       </t>
	       <t>
		  <list style="hanging">
		     <t hangText="Implementation:">

			Instead of trying to follow what's written, the current implementation
			tries to provide the same fields and information which is provided
			by the text/plain formatter, in a sensible way.  This is guesswork.

		     </t>
		     <t>

			The implementation also has used the sample html document for guidance
			here, in order to be able to progress with something that works with
			the style sheet from the RFC-Format CSS project.

		     </t>
		  </list>
	       </t>

	    </section>
	    <section title="In Section 8.1.1, Index Contents" numbered="true" toc="default" >
	       <t>

		  The index has an extra &lt;div&gt; enclosing the contents, starting directly after
		  &lt;h2&gt;, while sections explicitly does not have a div here.  This irregularity
		  seems quite unnecessary, but makes the formatter code more complex than need
		  be.  Could we please align the two?

	       </t>
	    </section>
	    <section title='Inconsistent use of "s-", "n-" and User-Supplied "id" Attributes'>
	       <t>

		  RFC 7991 <xref target="RFC7991"/> specifies an attribute "slugifiedName" on
		  &lt;name&gt;, but does not specify how it is to be used.  RFC 7998 <xref target="RFC7998"/>
		  specifies how to create these, but not how they should be used.  In RFC 7992,
		  slugified names, with an "n-" (or "name-") prefix, are sometimes used on sections, sometimes not.
		  "s-" (or "section-") IDs are sometimes used on &lt;h2&gt; and other header elements,
		  sometimes on paragraph, divs, asides, blockquotes etc.  Section 9.33 of <xref target="RFC7992"/> even uses a reference
		  to an "n-" ID that doesn't exist, although it clearly should, based on the
		  section name.  This is a mess.


	       </t>
	       <t>
		  <list style="hanging">
		     <t hangText="Implementation:">

			The implementation consistently transfers the "slugifiedName" attribute
			on &lt;name&gt; to an "id" attribute on the &lt;h2&gt; or other header element
			generated from the name.  Section numbers ("s-" or "section-" values) from
			"pn" attributes are consistently transferred to the &lt;section&gt;, &lt;p&gt;
			or other HTML element generated from the XML element on which they appear.
			User-supplied "anchor" attributes on XML elements are consistently transferred
			to a &lt;div&gt; inside the HTML element generated from the XML element
			with the anchor, encapsulating the content generated from the XML element.

		     </t>
		  </list>
	       </t>
	    </section>

	 </section>


	 <section anchor="rfc-7994" title="RFC 7994" numbered="true" toc="default">
	    <section title="Additional Guidance" numbered="true" toc="default" >
	       <t>

		  <list style="symbols">
		     <t>

			&lt;aside&gt;: Guidance requested on the rendering.  Now rendered with an
			indentation of 9 relative to surrounding text

		     </t>
		     <t>

			&lt;blockquote&gt;: Guidance requested on the rendering.  Now rendered with an
			indentation of 3 spaces, pipe(|), two spaces relative to surrounding text.

		     </t>
		     <t>

			&lt;sub&gt;: Guidance requested.  Now rendered as _(text)

		     </t>
		     <t>

			&lt;sup&gt;: Guidance requested.  Now rendered as ^(text)

		     </t>
		     <t>

			&lt;tt&gt;: Guidance requested.  Now rendered as "text"

		     </t>
		     <t>

			Guidance for &lt;eref&gt; rendering.  In the html formatter, handling of &lt;eref&gt; is
			straightforward and is specified; it simply translates to an external link.
			In the legacy text formatter, &lt;eref&gt; was handled by inserting an extra
			&lt;references&gt; subsection called "URLs", and adding reference entries for the
			URLs there, while the &lt;eref&gt; citation point got a trailing numeric reference
			number.  With the preptool output becoming the authoritative published
			document, this difference won't be reflected in the xml.  The two formats
			would be more aligned if the text formatter renders &lt;eref&gt; URLs inline.

			<list style="hanging">
			   <t hangText="Proposal:">

			      Change the rendering of &lt;eref&gt; in text to render the URL inline
			      within parentheses instead of adding the 'URLs' reference subsection.

			   </t>
			   <t hangText="Implementation:">

			      Implemented in the current version of xml2rfc.

			   </t>
			</list>

		     </t>
		  </list>

	       </t>
	    </section>
	 </section>
	 <section anchor="rfc-7998-1" title="RFC 7998" numbered="true" toc="default">
	    <section title="In Section 5.2.3, &lt;date&gt; Insertion" numbered="true" toc="default" >
	       <t>

		  Error if any of year, month, day is missing:

	       </t>
	       <t>

		  It is an unnecessary and unwanted restriction when not in RFC processing mode
		  to given an error for missing date elements.  Missing date elements have been
		  permitted because they make it easier for draft authors to rev drafts without
		  having to pay attention to the date values every time they generate new
		  output.  This requirement should apply only to RFC prepping mode, and only in part:

	       </t>
	       <t>

		  In RFC processing mode, this implicitly changes the RFC-Editor
		  policy regarding publication dates, which earlier have specified only year and
		  month (except for April 1st RFCs).  Is this intentional?

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Remove this restriction for draft mode, and modify it to require only
			year and month in RFC mode.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc warns if not all three elements are present
			in RFC mode.  The tool author considers even this inappropriate.

		     </t>
		     <t>

			In Internet-Draft mode, the current implementation handles missing elements
			the same way that the v2 formatters do.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.2.4, &quot;prepTime&quot; Insertion" numbered="true" toc="default" >
	       <t>

		  This is under-specified, given the detailed requirements on the &lt;date&gt;
		  attributes.  Should probably be specified as format according to <xref target="RFC3339" pageno="false" format="default"/>,
		  with year, month, day, hour, minute, and second.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Specify the format as RFC3339 compliant with resolution at least down to a second.

		     </t>
		     <t hangText="Implementation:">

			Implemented as RFC3339 with year, month, and day up to version 2.10.3; changed
			to the proposal above in the next release.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.2.6, Attribute Default Value Insertion" numbered="true" toc="default" >
	       <t>

		  All the default values in 7991 are also expressed in the v3.rnc schema.
		  Remove text indicating otherwise.  And by the way, it was very helpful to
		  extract these from the schema programmatically; having them specified
		  otherwise would make it much harder to follow a changing schema.

	       </t>
	       <t>

		  A number of attributes which are deprecated have default values.  The current
		  specification will cause those to be inserted, even if they have been removed
		  earlier by the v2v3 converter because they are deprecated.  This seems
		  inconsistent.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Omit deprecated attributes from the default-setting.

		     </t>
		     <t hangText="Implementation:">

			Not in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.2.7, &quot;toc&quot; Attribute" numbered="true" toc="default" >
	       <t>

		  It's specified that sections with &lt;boilerplate&gt; ancestors should have
		  toc="exclude", but this won't then affect &lt;boilerplate&gt; sections which are
		  inserted as part of the processing in 5.4.2.  It would make more sense to move
		  this processing to after 5.4.2.

	       </t>
	       <t>

		  The logic in the second bullet is flawed.  First it says to set elements with
		  children with toc="include" to "include", but then it says that it is an error
		  if they are set to "exclude".  Either there should be a warning, and the toc=
		  attribute should be updated, or there should be an error and termination.  Not
		  both.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Move 5.2.7 processing to after 5.4.2, or specify that a second pass
			should be done after boilerplate insertion.  If a parent to a section with
			toc="include" has toc="exclude", an error should be generated.

		     </t>
		     <t hangText="Implementation:">

			In order to do the actions of 5.2.7 for boilerplate, a second pass is
			made after boilerplate insertion in the current version of xml2rfc.
			Handling of inconsistent "toc" attribute settings is implemented as
			proposed.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.2.8, &quot;removeInRFC&quot; Warning Paragraph" numbered="true" toc="default" >
	       <t>

		  This potentially inserts a new &lt;t&gt; element, but after the default setting in
		  5.2.6.  

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Maybe place default setting after all potential element insertions
			have taken place.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc deals with this by adding default-setting
			of attributes individually on each new elements as they are inserted.
			This works, but is more complex and probably less efficient than doing
			default-setting once, after any new elements have been inserted.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.3.1, &quot;month&quot; Attribute" numbered="true" toc="default" >
	       <t>

		  <list style="empty">
		     <t>

			"Normalise the values of "month" attributes in all &lt;date&gt; elements in
			&lt;front&gt; elements in &lt;rfc&gt; elements to numeric values."

		     </t>
		  </list>

	       </t>
	       <t>

		  Is that 'in' a direct descendant relationship, or any descendant?  I.e., does
		  this affect &lt;date&gt; elements in included &lt;reference&gt; elements?  Unclear.
		  (RFC7991 is much clearer on this point, but that's not an excuse for being
		  unclear here).

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Clarify the text.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.3.2, ASCII Attribute Processing" numbered="true" toc="default" >
	       <t>

		  The uppercasing of 'ascii' in the section &lt;name&gt; is incorrect in this case;
		  the attribute name is explicitly 'ascii', not 'ASCII'.  The section name
		  should be '"ascii" Attribute Processing'.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Change the title 'ASCII Attribute Processing' to refer correctly to the
			"ascii" attribute:  '"ascii" Attribute Processing'.

		     </t>
		  </list>

	       </t>
	       <t>

		  <list style="empty">
		     <t>

			"In every &lt;author&gt; element ..."

		     </t>
		  </list>

	       </t>
	       <t>

		  After the earlier XInclude processing, this will include all the author
		  elements in the included references, which the document author should not normally
		  change in any way.  Was this the intention?

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Limit it to /rfc/front/author' elements.

		     </t>
		     <t hangText="Implementation:">

			Implemented in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	       <t>

		  &lt;title&gt; and &lt;postalLine&gt; also has an "ascii" attribute — is it a mistake that
		  they are not mentioned here?  Assuming so, for the preptool implementation.

	       </t>
	       <t>

		  What about the ascii* attributes on author?  Assuming they should be processed
		  the same way.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Process all "ascii" attributes in the document &lt;front&gt; as specified, and
			ignore those within &lt;references&gt;

		     </t>
		     <t hangText="Implementation:">

			Implemented as proposed.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="New Section 5.3.4: &quot;keepWithNext&quot; Normalisation" numbered="true" toc="default" >
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			The new section should specify normalisation of keepWithNext/keepWithPrevious such as to
			replace all keepWithPrevious with an equivalent keepWithNext on the previous
			element, in case the proposal in <xref target="keepwithprevious-violates-kiss-and-dry" pageno="false" format="default"/>
			is not accepted.  

		     </t>
		     <t hangText="Implementation:">

			Not in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.4.2, &lt;boilerplate&gt; Insertion: Only for RFCs? " numbered="true" toc="default" >
	       <t>

		  <list style="empty">
		     <t>

			"Create a &lt;boilerplate&gt; element if it does not exist.  If there are any
			children of the &lt;boilerplate&gt; element, produce a warning that says
			"Existing boilerplate being removed.  Other tools, specifically the draft
			submission tool, will treat this condition as an error" and remove the
			existing children."

		     </t>
		  </list>

	       </t>
	       <t>

		  Should this be done in both I-D mode and RFC mode?  The trouble is that the
		  following subsections only describes the boilerplate relevant to an RFC;
		  there's additional boilerplate that is needed for drafts.  I don't think it's
		  reasonable to have a draft with only parts of the boilerplate contained in a
		  boilerplate section.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			The boilerplate-element insertion parts of 5.4.2 should be done in both RFC
			and draft mode, with the appropriate boilerplate for each case.
			For consistency, either add
			text to describe the appropriate boilerplate for drafts, or remove the
			sections specific to RFC boilerplate.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc inserts boilerplate for both drafts and
			RFCs, as appropriate.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.4.2, &lt;boilerplate&gt; Insertion: Error Message" numbered="true" toc="default" >
	       <t>

		  This section also specifies an error message to be used verbatim; the troublesome
		  thing is that it's not clear what it means.  The message is: "Existing
		  boilerplate being removed.  Other tools, specifically the draft submission
		  tool, will treat this condition as an error".  What is it that the draft
		  submission tool is going to treat as an error?  The presence of boilerplate?
		  Why?  The removal of boilerplate?  How is that related to draft submission?
		  This is very jumbled.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			If existing boilerplate is found, issue a warning and replace it.

		     </t>
		     <t>

			For other tools, suggest that if boilerplate is present during draft
			submission, it should be checked for validity.  This is already a
			function of idnits, so does not constitute anything new, but is decidedly
			better than having the submission tool actually reach into the submitted
			document and change it.

		     </t>
		     <t hangText="Implementation:">

			In the current version of xml2rfc this is implemented as proposed, with
			the following warning if existing boilerplate is found: "Expected no
			&lt;boilerplate&gt; element, but found one.  Replacing the content with
			new boilerplate."

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.4.2.1, Compare &lt;rfc&gt; submissionType and &lt;seriesInfo&gt; &quot;stream&quot;." numbered="true" toc="default" >
	       <t>

		  This comes too late.  It is specified that if either is missing, it should be
		  added.  But the default attribute setting earlier has set stream="IETF" on all
		  &lt;seriesInfo&gt; elements that didn't have it.  If a document is read without
		  submissionType, and stream set correctly to something else than "IETF" on one
		  of the &lt;seriesInfo&gt; elements, then the default-setting will have created a
		  conflict which cannot be resolved purely from the document at this point.

	       </t>
	       <t>

		  Furthermore, it doesn't seem like a good fit to have tag attributes that all
		  have to be set to the same value.  This is not DRY, and unnecessarily
		  introduces the possibility of conflict, as a result of multiple
		  &lt;seriesInfo&gt; elements being permitted (Relevant to the v3 schema, not
		  the preptool).

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Remove the default value for stream, and make it subordinate to submissionType.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc implements the specification as written,
			and produces errors (which lead to not producing an output document) on
			inconsistencies.  This does not feel user-friendly.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.4.2.2, &quot;Status of this Memo&quot; Insertion" numbered="true" toc="default" >
	       <t>

		  It specifies that one should consider both submissionType and &lt;seriesInfo&gt;
		  stream value; but those have just been set equal in 5.4.2.1.  

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Remove &lt;seriesInfo&gt; from consideration here.  In order to produce a correct
			"Status of this Memo" text, "category", "consensus", and "submissionType" must
			be considered, and all three are present as attributes on &lt;rfc&gt;.  Keep it that way.



		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc looks at "submissionType", "category", and "consensus"
			on the &lt;rfc&gt; element.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.4.3, &lt;reference&gt; &quot;target&quot; Insertion" numbered="true" toc="default" >
	       <t>

		  <list style="empty">
		     <t>

			"Insert "target" attributes for RFC, DOI, and Internet-Draft references
			that lack them."

		     </t>
		  </list>

	       </t>
	       <t>

		  It is indicated that the rfc-editor will provide the URL patterns.  What are they?

	       </t>
	       <t>

		  In the formatter, the order  of &lt;seriesInfo&gt; determines the rendering order.
		  The insertion should probably be done in the desired rendering order.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			In addition to providing the appropriate URL patterns, specify the order in
			which the &lt;seriesInfo&gt; elements should occur, for instance: 'BCP', 'RFC', 'DOI'.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc inserts the appropriate &lt;seriesInfo&gt; elements,
			and after insertion sorts them in the order 'BCP', 'RFC', 'DOI', followed by others.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.4.4, &lt;name&gt; Slugification" numbered="true" toc="default" >
	       <t>

		  The 'n-' prefix for slugs is unnecessarily opaque.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Use slugs with prefix "name-" rather than "n-", to be more self-documenting.

		     </t>
		     <t hangText="Implementation:">

			Implemented as proposed in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	       <t>

		  Should the slugs be unique?  Assuming yes, but guidance would be good.  The
		  current version of xml2rfc enforces unique slugs, with the following algorithm:

	       </t>
	       <t>

		  <list style="symbols">
		     <t>

			remove non-ascii letters

		     </t>
		     <t>

			replace-non-letters with dash, compacting multiple dashes to one

		     </t>
		     <t>

			reduce length to 32, but insure uniqueness by increasing length or adding
			numerical suffixes, up to length 40 with suffixes numbered 2 to 99.

		     </t>
		  </list>

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Do slugification and uniqueness enforcement as described above.

		     </t>
		     <t hangText="Implementation:">

			As described above.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section anchor="in-section-546-pn-numbering-1" title="In Section 5.4.6, &quot;pn&quot; Numbering." numbered="true" toc="default">
	       <t>

		  What does 'pn' mean?  Cryptic is never good when humans have to deal with it.
		  At least explain as "part number" in text.  Possibly even change pn="" to
		  part="".

	       </t>
	       <t>

		  &lt;back&gt;&lt;section&gt; is not mentioned.  Assuming numbering as section-appendix.1.2

	       </t>
	       <t>

		  &lt;iref&gt; elements are not mentioned (but covered in 7991).  Should be listed in 7998.

	       </t>
	       <t>

		  The numbering scheme is inconsistent between notes/boilerplate and other
		  sections, in that if attempting to split a pn on dashes (which external tools
		  might want to do) the boilerplate/note sections contain an additional dash.

	       </t>
	       <t>
		  <list style="hanging">
		     <t hangText="Proposal:">

			Change that dash to a dot, for better consistency with other sections.
			This also makes the &lt;t&gt; part numbers less confusing:
			"section-boilerplate.1-1" instead of "section-boilerplate-1-1"

		     </t>
		     <t hangText="Implementation:">

			Implemented as proposed in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	       <section title="RFC format anchors / fragment identifiers" numbered="true" toc="default" >
		  <t>

		     The anchor prefixes described
		     unnecessarily break with existing links to document sections.  Wikipedia has
		     (2018-02-19) about 84 000 pages that link to RFCs; with most pages having
		     multiple links.  A small manual sampling indicates that about 1 link in 10 has
		     a #section- fragment identifier.  All of these will break if the new tools are
		     used to generated content linked from these pages.

		  </t>
		  <t>

		     How much larger than
		     Wikipedia is the whole of the internet, in terms of links to RFCs?  Hard to
		     tell (though searching for 'rfc' on Google indicates 'about 10 000 000
		     results).  In any case, we are talking about breaking a substantial number of links
		     using fragment identifiers of the format #section- and #appendix- if the new
		     tools are used to replace the old html content that sites currently point to.

		  </t>
		  <t>

		     <list style="hanging">
			<t hangText="Proposal:">

			   Update the RFC 7998 preptool to use these prefixes, instead:

			   <list style="symbols">
			      <t>"section-xxx"</t>
			      <t>"figure-xxx"</t>
			      <t>"table-xxx"</t>
			      <t>"appendix-xxx"</t>
			      <t>"index-xxx"</t>
			      <t>"para-xxx"</t>
			      <t>"name-xxx"</t>
			   </list>
			</t>
			<t hangText="Implementation:">

			   Implemented as above in the current version of xml2rfc.

			</t>
		     </list>

		  </t>
	       </section>
	    </section>
	    <section title="In Section 5.4.7, &lt;iref&gt; Numbering" numbered="true" toc="default" >
	       <t>

		  Numbering of &lt;iref&gt; talks about setting the 'pn' attribute.  Mixed into this
		  is a mention of 'irefid', which isn't a valid attribute.  The current
		  implementation assumes that 'pn' is meant.

	       </t>
	       <t>

		  The item and sub-item text is not constrained to slug format; in order to
		  deliver useful pn values, slugification should be done.  On the other hand,
		  the explicit prescription of how to ensure uniqueness clashes with the total
		  lack of uniqueness attention under 5.4.4.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Require slugification for pn-numbering of items and sub-items, but
			remove the details of how to ensure uniqueness.  Correct the mention of 'irefid'
			to say 'pn', if that was intended.

		     </t>
		     <t hangText="Implementation:">

			Slugification is done, and uniqueness is enforced with an algorithm that
			limits slug length and tries to keep slugs readable.  If there are more
			than 99 slugs that would collide if no uniqueness processing was done,
			an error is generated.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.4.8.2, &quot;derivedContent&quot; Insertion (without Content)" numbered="true" toc="default" >
	       <t>

		  There's a formatting mistake:

	       </t>
	       <t>

		  The last sentence of the last bullet ("Issue a warning...") should not be part
		  of the bullet, but a separate final paragraph for the Section.

	       </t>
	    </section>
	    <section title="In Section 5.5.1, &lt;artwork&gt; Processing" numbered="true" toc="default" >
	       <t>

		  RFC791 specifies that the &lt;artwork&gt; content is a fallback if there is
		  external &lt;svg&gt; content, but 7998 says to drop the fallback and insert the
		  external &lt;svg&gt;.  This deletes information, and makes the fallback
		  unavailable.  This needs a better handling.

	       </t>
	       <t>


	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			If there is fallback content, convert the external URL content
			to a "data:" URL for the src.  This pulls the external content in
			and makes it immutable, but retains the fallback text.

		     </t>
		     <t hangText="Implementation:">

			Implemented as proposed in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.5.2, &lt;sourcecode&gt; Processing" numbered="true" toc="default" >
	       <t>

		  List item 4 says:

	       </t>
	       <t>
		  <list style="empty">
		     <t>
			"fill the content of the &lt;sourcecode&gt; element with the
			resolved XML from the URI in the "src" attribute"
		     </t>
		  </list>
	       </t>
	       <t>

		  However, we have no particular reason to assume that the content of the
		  "src" URL is XML.  Quite to the contrary, it would be a very natural and
		  common use case that the external content is a source code file.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			The URI should not be assumed to resolve to xml, but instead treated like CDATA.

		     </t>
		     <t hangText="Implementation:">

			Implemented as proposed in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="In Section 5.4.8.2, &quot;derivedContent&quot; Insertion." numbered="true" toc="default" >
	       <t>

		  It is not clear from the description if the derived content text should
		  contain square brackets when an &lt;xref&gt; would be rendered with square brackets
		  in current output formats.

	       </t>
	       <t>

		  It is not clear if the derived content should include the 'Figure', or 'Table'
		  label when pointing to such objects.  When rendering such a reference in the
		  current output formats, the generated text would include the label, but the
		  current text seems to lean towards not making this part of the derived
		  content, which would cause incompatibility with the output of v2 formatters.

	       </t>
	       <t>

		  The purpose of this is insufficiently explained.  If the intention is to use
		  this when generating derived formats, there are problems: If, for instance,
		  the derived format with a &lt;reference&gt; target is set to 'RFC1234', the text
		  inserted in a derived format should have surrounding square brackets; but if
		  the target is a section, it should not.  If on the other hand the derived
		  format includes the square brackets when appropriate, the link in a derived
		  format with internal link capability will use the whole of the bracketed
		  string, rather than the more appropriate text within the brackets.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			The whole "derivedContent" handling and specification needs a thorough
			rework, with specification of the intended use of the attribute by
			formatters.  Possibly the whole "derivedContent" concept should be
			scrapped, and the rendering left for the formatter, depending on the
			characteristics of the output format.

		     </t>
		     <t hangText="Implementation:">

			The current version of xml2rfc works around this issue by using
			different formatter code for different cases, which is not good from the
			viewpoint of using the prepped XML as the archival format, but at least
			produces reasonable output.

		     </t>
		  </list>
	       </t>
	    </section>
	    <section title="In Section 5.4.9, &lt;relref&gt; Processing" numbered="true" toc="default" >
	       <t>

		  Why doesn't &lt;relref&gt; have the same format options as &lt;xref&gt;?  Surely they must
		  be just as relevant here.  But more importantly, &lt;relref&gt; overlaps &lt;xref&gt; so
		  much that it would be better to just add section, relative, and displayFormat
		  to &lt;xref&gt;.  Maybe change displayFormat to the earlier proposed
		  'sectionFormat'.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Deprecate &lt;relref&gt;, and fold the functionality into &lt;xref&gt;.

		     </t>
		     <t hangText="Implementation:">

			The  &lt;relref&gt; functionality has been folded into &lt;xref&gt;, but
			relref support not yet removed.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section title="New Section 5.4.10, Index Insertion" numbered="true" toc="default" >
	       <t>

		  RFC7998 does not say anything about inserting xml for the index, if one is
		  requested, but it seems counter-intuitive not to produce xml for the index as
		  part of the preptool processing, given all the other prepping that's being
		  done.  What's more, in Section 2.27 of RFC 7991 there's this text:

	       </t>
	       <t>

		  <list style="empty">
		     <t>

			"When the prep tool is creating index content, it collects the items in a
			case-sensitive fashion for both the item and sub-item level."

		     </t>
		  </list>

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Insert the XML necessary to render the index into the prepped XML.

		     </t>
		     <t hangText="Implementation:">

			Implemented as proposed in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	    </section>
	    <section anchor="link-processing" title="In Section 5.6.3,  &lt;link&gt; Processing" numbered="true" toc="default">
	       <t>

		  Bullet 4.:  Bad grammar:  s/RFC the form/RFC, in the form/

	       </t>
	       <t>

		  Bullet 4.: Hmm.  The &lt;link rel="convertedFrom" href="draft-..."&gt; should
		  ideally be created automatically, but there is no clear path of how to do
		  that.

	       </t>
	       <t>

		  <list style="hanging">
		     <t hangText="Proposal:">

			Require docName to be set to the draft name, and use that to create this
			link.  This also implies that "docName" not be deprecated (see
			<xref target="rfc-docname-attribute" pageno="false" format="default"/>).

		     </t>
		     <t hangText="Implementation:">

			Implemented as proposed in the current version of xml2rfc.

		     </t>
		  </list>

	       </t>
	    </section>
	 </section>
      </section>
      <section anchor="security-considerations" title="Security Considerations" numbered="true" toc="default">
	 <t>

	    This document does not introduce any security considerations on
	    its own.

	 </t>
      </section>
   </middle>
   <back>
      <references title="Informative References">
	 <reference anchor="DRY" target="https://en.wikipedia.org/wiki/Don%27t_repeat_yourself" quote-title="true">
	    <front>
	       <title>Don't repeat yourself</title>
	       <author>
		  <organization>Wikipedia</organization>
	       </author>
	       <date year="2018"/>
	    </front>
	 </reference>
	 <reference anchor="KISS" target="https://en.wikipedia.org/wiki/KISS_principle" quote-title="true">
	    <front>
	       <title>KISS Principle</title>
	       <author>
		  <organization>Wikipedia</organization>
	       </author>
	       <date year="2018"/>
	    </front>
	 </reference>
	 <reference anchor="RFC3339" target="https://www.rfc-editor.org/info/rfc3339" quote-title="true">
	    <front>
	       <title>Date and Time on the Internet: Timestamps</title>
	       <author initials="G." surname="Klyne" fullname="G. Klyne">
		  <organization/>
	       </author>
	       <author initials="C." surname="Newman" fullname="C. Newman">
		  <organization/>
	       </author>
	       <date year="2002" month="July"/>
	       <abstract>
		  <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="3339"/>
	    <seriesInfo name="DOI" value="10.17487/RFC3339"/>
	 </reference>
	 <reference anchor="RFC4228" target="https://www.rfc-editor.org/info/rfc4228" quote-title="true">
	    <front>
	       <title>Requirements for an IETF Draft Submission Toolset</title>
	       <author initials="A." surname="Rousskov" fullname="A. Rousskov">
		  <organization/>
	       </author>
	       <date year="2005" month="December"/>
	       <abstract>
		  <t>

		     This document specifies requirements for an IETF toolset to facilitate Internet-Draft submission, validation, and posting.  This memo provides information for the Internet community.

		  </t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="4228"/>
	    <seriesInfo name="DOI" value="10.17487/RFC4228"/>
	 </reference>
	 <reference anchor="RFC6087" target="https://www.rfc-editor.org/info/rfc6087" quote-title="true">
	    <front>
	       <title>Guidelines for Authors and Reviewers of YANG Data Model Documents</title>
	       <author initials="A." surname="Bierman" fullname="A. Bierman">
		  <organization/>
	       </author>
	       <date year="2011" month="January"/>
	       <abstract>
		  <t>

		     This memo provides guidelines for authors and reviewers of Standards Track specifications containing YANG data model modules.  Applicable portions may be used as a basis for reviews of other YANG data model documents.  Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) implementations that utilize YANG data model modules.  This document is not an Internet Standards Track  specification; it is published for informational purposes.

		  </t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="6087"/>
	    <seriesInfo name="DOI" value="10.17487/RFC6087"/>
	 </reference>
	 <reference anchor="RFC7749" target="https://www.rfc-editor.org/info/rfc7749" quote-title="true">
	    <front>
	       <title>The "xml2rfc" Version 2 Vocabulary</title>
	       <author initials="J." surname="Reschke" fullname="J. Reschke">
		  <organization/>
	       </author>
	       <date year="2016" month="February"/>
	       <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 state of the vocabulary (as implemented by several tools and as used by the RFC Editor) around 2014.

		  </t>
		  <t>

		     This document obsoletes RFC 2629.

		  </t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="7749"/>
	    <seriesInfo name="DOI" value="10.17487/RFC7749"/>
	 </reference>
	 <reference anchor="RFC7991" target="https://www.rfc-editor.org/info/rfc7991" quote-title="true">
	    <front>
	       <title>The "xml2rfc" Version 3 Vocabulary</title>
	       <author initials="P." surname="Hoffman" fullname="P. Hoffman">
		  <organization/>
	       </author>
	       <date year="2016" month="December"/>
	       <abstract>
		  <t>

		     This document defines the "xml2rfc" version 3 vocabulary: an XML-based language used for writing RFCs and Internet-Drafts.  It is heavily derived from the version 2 vocabulary that is also under discussion.  This document obsoletes the v2 grammar described in RFC 7749.

		  </t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="7991"/>
	    <seriesInfo name="DOI" value="10.17487/RFC7991"/>
	 </reference>
	 <reference anchor="RFC7992" target="https://www.rfc-editor.org/info/rfc7992" quote-title="true">
	    <front>
	       <title>HTML Format for RFCs</title>
	       <author initials="J." surname="Hildebrand" fullname="J. Hildebrand" role="editor">
		  <organization/>
	       </author>
	       <author initials="P." surname="Hoffman" fullname="P. Hoffman">
		  <organization/>
	       </author>
	       <date year="2016" month="December"/>
	       <abstract>
		  <t>

		     In order to meet the evolving needs of the Internet community, the canonical format for RFCs is changing from a plain-text, ASCII-only format to an XML format that will, in turn, be rendered into several publication formats.  This document defines the HTML format that will be rendered for an RFC or Internet-Draft.

		  </t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="7992"/>
	    <seriesInfo name="DOI" value="10.17487/RFC7992"/>
	 </reference>
	 <reference anchor="RFC7993" target="https://www.rfc-editor.org/info/rfc7993" quote-title="true">
	    <front>
	       <title>Cascading Style Sheets (CSS) Requirements for RFCs</title>
	       <author initials="H." surname="Flanagan" fullname="H. Flanagan">
		  <organization/>
	       </author>
	       <date year="2016" month="December"/>
	       <abstract>
		  <t>

		     The HTML format for RFCs assigns style guidance to a Cascading Style Sheet (CSS) specifically defined for the RFC Series.  The embedded, default CSS as included by the RFC Editor is expected to take into account accessibility needs and to be built along a responsive design model.  This document describes the requirements for the default CSS used by the RFC Editor.  The class names are based on the classes defined in "HTML for RFCs" (RFC 7992).

		  </t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="7993"/>
	    <seriesInfo name="DOI" value="10.17487/RFC7993"/>
	 </reference>
	 <reference anchor="RFC7994" target="https://www.rfc-editor.org/info/rfc7994" quote-title="true">
	    <front>
	       <title>Requirements for Plain-Text RFCs</title>
	       <author initials="H." surname="Flanagan" fullname="H. Flanagan">
		  <organization/>
	       </author>
	       <date year="2016" month="December"/>
	       <abstract>
		  <t>

		     In 2013, after a great deal of community discussion, the decision was made to shift from the plain-text, ASCII-only canonical format for RFCs to XML as the canonical format with more human-readable formats rendered from that XML.  The high-level requirements that informed this change were defined in RFC 6949, "RFC Series Format Requirements                  and Future Development".  Plain text remains an important format for many in the IETF community, and it will be one of the publication formats rendered from the XML.  This document outlines the rendering requirements for the plain-text RFC publication format.  These requirements do not apply to plain-text RFCs published before the format transition.

		  </t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="7994"/>
	    <seriesInfo name="DOI" value="10.17487/RFC7994"/>
	 </reference>
	 <reference anchor="RFC7995" target="https://www.rfc-editor.org/info/rfc7995" quote-title="true">
	    <front>
	       <title>PDF Format for RFCs</title>
	       <author initials="T." surname="Hansen" fullname="T. Hansen" role="editor">
		  <organization/>
	       </author>
	       <author initials="L." surname="Masinter" fullname="L. Masinter">
		  <organization/>
	       </author>
	       <author initials="M." surname="Hardy" fullname="M. Hardy">
		  <organization/>
	       </author>
	       <date year="2016" month="December"/>
	       <abstract>
		  <t>

		     This document discusses options and requirements for the PDF rendering of RFCs in the RFC Series, as outlined in RFC 6949.  It also discusses the use of PDF for Internet-Drafts, and available or needed software tools for producing and working with PDF.

		  </t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="7995"/>
	    <seriesInfo name="DOI" value="10.17487/RFC7995"/>
	 </reference>
	 <reference anchor="RFC7996" target="https://www.rfc-editor.org/info/rfc7996" quote-title="true">
	    <front>
	       <title>SVG Drawings for RFCs: SVG 1.2 RFC</title>
	       <author initials="N." surname="Brownlee" fullname="N. Brownlee">
		  <organization/>
	       </author>
	       <date year="2016" month="December"/>
	       <abstract>
		  <t>

		     This document specifies SVG 1.2 RFC -- an SVG profile for use in diagrams that may appear in RFCs -- and considers some of the issues concerning the creation and use of such diagrams.

		  </t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="7996"/>
	    <seriesInfo name="DOI" value="10.17487/RFC7996"/>
	 </reference>
	 <reference anchor="RFC7997" target="https://www.rfc-editor.org/info/rfc7997" quote-title="true">
	    <front>
	       <title>The Use of Non-ASCII Characters in RFCs</title>
	       <author initials="H." surname="Flanagan" fullname="H. Flanagan" role="editor">
		  <organization/>
	       </author>
	       <date year="2016" month="December"/>
	       <abstract>
		  <t>

		     In order to support the internationalization of protocols and a more diverse Internet community, the RFC Series must evolve to allow for the use of non-ASCII characters in RFCs.  While English remains the required language of the Series, the encoding of future RFCs will be in UTF-8, allowing for a broader range of characters than typically used in the English language.  This document describes the RFC Editor requirements and gives guidance regarding the use of non-ASCII characters in RFCs.

		  </t>
		  <t>

		     This document updates RFC 7322.  Please view this document in PDF form to see the full text.

		  </t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="7997"/>
	    <seriesInfo name="DOI" value="10.17487/RFC7997"/>
	 </reference>
	 <reference anchor="RFC7998" target="https://www.rfc-editor.org/info/rfc7998" quote-title="true">
	    <front>
	       <title>"xml2rfc" Version 3 Preparation Tool Description</title>
	       <author initials="P." surname="Hoffman" fullname="P. Hoffman">
		  <organization/>
	       </author>
	       <author initials="J." surname="Hildebrand" fullname="J. Hildebrand">
		  <organization/>
	       </author>
	       <date year="2016" month="December"/>
	       <abstract>
		  <t>

		     This document describes some aspects of the "prep tool" that is expected to be created when the new xml2rfc version 3 specification is deployed.

		  </t>
	       </abstract>
	    </front>
	    <seriesInfo name="RFC" value="7998"/>
	    <seriesInfo name="DOI" value="10.17487/RFC7998"/>
	 </reference>
	 <reference anchor="XML2RFC" target="https://pypi.org/pypi/xml2rfc" quote-title="true">
	    <front>
	       <title>xml2rfc</title>
	       <author initials="H." surname="Levkowetz" fullname="Henrik Levkowetz">
		  <organization/>
	       </author>
	       <date year="2018"/>
	    </front>
	 </reference>
      </references>
   </back>
</rfc>
