<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent" [
<!ENTITY RFC6350 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6350.xml">
]>
<?rfc toc="yes"?>
<?rfc text-list-symbols="*-+o"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-levkowetz-xml2rfc-v3-implementation-notes-09" category="info" obsoletes="" updates="" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 2.21.1 -->
  <?v3xml2rfc silence="Warning: Unused reference: There seems to be no reference to [RFC7993] in the document" ?>
  <?v3xml2rfc silence="Warning: Unused reference: There seems to be no reference to [RFC7996] in the document" ?>
  <front>
    <title abbrev="RFC7991 Implementation Notes">Implementation notes for RFC7991, "The 'xml2rfc' Version 3 Vocabulary"</title>
    <seriesInfo name="Internet-Draft" value="draft-levkowetz-xml2rfc-v3-implementation-notes-09"/>
    <author initials="H." surname="Levkowetz" fullname="Henrik Levkowetz">
      <organization>Elf Tools AB</organization>
      <address>
        <postal>
          <street>Ollonstigen 8</street>
          <city ascii="Lidingo">Lidingö</city>
          <code>18164</code>
          <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" numbered="true" toc="default">
      <name>Introduction</name>
      <t>

	    Implementation of tool support for <xref target="RFC7991" 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" format="default"/>:

      </t>
      <ul spacing="normal">
        <li>An XML converter from vocabulary version 2 <xref target="RFC7749" format="default"/> to version 3 <xref target="RFC7991" format="default"/> </li>
        <li>A Normalisation processor, "PrepTool", <xref target="RFC7997" format="default"/> </li>
        <li>An XML to plain text converter <xref target="RFC7994" format="default"/> for the version 3 vocabulary</li>
        <li>An XML to HTML converter <xref target="RFC7992" format="default"/> for the version 3 vocabulary (work in progress as of 28 Sep. 2018)</li>
        <li>A HTML to PDF converter <xref target="RFC7995" format="default"/> for the version 3 vocabulary (pending as of 28 Sep. 2018)</li>
      </ul>
      <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.

      </t>
    </section>
    <section anchor="fitness-for-purpose" numbered="true" toc="default">
      <name>Fitness for Purpose</name>
      <t>The introduction to <xref target="RFC7991" format="default"/> states:</t>
      <ul empty="true" spacing="normal">
        <li>

		  "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."

	       </li>
      </ul>
      <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" 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 numbered="true" toc="default">
        <name>Degraded Table of Contents</name>
        <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>
        <dl newline="false" indent="3" spacing="normal">
          <dt>Proposal:</dt>
          <dd>

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

		  </dd>
          <dt>Implementation:</dt>
          <dd>

		     None in the current version of xml2rfc.

		  </dd>
        </dl>
      </section>
      <section numbered="true" toc="default">
        <name>RFC Publication Date Policy</name>
        <t>

	       The specification <xref target="RFC7998" 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>
        <dl newline="false" indent="3" spacing="normal">
          <dt>Proposal:</dt>
          <dd>


		     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.

		  </dd>
          <dt>Implementation:</dt>
          <dd>

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

		  </dd>
        </dl>
      </section>
    </section>
    <section anchor="issues-with-the-schema" numbered="true" toc="default">
      <name>Schema Issues</name>
      <section anchor="rfc-7991" numbered="true" toc="default">
        <name>RFC 7991</name>
        <section numbered="true" toc="default">
          <name>Before Section 2.5: &lt;artset&gt;</name>
          <t>

                  The way &lt;artwork&gt; has been specified to handle the presence of both SVG
                  artwork and text fallback (in Section 2.5 of <xref target="RFC7991" format="default"/>) has the
                  result that any SVG content has to be placed as a data: URL in the "src"
                  attribute when an ascii-art fallback is present.  This makes the SVG effectively
                  uneditable once the preptool has been run, even if the SVG artwork was
                  originally provided as a regular SVG XML file external to the document XML file.


          </t>
          <t>

                  In order to be able to more easily deal with alternative instances of artwork,
                  and in the future possibly deal smoothly with a wider number of alternative
                  artwork formats than is currently provided for, a new element &lt;artset&gt;
                  could be introduced, presenting a set of alternative artwork executions.  This
                  would let the renderer pick the most appropriate &lt;artwork&gt; instance for
                  its format from the alternatives present within an &lt;artset&gt; element,
                  based on the "type" attribute of each enclosed &lt;artwork&gt; element.

          </t>
          <t>

                  If more than one &lt;artwork&gt; element is found within an &lt;artset&gt;
                  element, with the same "type" attribute, the renderer could select the first
                  one, or possibly choose between the alternative instances based on the output
                  format and some quality of the alternative instances that made one more
                  suitable than the other for that particular format, such as size, aspect
                  ratio, or whatnot.

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Implementation:</dt>
            <dd>
              <t>

			Xml2rfc as of version 2.19.0 implements this, with a preference list
                        when rendering to HTML and PDF of ( "svg", "binary-art", "ascii-art" ),
                        while the text renderer uses the list ( "ascii-art", ) -- i.e., one
                        entry only.  The Relax-NG compact schema used for &lt;artset&gt; is this:

                     
              </t>
              <artwork type="rnc" name="" align="left" alt=""><![CDATA[
   artset =
     element artset {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { xsd:ID }?,
       artwork+
     }
                     ]]></artwork>
              <t>

                        The &lt;artset&gt; element can occur anywhere an &lt;artwork&gt; element
                        can occur.  The first anchor on an &lt;artwork&gt; element within an
                        &lt;artset&gt; element will be promoted to the &lt;artset&gt; element if
                        it has none; apart from that, anchors on &lt;artwork&gt; elements
                        within an &lt;artset&gt; element will be removed by the preptool.
              </t>
            </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 2.5.5, "name" Attribute</name>
          <ul empty="true" spacing="normal">
            <li>

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

		     </li>
          </ul>
          <t>

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

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

			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 as specified
			in <xref target="RFC8407" format="default"/>.

		     </dd>
            <dt>Implementation:</dt>
            <dd>

			The current version of xml2rfc uses "name".

		     </dd>
            <dt>Resolution:</dt>
            <dd>

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

		     </dd>
          </dl>
          <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 numbered="true" toc="default" anchor="artwork-type-attribute">
          <name>In Section 2.5.7, &lt;artwork&gt; "type" Attribute</name>
          <t>

		  The text lists a number of preferred values, but does not indicate
		  how these are to be used, or what to do with other values.  In particular,
		  the default value is "" (i.e., empty) -- should this cause a warning or
		  error, or any other action?  If not, how should 'preferred' be understood?

          </t>
          <t>

		  Additionally, according to Section 5.1 of RFC 7991, any text content serves
		  as ascii-art fallback in case the rendering format cannot render the
		  content that the 'src' attribute indicates.  But in that case, it seems that
		  the "type" attribute should apply exclusively to the content that the "src"
		  attribute points at.  This should be clarified in the text.

          </t>
          <t>

		  Further, some thought about the possible use cases for the listed preferred values
		  of the "type" attribute makes it appear that the given list contains values
		  from (at least) two different classes of things:

          </t>
          <ul spacing="normal">
            <li>"svg" seems to describe a format</li>
            <li>"binary-art" also seems to describe a format</li>
            <li>"ascii-art" also seems to describe a format</li>
            <li>"call-flow" seems to describe the art content</li>
            <li>"hex-dump" seems to describe the art content</li>
          </ul>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

			Require the "type" attribute to have a value if the "src" attribute is
			specified, and let it describe the format.  
			If any action should be taken on the basis of
			one of the preferred values appearing or a different value appearing,
			add text to indicate so.

		     </dd>
            <dt/>
            <dd>

			For values like "call-flow" and "hex-dump", add a different attribute
			to describe the artwork content.  Do not conflate the artwork description
			with the artwork format given in the "type" attribute.
			
		     </dd>
            <dt>Implementation:</dt>
            <dd>

			The current implementation uses the "type" attribute to determine how
			to process the "src" attribute.  Handling exists for the values "svg", "binary-art",
                        and "ascii-art".  The idnits rewrite warns if type has any value other
			than "svg", "binary-art", or "ascii-art".

		     </dd>
            <dt/>
            <dd>

                        As of version 2.19.0 of xml2rfc, the conflict between the type
                        that the "src" attribute points at, and any ascii-art fallback has
                        been removed by introduction of the &lt;artset&gt; element.
                        
		     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 2.6, &lt;aside&gt;</name>
          <section numbered="true" toc="default">
            <name>Child element &lt;list&gt;</name>
            <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>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

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

                        </dd>
              <dt>Implementation:</dt>
              <dd>

                           Implemented in the current version of xml2rfc.

                        </dd>
            </dl>
          </section>
          <section numbered="true" toc="default">
            <name>Child element &lt;table&gt;</name>
            <t>

                     The schema permits &lt;table&gt; inside &lt;aside&gt;, but does
                     not permit &lt;table&gt; inside &lt;blockquote&gt;.  Lacking
                     any indication of why this is, it seems reasonable to propose
                     that the schema be adjusted to permit  &lt;table&gt; inside
                     either both or neither.

            </t>
            <t>

                     An added consideration is that appropriate rendering of table
                     headers and footers across page breaks may be in conflict with
                     rendering of  &lt;table&gt; within  &lt;aside&gt; and  &lt;blockquote&gt;.

            </t>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Implementation:</dt>
              <dd>

                           The current implementation (xml2rfc version 2.21.x) permits
                           &lt;table&gt; inside both   &lt;aside&gt; and  &lt;blockquote&gt;,
                           but does not guarantee that &lt;aside&gt;s and  &lt;blockquote&gt;s
                           broken across pages will have new table headers and footers added
                           if a table inside is split over multiple pages.

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

		  A number of elements permits a mixed content model (see <xref target="mixed-content-model" format="default"/>):
		  &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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

			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).

		     </dd>
            <dt>Resolution:</dt>
            <dd>

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

		     </dd>
          </dl>
          <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 numbered="true" toc="default">
          <name>In Section 2.20, &lt;dl&gt;</name>
          <t>

		  The current specification says:

          </t>
          <ul empty="true" spacing="normal">
            <li>

			"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."

		     </li>
          </ul>
          <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 <strong>always</strong> 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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

		     </dd>
            <dt>Resolution:</dt>
            <dd>

			The "hanging" attribute will be renamed to "newline", with newline="true"
			meaning the same as hanging="false".  The default value will change
			accordingly.

		     </dd>
          </dl>
          <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" numbered="true" toc="default">
          <name>New Section 2.20.4, "indent" Attribute</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

		     </dd>
            <dt>Resolution:</dt>
            <dd>

			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.

		     </dd>
          </dl>
          <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 numbered="true" toc="default">
          <name>New Section 2.54.2</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

			Make the 'align' attribute for tables available again.

		     </dd>
            <dt>Resolution:</dt>
            <dd>

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

		     </dd>
          </dl>
          <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-2.27-iref" numbered="true" toc="default">
          <name>In Section 2.27, &lt;iref&gt;</name>
          <t>

		  In HTML5, &lt;span&gt; may not be placed directly inside a table.  RFC 7992
		  specifies that &lt;iref&gt; should be rendered as a &lt;span&gt;, and also
		  specifies that &lt;table&gt; is directly rendered as its HTML counterpart.
		  This results in generating invalid HTML.  Suggest disallowing &lt;iref&gt; as
		  a direct child of &lt;table&gt; (but still permitting it within &lt;th&gt; and &lt;td&gt;).

          </t>
        </section>
        <section anchor="in-section-229-li" numbered="true" toc="default">
          <name>In Section 2.29, &lt;li&gt;</name>
          <section numbered="true" toc="default">
            <name>Unordered lists with arbitrary symbols</name>
            <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 whitespace) 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>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

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

				</dd>
              <dt>Resolution:</dt>
              <dd>

				   Rejected.

				</dd>
            </dl>
            <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" numbered="true" toc="default">
            <name>Mixed Content Model</name>
            <t>

			     The mixed content model for &lt;li&gt; - either text and inline elements like sub,
			     sup, bcp14, <em>or</em> &lt;t&gt;, &lt;ul&gt;, &lt;figure&gt; etc, is non-intuitive and may be hard for
			     users to keep straight.

            </t>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

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

				</dd>
              <dt>Resolution:</dt>
              <dd>

				   Rejected.

				</dd>
            </dl>
            <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 numbered="true" toc="default">
          <name>In Section 2.32, &lt;name&gt;</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

			     </dd>
            <dt>Resolution:</dt>
            <dd>

				Accepted.

			     </dd>
          </dl>
          <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 numbered="true" toc="default">
          <name>In Section 2.32, &lt;organization&gt;</name>
          <section numbered="true" toc="default">
            <name>Missing "asciiAbbrev" Attribute</name>
            <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>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

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

			     </dd>
              <dt>Implementation:</dt>
              <dd>

				The current version of xml2rfc supports "asciiAbbrev".

			     </dd>
            </dl>
          </section>
          <section numbered="true" toc="default">
            <name>Attribute "showOnFrontPage"</name>
            <t>

                             Guidance from the IAB regarding IAB stream documents (<eref target="https://www.rfc-editor.org/materials/iab-format.txt"/>)
                             indicate that "'Each author's name SHOULD be listed without an
                             organization.".  See also xml2rfc <eref target="https://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/311">ticket
                             #311</eref>.

            </t>
            <t>

                             In <xref target="RFC7991" format="default"/> there is no way to turn on or off the
                             display of &lt;organization&gt; on the front page, which would be
                             needed for cases when it is not wanted IAB documents to show such
                             on the front page.  (Cases where display of &lt;organization&gt;
                             is wanted is trivially supported by the current code).

            </t>
            <t>

                             In order to make it possible to expressly control this for a
                             vocabulary version 3 XML document, version 2.21.0 of xml2rfc
                             introduces an attribute "showOnFrontPage", with default value "true".

            </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>
        <section numbered="true" toc="default">
          <name>In Section 2.37, &lt;postal&gt;</name>
          <t>

			  The enhancement to &lt;postal&gt;, adding a &lt;postalLine&gt; element, is a
			  fair step on the way to permitting better representation of the wealth of
			  postal addresses around the globe which don't match the American postal
			  addresses.

          </t>
          <t>

			  Unfortunately, it manages to throw the baby out with the bathwater by
			  constraining postalLine to be used only if none of the other elements
			  are used.  This makes it impossible to apply <xref target="HCARD" format="default">hCard</xref> labels (based on
			  vCard <xref target="RFC6350" format="default"/> properties) to the elements of an
			  address, as <xref target="RFC7992" format="default"/> requires.
			  Applying the schema from <xref target="RFC7991" format="default"/> would make country
			  information and hCard tags unavailable for any locality with a postal
			  address scheme that needs to use &lt;postalLine&gt; because it does
			  not match the American scheme.  This would make statistics such as the
			  author origin statistics either miss authors with such addresses, or
			  make the statistics harder to compile than is necessary, and make for
			  instance the data on this page skewed:

			  <eref target="https://datatracker.ietf.org/stats/document/yearly/continent/"/>
          </t>
          <t>

			  The current implementation maps &lt;postalLine&gt; to the hCard property "extended-address",
			  and permits it to be used together with other elements, in particular &lt;country&gt;,
			  &lt;region&gt;, and &lt;city&gt;.  This is a change to the schema.

          </t>
          <t>

			  The current implementation also provides a full set of hCard- and
			  <xref target="RFC6350" format="default"/>-compatible address elements, including
			  &lt;extaddr&gt; and &lt;pobox&gt;.  The hCard locality address
			  component is mapped to the current &lt;city&gt; element, however; not
			  renamed to '&lt;locality&gt;'.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 2.40.2, "quoteTitle"</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

			     </dd>
            <dt>Implementation:</dt>
            <dd>

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

			     </dd>
          </dl>
          <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 numbered="true" toc="default">
          <name>In Section 2.41, &lt;referencegroup&gt;</name>
          <t>

                          If &lt;referencegroup&gt; is to be used to represent for instance an STD 
                          entries that consist of multiple RFCs, the STD itself will have an URL.
                          It would be natural to represent that with a "target" attribute, as for
                          &lt;reference&gt;.

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                                Add a "target" attribute for &lt;referencegroup&lt;, matching the
                                one for &lt;reference&lt;.

			     </dd>
            <dt>Implementation:</dt>
            <dd>

                                Implemented in xml2rfc v 2.18.0

			     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 2.42, &lt;references&gt;</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

				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.

			     </dd>
            <dt>Resolution:</dt>
            <dd>

				Accepted.

			     </dd>
          </dl>
          <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" numbered="true" toc="default">
          <name>In Section 2.45.1, "category" Attribute</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

			     </dd>
            <dt>Implementation:</dt>
            <dd>

				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.

			     </dd>
          </dl>
        </section>
        <section anchor="rfc-docname-attribute" numbered="true" toc="default">
          <name>In Section 2.45.3, "docName" Attribute</name>
          <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" format="default"/>.

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

			     </dd>
            <dt>Implementation:</dt>
            <dd>

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

			     </dd>
          </dl>
        </section>
        <section anchor="rfc-number-attribute" numbered="true" toc="default">
          <name>In Section 2.45.7, "number" Attribute</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

				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.

			     </dd>
            <dt>Implementation:</dt>
            <dd>

				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.

			     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 2.46.2, "numbered" Attribute</name>
          <t>

			  The text indicates that only top-level sections may have numbered="false", and
			  that a section with numbered="false" may not have a child section with numbered="true".
			  But that leaves no value that is valid for child sections of an unnumbered section:
			  They cannot have numbered="false", since they are not top-level sections, and they
			  cannot have numbered="true", since the parent has numbered="false".

          </t>
          <t>

			  Additionally, the prohibition against child sections having numbered="false" removes
			  the option of truncating the ToC listing for some child sections; without providing a
			  good explanation for this limitation, it seems arbitrary and counter-intuitive to
			  disallow this feature.

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

				Permit sections which are not top-level sections to have numbered="false".

			     </dd>
            <dt>Implementation:</dt>
            <dd>

				In The current version of xml2rfc, child sections may have numbered="false".

			     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 2.47, &lt;seriesInfo&gt;</name>
          <section numbered="true" toc="default">
            <name>Too many possible combinations</name>
            <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.  New usages, with the purpose
			     of replacing various attributes on the &lt;rfc&gt; element, have been added
			     without any consistent pattern or table of permitted and forbidden combinations
			     of values and attributes.

            </t>
          </section>
          <section numbered="true" toc="default">
            <name>The "name" Attribute</name>
            <t>

			     The 'name' attribute is mandatory, and only 3 values are permitted: "RFC",
			     "Interned-Draft", and "DOI", according to RFC 7991.  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., in the current reference library have have become illegal.

            </t>
          </section>
          <section numbered="true" toc="default">
            <name>Incompatibility between v2 and v3 schema</name>
            <t>

			     The placement of &lt;seriesInfo&gt; elements within &lt;reference&gt; has
			     changed in the v3 schema, in that it has been pulled into &lt;front&gt;, and
			     the v2 placement has been deprecated.  But this makes 'bibxml' reference files
			     produced according to the v3 schema incompatible with v2 processors, and would
			     require us to maintain 2 separate quotation libraries.



            </t>
          </section>
          <section numbered="true" toc="default">
            <name>Inappropriate Introduction of the "stream" Attribute</name>
            <t>

			     The v3 specification in  <xref target="RFC7991" format="default"/> introduces two new
			     attributes with semantic content, in addition to the ASCII versions of
			     the pre-existing "name" and "value" attributes: "stream" and "status".

            </t>
            <t>

			     The intention seems to be to deprecate attributes on &lt;rfc&gt;.  However,
			     these attributes cannot have multiple values for a document, which makes the
			     move to &lt;seriesInfo&gt;, which can occur multiple times, dubious.

            </t>
          </section>
          <section numbered="true" toc="default">
            <name>Summary</name>
            <t>

			     The number of issues introduced with the move of the &lt;seriesInfo&gt; element
			     and its re-purposing in order to fill functionality in the front of a document
			     is wholly disproportionate with any added functionality.  The specification
			     <xref target="RFC7991" format="default"/> does not provide any rationale for the changes, and
			     there seems to be no major benefits to the new schema.

            </t>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

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

				</dd>
              <dt/>
              <dd>

				   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;.

				</dd>
              <dt/>
              <dd>

				   The easiest approach would be to simply revert to the v2 semantics and
				   placement of &lt;seriesInfo&gt; elements, with documentation of that.

				</dd>
              <dt>Implementation:</dt>
              <dd>

				   The current implementation does not strip or disregard the attributes on &lt;rfc&gt;;
				   apart from that the schema is not reverted to v2 in the current implementation, but see also
				   <xref target="rfc-category-attribute" format="default"/>, <xref target="rfc-number-attribute" format="default"/>
				   and <xref target="attribute-default-value-insertion" format="default"/>.

				</dd>
            </dl>
          </section>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 2.48,  &lt;sourcecode&gt;</name>
          <t>
			     The specification is not clear on emitting &lt;CODE BEGINS&gt; and &lt;CODE ENDS&gt;
			     automatically when rendering &lt;sourcecode&gt;.  In some cases it would be helpful,
			     in others not.
          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

				   Add an attribute 'markers' for &lt;sourcecode&gt;, to control the emission
				   of &lt;CODE BEGINS&gt; and &lt;CODE ENDS&gt;.  If markers="true" and the
				   "name" attribute is set, the filename will also be emitted, as specified
				   in <xref target="RFC8407" format="default"/> for YANG modules.

				</dd>
            <dt>Implementation:</dt>
            <dd>

				   Implemented as proposed in the current version of xml2rfc.

				</dd>
          </dl>
        </section>
        <section anchor="in-section-2533-and-2534" numbered="true" toc="default">
          <name>In Section 2.53.3 and 2.53.4.</name>
          <section numbered="true" toc="default">
            <name>Unnecessary limitation on the use of "keepWithNext"</name>
            <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, or combinations thereof?

            </t>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

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

				</dd>
              <dt>Implementation:</dt>
              <dd>

				   Not in the current version of xml2rfc.

				</dd>
            </dl>
          </section>
          <section anchor="keepwithprevious-violates-kiss-and-dry" numbered="true" toc="default">
            <name>Violation of KISS and DRY principles</name>
            <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" format="default"/> and DRY (Don't Repeat Yourself) <xref target="DRY" format="default"/>.

            </t>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

				   Keep only one of these two attributes, preferably keepWithNext.

				</dd>
              <dt>Implementation:</dt>
              <dd>

				   Not in the current version of xml2rfc.

				</dd>
            </dl>
          </section>
        </section>
        <section numbered="true" toc="default">
          <name>New Section 2.X, &lt;u&gt;</name>
          <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" 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>


			  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
			  text in <xref target="element-unicode" format="default"/> is proposed for inclusion in RFC 7991-bis as a new
			  section.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 2.63.2, &lt;ul&gt; "empty" attribute</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

				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" format="default"/> with a whitespace
				bullet could be used.

			     </dd>
            <dt>Implementation:</dt>
            <dd>

				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.

			     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 2.66.1, &lt;xref&gt; "format" attribute</name>
          <section numbered="true" toc="default">
            <name>The "derivedContent" attribute</name>
            <t>

			  For items in an ordered list, the "derivedContent" attribute should be set to
			  the counter value for the item.  But that counter value is only known during
			  rendering.  How is this supposed to work?

            </t>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

				In order to be able to set the "derivedContent" value, the preptool
				actually has to work through the list and derive the rendered counter.
				If we accept this, <xref target="KISS" format="default"/> and <xref target="DRY" format="default"/> both points in the direction of not
				discarding this value, but making a record of it, in the same manner
				as we make a record of "derivedContent" for &lt;xref&gt;.  To do this,
				add a "derivedCounter" for &lt;li&gt;, and fill it in with the
				calculated counter value.

			     </dd>
              <dt>Implementation:</dt>
              <dd>

				Implemented as proposed.

			     </dd>
            </dl>
          </section>
          <section numbered="true" toc="default">
            <name>Referencing a &lt;dl&gt; entry</name>
            <t>

			  It is specified that &lt;xref&gt; with format="counter" may reference
			  sections, figures, tables, or ordered lists; but there does not seem to
			  be any technical reason why this should not also be permitted for definition
			  lists.

            </t>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

				Permit &lt;xref&gt; with format="counter" to also reference entries
				in definition list entries.

			     </dd>
              <dt>Implementation:</dt>
              <dd>

				Implemented as proposed.

			     </dd>
            </dl>
          </section>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 3.3, &lt;format&gt;</name>
          <t>

			  The <xref target="RFC7991" format="default"/> text seems to be based on a misunderstanding
			  of the purpose of the &lt;format&gt; element in pointing to alternative
			  representations of a reference.  There seems to be no reason in removing
			  this ability.  The current implementation does not remove alternative &lt;format&gt;
			  entries when converting v2 to v3.  The RFC 7991 text should be adjusted
			  accordingly, and in RFC 7992 it should be specified how to render links to
			  alternative formats for a reference.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 3.4.2, "hangIndent" Attribute</name>
          <ul empty="true" spacing="normal">
            <li>

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

			     </li>
          </ul>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

			     </dd>
            <dt>Implementation:</dt>
            <dd>

				Not in the current version of xml2rfc.

			     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Appendix C.  Relax NG schema</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

			     </dd>
            <dt>Implementation:</dt>
            <dd>

				Done in the current version of xml2rfc.

			     </dd>
          </dl>
        </section>
        <section anchor="use-of-the-term-counter" numbered="true" toc="default">
          <name>Use of the term "counter".</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

				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".

			     </dd>
            <dt>Implementation:</dt>
            <dd>

				Not in the current version of xml2rfc.

			     </dd>
          </dl>
        </section>
      </section>
      <section anchor="rfc-7998" numbered="true" toc="default">
        <name>RFC 7998</name>
        <section numbered="true" toc="default">
          <name>New Section 5.1.6, Attribute validation</name>
          <t>

			  Some attribute validation beyond what the schema enforces is possible and
			  desirable.  One example of this is to validate that all attributes which are
			  expected to have integer values actually does so.  A section on this should be
			  added.  The current implementation adds integer attribute validation and verification
			  that apart from the name attributes of &lt;author&gt;, no attribute values have
			  non-ASCII content.

          </t>
        </section>
        <section anchor="attribute-default-value-insertion" numbered="true" toc="default">
          <name>In Section 5.2.6, Attribute Default Value Insertion</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

			     </dd>
            <dt>Implementation:</dt>
            <dd>

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

			     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.4.6, "pn" Numbering.</name>
          <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? 
			  Why are &lt;dt&gt; and &lt;li&gt; present, but not &lt;ol&gt;, &lt;dl&gt;, &lt;ul&gt;?

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

			     </dd>
            <dt>Implementation:</dt>
            <dd>

				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.

			     </dd>
          </dl>
        </section>
      </section>
      <section anchor="pn-value-type" numbered="true" toc="default">
        <name>Some attributes should have value type xsd:ID</name>
        <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, as
		       this will guarantee that they all have distinct values in the xml source.

        </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>
		    -->
        <dl newline="false" indent="3" spacing="normal">
          <dt>Proposal:</dt>
          <dd>

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

			  </dd>
          <dt>Implementation:</dt>
          <dd>

			     Implemented in the current version of xml2rfc.

			  </dd>
        </dl>
      </section>
    </section>
    <section anchor="non-schema-issues" numbered="true" toc="default">
      <name>Non-Schema Issues</name>
      <section anchor="rfc-7991-1" numbered="true" toc="default">
        <name>RFC 7991</name>
        <section anchor="in-section-257-type-attribute" numbered="true" toc="default">
          <name>In Section 2.5.7, "type" Attribute</name>
          <section numbered="true" toc="default">
            <name>How should a "src" attribute be handled when "type" is missing.</name>
            <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>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

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

                        </dd>
              <dt>Implementation:</dt>
              <dd>

                           The current version of xml2rfc implements this as proposed.

                        </dd>
            </dl>
          </section>
          <section numbered="true" toc="default">
            <name>Missing information on how to handle various types</name>
            <ul empty="true" spacing="normal">
              <li>

                           "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)."

                        </li>
            </ul>
            <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 numbered="true" toc="default">
          <name>New Section 2.8.1: Index</name>
          <t>

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

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        Please provide specification.

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        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.

                     </dd>
          </dl>
        </section>
        <section anchor="in-section-217-date" numbered="true" toc="default">
          <name>In Section 2.17, &lt;date&gt;</name>
          <section numbered="true" toc="default">
            <name>Current Date Requirement</name>
            <ul empty="true" spacing="normal">
              <li>

                           "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."

                        </li>
            </ul>
            <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" format="default"/>, which is the 
                     current specification of permissible dates in draft submissions.  Finally,
                     enforcing this would cause <em>a lot</em> of grief and problems.

            </t>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

                           Remove the section.

                        </dd>
              <dt>Implementation:</dt>
              <dd>

                           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" format="default"/>.

                        </dd>
            </dl>
          </section>
          <section numbered="true" toc="default">
            <name>Date Specification in References</name>
            <ul empty="true" spacing="normal">
              <li>

                           "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."

                        </li>
            </ul>
            <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>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

                           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.

                        </dd>
              <dt>Implementation:</dt>
              <dd>

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

                        </dd>
            </dl>
          </section>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 2.40.1, "anchor" Attribute</name>
          <t>

                  Section 5.1 of RFC 7992 says in part:

          </t>
          <ul empty="true" spacing="normal">
            <li>

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

                     </li>
          </ul>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
          </dl>
        </section>

        <section numbered="true" toc="default">
          <name>In Section 2.48.4, "type" Attribute</name>
          <t>

                  Section 5.1 of RFC 7992 says in part:

          </t>
          <ul empty="true" spacing="normal">
            <li>

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

                     </li>
          </ul>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

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

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

          </t>
          <ul spacing="normal">
            <li>

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

                     </li>
            <li>

                        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.

                     </li>
          </ul>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt>Implementation:</dt>
            <dd>

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

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Appendix B.2.1: TLP switch-over date discrepancies</name>
          <t>
                  The current specification says:

          </t>
          <ul empty="true" spacing="normal">
            <li>
              <ul spacing="normal">
                <li>
                              "pn" for all elements not listed above always has the format
                              "p-nnn-mmm", where "nnn" is the section number and "mmm" is the
                              relative position in the section.  For example, this would be
                              "p-2.1.3-7" for the seventh part number in Section 2.1.3.
                           </li>
              </ul>
            </li>
          </ul>
          <t>

                  However, this will result in counting up the part numbers for invisible
                  parts, when numbered  elements are contained within enclosing numbered
                  block elements.

          </t>
          <t>

                  The current implementation instead uses the same "pn" numbering scheme
                  as Julian Reschke's vocabulary v3 XSLT processor, with hierarchical subsection element
                  numbering.  For instance, the first dt element within a dl in Section 2.1 would have
                  a pn number of "section-2.1-2.1".

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

          </t>
          <ul empty="true" spacing="normal">
            <li>

                        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.

                     </li>
          </ul>
          <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" numbered="true" toc="default">
          <name>In Section 6.2, Root Element</name>
          <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" numbered="true" toc="default">
          <name>In Section 6.4,  Page Headers and Footers</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Implementation:</dt>
            <dd>

                        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.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 6.5, Document Information</name>
          <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" format="default"/> 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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Implementation:</dt>
            <dd>

                        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.

                     </dd>
            <dt/>
            <dd>

                        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.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 8.1.1, Index Contents</name>
          <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 numbered="true" toc="default">
          <name>Inconsistent use of "s-", "n-" and User-Supplied "id" Attributes</name>
          <t>

                  RFC 7991 <xref target="RFC7991" format="default"/> specifies an attribute "slugifiedName" on
                  &lt;name&gt;, but does not specify how it is to be used.  RFC 7998 <xref target="RFC7998" format="default"/>
                  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" format="default"/> 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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Implementation:</dt>
            <dd>

                        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.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.2, &lt;address&gt;</name>
          <t>

                  The example reiterates an abbreviated form of the xml given under
                  &lt;author&gt;, as if there was no difference between the rendering of
                  &lt;address&gt; and &lt;author&gt;.  Furthermore, the example shows only
                  rendering of elements which are <em>not</em> part of &lt;address&gt;;
                  any rendering of the elements contained within &lt;address&gt; is omitted.
                  This is misleading, in particular since rendering of the individual child
                  elements (&lt;postal&gt;, &lt;phone&gt; , &lt;facsimile&gt; , &lt;email&gt;,
                  and &lt;uri&gt;) <em>has</em> been specified to have
                  explicit renderings.

          </t>
          <t>

                  Given that the specification text is reasonable for author name and org, but
                  nonsense for the &lt;address&gt; element, the following text has been assumed during
                  implementation:

          </t>
          <t>

                  The &lt;address&gt; element will be rendered as a sequence of &lt;div&gt;
                  elements, each corresponding to a child element of &lt;address&gt;, and
                  enclosed in the same &lt;address&gt; element as the name, role, and
                  organization information.  Element classes will be taken from hCard
                  <xref target="HCARD" format="default"/>, as
                  specified on <eref target="http://microformats.org/wiki/hcard"/>.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.7.2, Authors of this Document</name>
          <t>

                  RFC 7997 gives the text separating the ASCII and non-ASCII address
                  information as "Additional contact information:".


          </t>
          <t>

                  RFC 7997 manages to convey the desired rendering order of ASCII and non-ASCII
                  address information without any americentric language, but RFC 7992 talks
                  about the non-ASCII version as 'fallback'.  As a non-native English speaker
                  raised speaking and writing 2 languages that both have alphabets with
                  non-ASCII letters, the author of this memo finds the language in RFC 7992
                  somewhat offensive, and suggests that it be removed from the document.

          </t>
          <t>

                  The current xml2rfc implementation uses the layout and wording given in RFC
                  7997, not RFC 7992.

          </t>
          <t>

                  Furthermore, the document also says:

          </t>
          <ul empty="true" spacing="normal">
            <li>

                        "When the &lt;author&gt; element, or any of its descendant elements, has any
                        attribute that starts with "ascii", all of the author information is
                        displayed twice. ..."

                     </li>
          </ul>
          <t>

                  This is in conflict with <xref target="RFC7997" format="default"/>, Section 3.2, which
                  indicates that the determining factor for displaying both non-ASCII and ASCII
                  author information is whether a script outside the Unicode Latin blocks is
                  used for the primary information.  The current implementation checks for this,
                  rather than going by the presence of attributes with an 'ascii' prefix.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.7.3, Authors of References</name>
          <t>

                  Information is completely missing on how to render non-ascii name
                  information in references.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.16, &lt;cref&gt;</name>
          <t>

                  The text does not mention how to deal with &lt;cref&gt;s with display="false".
                  Presumably by not displaying them; but if there exists internal links to the
                  &lt;cref&gt; anchor, completely omitting the rendering could cause breakage.
                  The current xml2rfc implementation handles this by inserting an empty HTML
                  &lt;span&gt; with the appropriate id attribute.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.24, &lt;eref&gt;</name>
          <t>

                  No handling is provided for the case where the &lt;eref&gt; element
                  is empty, which would result in an empty (and invisible) HTML &lt;a&gt; element.
                  The current implementation in this case instead inserts a span containing '&lt;', an &lt;a&gt;
                  with appropriate href and the target URL as text, and '&gt;'.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.25, &lt;figure&gt;</name>
          <t>

                  The specified HTML rendering will result in a figure title text which links
                  to itself.  With the caption placed below the figure, this means that if you
                  click on the title, the figure will scroll up above the browser window.
                  This is not particularly useful.

          </t>
          <t>

                  The current implementation instead inserts an empty &lt;span&gt; as the first
                  element of the figure, and gives it an id attribute with the value set to the
                  slugifiedName attribute of the &lt;name&gt; element, in order to make the
                  link from the figure caption text useful.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.27, &lt;iref&gt;</name>
          <t>

                  The text refers to the "irefid" attribute.  Interpreted as meaning the "pn" attribute,
                  as the schema has no "irefid" attribute.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.33, &lt;note&gt;</name>
          <t>
                  Typo: s/"yes"/"true"/
          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.34, &lt;ol&gt;</name>
          <t>

                  The &lt;ol&gt; element has no "style" attribute.  The implementation assumes "type" instead.  

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.35, &lt;organization&gt;</name>
          <t>

                  The text here is in conflict with RFC 7997 with respect to rendering the Authors'
                  Addresses section.  RFC 7997 describes rendering two sets of full information,
                  one ASCII and one non-ASCII, not a single &lt;div&gt; where the non-ASCII name
                  is given first, followed by the ASCII version as needed.  

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.36, &lt;phone&gt;</name>
          <t>

                  The text here is in conflict with the use of 'type' in vCard and hCard.
                  Telephone number type annotations identify things like 'Home' and 'Work'.
                  The current implementation does not add the uppercase VOICE type annotation.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.37, &lt;postal&gt;</name>
          <t>

                  The current specification says:

          </t>
          <ul empty="true" spacing="normal">
            <li>

                        This element renders as an HTML &lt;div&gt; with CSS class "adr", unless it
                        contains one or more &lt;postalLine&gt; child elements; in which case, it
                        renders as an HTML &lt;pre&gt; element with CSS class "label".

                     </li>
          </ul>
          <t>

                  Handling &lt;postalLine&gt; elements this way violates the <xref target="HCARD" format="default">hCard</xref> specification.
                  They will instead be rendered as hCard elements with class "extended-address"
                  within the same &lt;div&gt; with CSS class "adr" as other &lt;postal&gt; sub-elements.

          </t>
          <t>

                  The specification continues to enforce American postal address structure on
                  addresses that don't use &lt;postalLine&gt;.  This has been changed in the
                  current implementation; instead of using the fixed American layout for all
                  countries, the formatting has been adapted to use country-specific formatting
                  for all recognised country names and codes.

          </t>
          <t>

                  ( The implementer considered applying a non-US postal address layout for
                  all US addresses, to see how swiftly this would raise hue and cry and be
                  labelled a bug, but in the interest of not causing unnecessary upset resisted
                  the urge. )

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.40, &lt;reference&gt;</name>
          <section numbered="true" toc="default">
            <name>Misleading example</name>
            <t>

                     Section 9.41 of <xref target="RFC7992" format="default"/> shows &lt;referencegroup&gt; being
                     rendered as &lt;dt&gt;, &lt;dd&gt;, while the example for this section
                     shows one reference being rendered as &lt;dl&gt; &lt;dt&gt; &lt;dd&gt; &lt;/dl&gt;.
                     This is contradictory.  Which one is right?  The CSS class on &lt;dl&gt;, which is
                     specified as class="reference" points in the direction that each individual &lt;reference&gt;
                     entry should be rendered as one &lt;dl&gt; with one set of &lt;dt&gt; &lt;dd&gt;,
                     while it would seem much more logical to render the list of references as one
                     single list holding all the references.

            </t>
            <t>

                     The current xml2rfc implementation renders &lt;references&gt; as a section
                     containing one &lt;dl&gt;, and each individual &lt;reference&gt; or
                     &lt;referencegroup&gt; as a &lt;dt&gt; &lt;dd&gt; pair within that list.
                     To match this, the CSS class used is 'references' rather than 'reference'.

            </t>
          </section>
          <section numbered="true" toc="default">
            <name>Anchor handling disregards &lt;displayreference&gt;</name>
            <t>

                     There is no mention in the description of the HTML rendering of
                     &lt;reference&gt; of the effects of &lt;displayreference&gt;, which definitely
                     needs to be considered.  Emitting the original anchor value from the reference
                     entry (which often comes from the bibxml reference library) would make the
                     emitted reference labels wrong when there is a &lt;displayreference&gt; entry
                     for the reference.  The most straightforward approach would be to
                     add an attribute "derivedAnchor" to &lt;reference&gt; and have the preptool set it.

            </t>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

                           Add an attribute "derivedAnchor" to &lt;reference&gt;.  Specify in <xref target="RFC7998" format="default"/>
                           that this is set by the preptool, and update <xref target="RFC7991" format="default"/> and
                           <xref target="RFC7992" format="default"/> accordingly.

                        </dd>
              <dt>Implementation:</dt>
              <dd>

                           Implemented as proposed.

                        </dd>
            </dl>
          </section>
          <section numbered="true" toc="default">
            <name>Handling of author lists in &lt;reference&gt; is under-specified</name>
            <t>

                     The example shows the 'and' between author names within a span (unclear
                     why) but does not show how to handle commas separating authors.  The style
                     examples on github do not enclose commas or 'and' in a span, which seems
                     reasonable.  Going with the style example files here.  Section 9.7.3 of RFC
                     7992 gives an example without 'and' enclosed in a span, contradicting
                     Section 9.40 of the same RFC.

            </t>
            <t>

                     Trying to sort out the rendering of author names in references by looking
                     at other sources than RFC 7992 reveals that the CSS samples show dual
                     reference entries, one with ascii names and another with non-ascii names.
                     This contradicts RFC 7997, which shows a single reference entry where the
                     non-ascii author names are given with the ascii equivalent in parentheses.

            </t>
            <t>

                     The current implementation follows RFC 7997 in this respect, not RFC 7992.

            </t>
          </section>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.41, &lt;referencegroup&gt;</name>
          <t>

                  This element is a sibling to &lt;reference&gt;, and &lt;reference&gt; is
                  described as being rendered as a &lt;dl&gt; with one set of &lt;dt&gt;, &lt;dd&gt;
                  child elements.  

          </t>
          <t>

                  However, &lt;referencegroup&gt; is specified to be rendered as a &lt;dt&gt;, &lt;dd&gt;
                  set, <strong>without</strong> any containing &lt;dl&gt;.  The individual
                  reference entries are then specified to be rendered as &lt;div&gt;s inside the &lt;dd&gt;

          </t>
          <ol spacing="normal" type="1">
            <li>This produces invalid HTML, because there is no containing &lt;dl&gt;</li>
            <li>Why isn't this rendered as a &lt;dl&gt; with multiple &lt;dd&gt; entries?  That
                        would make the styling much more consistent.</li>
          </ol>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.42, &lt;references&gt;</name>
          <t>

                  The specification says that this is to be rendered as a &lt;section&gt;.
                  However, if &lt;reference&gt;s and &lt;referencegroup&gt;s are to be rendered
                  as &lt;dt&gt;, &lt;dd&gt;, then this element needs to be rendered as
                  &lt;section&gt; &lt;dl&gt; ... &lt;/dl&gt; &lt;/section&gt;

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.54, &lt;table&gt;</name>
          <t>

                  RFC 7992 says: "This element is directly rendered as its HTML counterpart."

          </t>
          <t>

                  This ignores the special processing needed to insert a &lt;caption&gt; element.
                  The current implementation handles this appropriately.  The specification should
                  be updated.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.56, &lt;td&gt;</name>
          <t>

                  RFC 7992 says: "This element is directly rendered as its HTML counterpart."

          </t>
          <t>

                  However, that is not correct.  An appropriate style class needs to
                  be inserted to honour the "align" attribute.  The classes "alignLeft",
                  "alignCenter", and "alignRight" of the provided CSS are geared towards
                  block alignment; here text alignment is needed.  The current implementation
                  uses "text-left", "text-center", and "text-right", and provides appropriate
                  CSS entries.  (These attribute names matches the equivalent bootstrap names.)

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.58, &lt;th&gt;</name>
          <t>

                  RFC 7992 says: "This element is directly rendered as its HTML counterpart."

          </t>
          <t>

                  However, that is not correct.  An appropriate style class needs to
                  be inserted to honour the "align" attribute.  The classes "alignLeft",
                  "alignCenter", and "alignRight" of the provided CSS are geared towards
                  block alignment; here text alignment is needed.  The current implementation
                  uses "text-left", "text-center", and "text-right", and provides appropriate
                  CSS entries.  (These attribute names matches the equivalent bootstrap names.)

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

                  This section completely lacks specification on how to render title elements
                  with non-Latin content and an "ascii" attribute.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 9.66, &lt;xref&gt;</name>
          <t>

                  The specification says:

          </t>
          <ul empty="true" spacing="normal">
            <li>

                        ... If the "format" attribute has the value "default", and the "target"
                        attribute points to a &lt;reference&gt; or &lt;referencegroup&gt;
                        element, then the generated &lt;a&gt; element is surrounded by square
                        brackets in the output.

                     </li>
          </ul>
          <t>

                  However, inspection of actual usage indicates that a better rendering would
                  be to surround the generated &lt;a&gt; with square brackets only for empty
                  &lt;xref&gt; elements; when there is content, usage indicates that authors
                  provide enclosing parentheses or not depending on circumstances.  Since in
                  HTML rendering the brackets are not necessary to provide a clue that this
                  refers to other content (unlike the text case), the square brackets could
                  be omitted when the &lt;xref&gt; element contains text.  The current
                  implementation does so.

          </t>
        </section>
      </section>
      <section anchor="rfc-7994" numbered="true" toc="default">
        <name>RFC 7994</name>
        <section numbered="true" toc="default">
          <name>Additional Guidance</name>
          <ul spacing="normal">
            <li>

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

                     </li>
            <li>

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

                     </li>
            <li>

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

                     </li>
            <li>

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

                     </li>
            <li>

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

                     </li>
            <li>
              <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.

              </t>
              <dl newline="false" indent="3" spacing="normal">
                <dt>Proposal:</dt>
                <dd>

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

                           </dd>
                <dt>Implementation:</dt>
                <dd>

                              Implemented in the current version of xml2rfc.

                           </dd>
              </dl>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="rfc-7998-1" numbered="true" toc="default">
        <name>RFC 7998</name>
        <section numbered="true" toc="default">
          <name>In Section 5.2.3, &lt;date&gt; Insertion</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt>Implementation:</dt>
            <dd>

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

                     </dd>
            <dt/>
            <dd>

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

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.2.4, "prepTime" Insertion</name>
          <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" format="default"/>,
                  with year, month, day, hour, minute, and second.

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt>Implementation:</dt>
            <dd>

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

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.2.6, Attribute Default Value Insertion</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        Omit deprecated attributes from the default-setting.

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        Not in the current version of xml2rfc.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.2.7, "toc" Attribute</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        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.

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        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.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.2.8, "removeInRFC" Warning Paragraph</name>
          <t>

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

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        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.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.3.1, "month" Attribute</name>
          <ul empty="true" spacing="normal">
            <li>

                        "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."

                     </li>
          </ul>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        Clarify the text.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.3.2, ASCII Attribute Processing</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
          </dl>
          <ul empty="true" spacing="normal">
            <li>

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

                     </li>
          </ul>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        Implemented in the current version of xml2rfc.

                     </dd>
          </dl>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        Implemented as proposed.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>New Section 5.3.4: "keepWithNext" Normalisation</name>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        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" format="default"/>
                        is not accepted.  

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        Not in the current version of xml2rfc.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.4.2, &lt;boilerplate&gt; Insertion: Only for RFCs?</name>
          <ul empty="true" spacing="normal">
            <li>

                        "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."

                     </li>
          </ul>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        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.

                     </dd>
            <dt>Implementation:</dt>
            <dd>

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

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.4.2, &lt;boilerplate&gt; Insertion: Error Message</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt/>
            <dd>

                        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.

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        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."

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.4.2.1, Compare submissionType and &lt;seriesInfo&gt; "stream".</name>
          <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 according to <xref target="DRY" format="default"/>, 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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        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.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.4.2.2, "Status of this Memo" Insertion</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        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.



                     </dd>
            <dt>Implementation:</dt>
            <dd>

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

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.4.3, &lt;reference&gt; "target" Insertion</name>
          <ul empty="true" spacing="normal">
            <li>

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

                     </li>
          </ul>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        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'.

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        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.

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

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

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        Implemented as proposed in the current version of xml2rfc.

                     </dd>
          </dl>
          <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>
          <ul spacing="normal">
            <li>

                        remove non-ascii letters

                     </li>
            <li>

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

                     </li>
            <li>

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

                     </li>
          </ul>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        Do slugification and uniqueness enforcement as described above.

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        As described above.

                     </dd>
          </dl>
        </section>
        <section anchor="in-section-546-pn-numbering-1" numbered="true" toc="default">
          <name>In Section 5.4.6, "pn" Numbering.</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        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"

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        Implemented as proposed in the current version of xml2rfc.

                     </dd>
          </dl>
          <section numbered="true" toc="default">
            <name>RFC format anchors / fragment identifiers</name>
            <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>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>
                <t>

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

                </t>
                <ul spacing="normal">
                  <li>"section-xxx"</li>
                  <li>"figure-xxx"</li>
                  <li>"table-xxx"</li>
                  <li>"appendix-xxx"</li>
                  <li>"index-xxx"</li>
                  <li>"para-xxx"</li>
                  <li>"name-xxx"</li>
                </ul>
              </dd>
              <dt>Implementation:</dt>
              <dd>

                           Implemented as above in the current version of xml2rfc.

                        </dd>
            </dl>
          </section>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.4.7, &lt;iref&gt; Numbering</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        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.

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        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.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.4.8.1, "derivedContent" Insertion (with Content)</name>
          <t>

                  This section is problematic.  It says:

          </t>
          <ul empty="true" spacing="normal">
            <li>

                        For each &lt;xref&gt; element that has content, fill the "derivedContent"
                        with the element content, having first trimmed the whitespace from
                        ends of content text.  Issue a warning if the "derivedContent"
                        attribute already exists and has a different value from what was
                        being filled in.

		     </li>
          </ul>
          <t>



                  On the surface, it seems to replace the effect of using &lt;xref&gt; with
                  format="none" under vocabulary version 2, but in practice it blocks the
                  combination of generated text (say a section number fetched from the
                  referenced section) with author-provided text, since any author-provided text
                  will preempt generated text that is based on the "format" attribute with the
                  author-provided text.

          </t>
          <t>

                  Additionally, and in one sense just as bad, it violates the principle of least
                  surprise <xref target="POLA" format="default"/>, since it is a fundamental change from how text
                  inside the &lt;xref&gt; element was combined with generated text in version 2.

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Implementation:</dt>
            <dd>

                        As of xml2rfc 2.19.0, the expansion of &lt;xref&gt; and its variation
                        based on "format" attribute settings has been reverted to be more in
                        line with version two, and more regular.  The attribute setting
                        format="none" is honoured again, and if the &lt;xref&gt; element has
                        text content, it is combined with the content derived from the format
                        attribute setting, rather than simply overriding it, as was the
                        consequence of Section 5.4.8.1 of <xref target="RFC7998" format="default"/>.  

                     </dd>
            <dt/>
            <dd>
              <ul spacing="normal">
                <li>Derived content is generated based on the format attribute</li>
                <li>If text content is provided, it is shown together with any derived content</li>
                <li>If the &lt;xref&gt; target is a listed reference, the derived content is shown within square brackets</li>
                <li>If the &lt;xref&gt; target is not a listed reference , the derived content is shown within parentheses if there is text content, and without parentheses if not.</li>
                <li>If text content is provided, and is identical with the derived content, it is ignored.</li>
              </ul>
            </dd>
          </dl>
          <t>

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

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.4.8.2, "derivedContent" Insertion (without Content)</name>
          <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 numbered="true" toc="default">
          <name>In Section 5.5.1, &lt;artwork&gt; Processing</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        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.

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        Implemented as proposed in the current version of xml2rfc.

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

                  List item 4 says:

          </t>
          <ul empty="true" spacing="normal">
            <li>
                        "fill the content of the &lt;sourcecode&gt; element with the
                        resolved XML from the URI in the "src" attribute"
                     </li>
          </ul>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        Implemented as proposed in the current version of xml2rfc.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.4.8.2, "derivedContent" Insertion.</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

                        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.

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        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.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>In Section 5.4.9, &lt;relref&gt; Processing</name>
          <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>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        The  &lt;relref&gt; functionality has been folded into &lt;xref&gt;.
                        As of version 2.20.0, xml2rfc rewrites &lt;relref&gt; to &lt;xref&gt;.

                     </dd>
          </dl>
        </section>
        <section numbered="true" toc="default">
          <name>New Section 5.4.10, Unused Reference Warnings</name>
          <t>

                  During vocabulary version 2 processing, warnings are emitted for &lt;reference&gt;
                  entries that are not used.  This is not specified for v3, but is desired, according
                  to RFC Editor staff.  Implemented in xml2rfc v2.18.0.

          </t>
        </section>
        <section numbered="true" toc="default">
          <name>New Section 5.4.11, Index Insertion</name>
          <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>
          <ul empty="true" spacing="normal">
            <li>

                        "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."

                     </li>
          </ul>
          <dl newline="false" indent="3" spacing="normal">
            <dt>Proposal:</dt>
            <dd>

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

                     </dd>
            <dt>Implementation:</dt>
            <dd>

                        Implemented as proposed in the current version of xml2rfc.

                     </dd>
          </dl>
        </section>
        <section anchor="link-processing" numbered="true" toc="default">
          <name>In Section 5.6.3,  &lt;link&gt; Processing</name>
          <section numbered="true" toc="default">
            <name>Using docName to generate convertedFrom</name>
            <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>
            <dl newline="false" indent="3" spacing="normal">
              <dt>Proposal:</dt>
              <dd>

                           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" format="default"/>).

                        </dd>
              <dt>Implementation:</dt>
              <dd>

                           Implemented as proposed in the current version of xml2rfc.

                        </dd>
            </dl>
          </section>
          <section numbered="true" toc="default">
            <name>Invalid "rel" values.</name>
            <t>

                     Using the W3C validator to validate the V3 output, there are some errors; all of them
                     with the same basic complaint:  The values prescribed for the &lt;link&gt; "rel"
                     attribute (derivedFrom, describedBy, and item) are not permitted values.
                     The permitted values are given here:
                     <eref target="https://html.spec.whatwg.org/multipage/links.html#linkTypes"/>.

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

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

      </t>
    </section>
  </middle>
  <back>
    <references>
      <name>Informative References</name>
      <reference anchor="DRY" target="https://en.wikipedia.org/wiki/Don%27t_repeat_yourself">
        <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">
        <front>
          <title>KISS Principle</title>
          <author>
            <organization>Wikipedia</organization>
          </author>
          <date year="2018"/>
        </front>
      </reference>
      <reference anchor="POLA" target="https://en.wikipedia.org/wiki/Principle_of_least_astonishment">
        <front>
          <title>Principle of least astonishment</title>
          <author>
            <organization>Wikipedia</organization>
          </author>
          <date year="2018"/>
        </front>
      </reference>
      <reference anchor="RFC3339" target="https://www.rfc-editor.org/info/rfc3339">
        <front>
          <title>Date and Time on the Internet: Timestamps</title>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
          <seriesInfo name="RFC" value="3339"/>
          <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>
      </reference>
      <reference anchor="RFC4228" target="https://www.rfc-editor.org/info/rfc4228">
        <front>
          <title>Requirements for an IETF Draft Submission Toolset</title>
          <seriesInfo name="DOI" value="10.17487/RFC4228"/>
          <seriesInfo name="RFC" value="4228"/>
          <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>
      </reference>
      <reference anchor="RFC6350" target="https://www.rfc-editor.org/info/rfc6350" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6350.xml">
        <front>
          <title>vCard Format Specification</title>
          <seriesInfo name="DOI" value="10.17487/RFC6350"/>
          <seriesInfo name="RFC" value="6350"/>
          <author initials="S." surname="Perreault" fullname="S. Perreault">
            <organization/>
          </author>
          <date year="2011" month="August"/>
          <abstract>
            <t>This document defines the vCard data format for representing and exchanging a variety of information about individuals and other entities (e.g., formatted and structured name and delivery addresses, email address, multiple telephone numbers, photograph, logo, audio clips, etc.).  This document obsoletes RFCs 2425, 2426, and 4770, and updates RFC 2739.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
      </reference>
      <reference anchor="RFC7749" target="https://www.rfc-editor.org/info/rfc7749">
        <front>
          <title>The "xml2rfc" Version 2 Vocabulary</title>
          <seriesInfo name="DOI" value="10.17487/RFC7749"/>
          <seriesInfo name="RFC" value="7749"/>
          <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>
      </reference>
      <reference anchor="RFC7991" target="https://www.rfc-editor.org/info/rfc7991">
        <front>
          <title>The "xml2rfc" Version 3 Vocabulary</title>
          <seriesInfo name="DOI" value="10.17487/RFC7991"/>
          <seriesInfo name="RFC" value="7991"/>
          <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>
      </reference>
      <reference anchor="RFC7992" target="https://www.rfc-editor.org/info/rfc7992">
        <front>
          <title>HTML Format for RFCs</title>
          <seriesInfo name="DOI" value="10.17487/RFC7992"/>
          <seriesInfo name="RFC" value="7992"/>
          <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>
      </reference>
      <reference anchor="RFC7993" target="https://www.rfc-editor.org/info/rfc7993">
        <front>
          <title>Cascading Style Sheets (CSS) Requirements for RFCs</title>
          <seriesInfo name="DOI" value="10.17487/RFC7993"/>
          <seriesInfo name="RFC" value="7993"/>
          <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>
      </reference>
      <reference anchor="RFC7994" target="https://www.rfc-editor.org/info/rfc7994">
        <front>
          <title>Requirements for Plain-Text RFCs</title>
          <seriesInfo name="DOI" value="10.17487/RFC7994"/>
          <seriesInfo name="RFC" value="7994"/>
          <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>
      </reference>
      <reference anchor="RFC7995" target="https://www.rfc-editor.org/info/rfc7995">
        <front>
          <title>PDF Format for RFCs</title>
          <seriesInfo name="DOI" value="10.17487/RFC7995"/>
          <seriesInfo name="RFC" value="7995"/>
          <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>
      </reference>
      <reference anchor="RFC7996" target="https://www.rfc-editor.org/info/rfc7996">
        <front>
          <title>SVG Drawings for RFCs: SVG 1.2 RFC</title>
          <seriesInfo name="DOI" value="10.17487/RFC7996"/>
          <seriesInfo name="RFC" value="7996"/>
          <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>
      </reference>
      <reference anchor="RFC7997" target="https://www.rfc-editor.org/info/rfc7997">
        <front>
          <title>The Use of Non-ASCII Characters in RFCs</title>
          <seriesInfo name="DOI" value="10.17487/RFC7997"/>
          <seriesInfo name="RFC" value="7997"/>
          <author initials="H." surname="Flanagan" fullname="H. Flanagan" role="editor">
            <organization/>
          </author>
          <date year="2016" month="December"/>
          <abstract>
            <t>

		     In order to support the internationalisation 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>
      </reference>
      <reference anchor="RFC7998" target="https://www.rfc-editor.org/info/rfc7998">
        <front>
          <title>"xml2rfc" Version 3 Preparation Tool Description</title>
          <seriesInfo name="DOI" value="10.17487/RFC7998"/>
          <seriesInfo name="RFC" value="7998"/>
          <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>
      </reference>
      <reference anchor="RFC8407" target="https://www.rfc-editor.org/info/rfc8407">
        <front>
          <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
          <seriesInfo name="DOI" value="10.17487/RFC8407"/>
          <seriesInfo name="RFC" value="8407"/>
          <seriesInfo name="BCP" value="216"/>
          <author initials="A." surname="Bierman" fullname="A. Bierman">
            <organization/>
          </author>
          <date year="2018" month="October"/>
          <abstract>
            <t>This memo provides guidelines for authors and reviewers of specifications containing YANG modules.  Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilise YANG modules.  This document obsoletes RFC 6087.</t>
          </abstract>
        </front>
      </reference>
      <reference anchor="XML2RFC" target="https://pypi.org/pypi/xml2rfc">
        <front>
          <title>xml2rfc</title>
          <author initials="H." surname="Levkowetz" fullname="Henrik Levkowetz">
            <organization/>
          </author>
          <date year="2018"/>
        </front>
      </reference>
      <reference anchor="HCARD" target="http://microformats.org/wiki/hcard">
        <front>
          <title>hCard 1.0</title>
          <author initials="T." surname="Celik" fullname="Tantek Celik"/>
          <date year="2015"/>
        </front>
      </reference>
    </references>
    <section numbered="true" toc="default">
      <name>Proposed new sections in RFC 7991 bis</name>
      <section anchor="element-unicode" numbered="true" toc="default">
        <name>&lt;u&gt;</name>
        <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;, &lt;seriesInfo&gt;, and
	       &lt;title&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>

	       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 a "format"
	       attribute.
	       This provides a generalised means of generating 
	       the 6 methods of Unicode renderings listed in <xref target="RFC7997" format="default"/>, Section 3.4,
	       and also several others found in for instance the RFC Format Tools example rendering of RFC 7700,
	       at <eref target="https://rfc-format.github.io/draft-iab-rfc-css-bis/sample2-v2.html"/>.

        </t>
        <t>

	       The "format" attribute accepts either a simplified format specification, or
	       a full format string with placeholders for the various possible Unicode expansions.

        </t>
        <section anchor="element-unicode-format" numbered="true" toc="default">
          <name>Expansion of simplified &lt;u&gt; format specifications</name>
          <t>

	       The simplified format consists of dash-separated keywords, where each keyword
	       represents a possible expansion of the Unicode character or string; use for example
	       <tt>&lt;u "lit-num-name"&gt;foo&lt;/u&gt;</tt>
	       to expand the text to its literal value, code point values, and
	       code point names.

          </t>
          <t>

	       A combination of up to 3 of the following keywords may be used, separated by
	       dashes: "num", "lit", "name", "ascii", "char".  The keywords are expanded as
	       follows and combined, with the second and third enclosed in parentheses (if
	       present):

          </t>
          <dl newline="false" indent="3" spacing="normal">
            <dt/>
            <dd>
              <dl newline="false" spacing="normal">
                <dt>"num"</dt>
                <dd>
		     The numeric value(s) of the element text, in U+1234 notation</dd>
                <dt>"name"</dt>
                <dd>
		     The Unicode name(s) of the element text</dd>
                <dt>"lit"</dt>
                <dd>
		     The literal element text, enclosed in quotes</dd>
                <dt>"char"</dt>
                <dd>
		     The literal element text, without quotes</dd>
                <dt>"ascii"</dt>
                <dd>
		     The value of the 'ascii' attribute on the &lt;u&gt; element</dd>
              </dl>
            </dd>
          </dl>
          <t>

	       In order to ensure that no specification mistakes can result for rendering
	       methods that cannot render all Unicode code points, "num" <bcp14>MUST</bcp14> always be
	       part of the specified format.

          </t>
          <t>

	       The default value of the "format" attribute is "lit-name-num".

          </t>
          <section anchor="element-unicode-format-examples" numbered="true" toc="default">
            <name>Examples</name>
            <t>


	       Examples:

            </t>
            <dl newline="false" indent="3" spacing="normal">
              <dt/>
              <dd>
                <dl newline="true" spacing="normal">
                  <dt>format="num-lit":</dt>
                  <dd>
		     Temperature changes in the Temperature Control Protocol are
		     indicated by the character <u format="num-lit">Δ</u>.</dd>
                  <dt>format="num-name":</dt>
                  <dd>
		     Temperature changes in the Temperature Control Protocol are
		     indicated by the character <u format="num-name">Δ</u>.</dd>
                  <dt>format="num-lit-name":</dt>
                  <dd>
		     Temperature changes in the Temperature Control Protocol are
		     indicated by the character <u format="num-lit-name">Δ</u>.</dd>
                  <dt>format="num-name-lit":</dt>
                  <dd>
		     Temperature changes in the Temperature Control Protocol are
		     indicated by the character <u format="num-name-lit">Δ</u>.</dd>
                  <dt>format="name-lit-num":</dt>
                  <dd>
		     Temperature changes in the Temperature Control Protocol are
		     indicated by the character <u format="name-lit-num">Δ</u>.</dd>
                  <dt>format="lit-name-num":</dt>
                  <dd>
		     Temperature changes in the Temperature Control Protocol are
		     indicated by the character <u format="lit-name-num">Δ</u>.</dd>
                </dl>
              </dd>
            </dl>
          </section>
          <section anchor="element-unicode-multi" numbered="true" toc="default">
            <name>Expansion of &lt;u&gt; multi-codepoint strings</name>
            <t>

	       If the &lt;u&gt; element encloses a sequence of Unicode codepoints, rather than
	       a single one, the rendering
	       reflects this.  The element
            </t>
            <artwork name="" type="" align="left" alt=""><![CDATA[   <u format="num-lit">ᏚᎢᎵᎬᎢᎬᏒ</u>]]></artwork>
            <t>
	       will be expanded to '<u format="num-lit">ᏚᎢᎵᎬᎢᎬᏒ</u>'.

            </t>
            <t>

	       Unicode characters in document text which are not enclosed in &lt;u&gt;
	       will be replaced with a question mark (?) and a warning will be issued.

            </t>
          </section>
        </section>
        <section anchor="element-unicode-full-format" numbered="true" toc="default">
          <name>Non-simplified &lt;u&gt; format specifications</name>
          <t>

	       In order to provide for cases where the simplified format above is insufficient,
	       without relinquishing the requirement that the number of a code point always must
	       be rendered, the "format" attribute can also accept a full format string.  This
	       format uses placeholders which consist of any of the key words above enclosed in
	       curly braces; outside of this, any ascii text is permissible.  For example,

          </t>
          <artwork name="" type="" align="left" alt=""><![CDATA[   The <u format="{lit} character ({num})">Δ</u>.]]></artwork>
          <t>

	       will be rendered as

          </t>
          <artwork name="" type="" align="left" alt=""><![CDATA[   The "Δ" character (U+0394).]]></artwork>
        </section>
        <section anchor="element-unicode-split-expansions" numbered="true" toc="default">
          <name>Split expansion of &lt;u&gt; elements</name>
          <t>

               There are cases which cannot be handled with either the simplified or full &lt;u&gt;
               format specifications.  One is exemplified in Table 1 of the CSS sample document
               at <eref target="https://rfc-format.github.io/draft-iab-rfc-css-bis/sample2-v2.html#s-3"/>.
               Rendering this with &lt;u&gt; elements requires that the non-ascii content be rendered
               in one place (a table cell in one column) while the expansion is rendered in another
               cell in a different column.  Provision for this has been made by modifying the expansion
               of &lt;u&gt; when it is referenced by an &lt;xref&gt;.  This table, with &lt;u&gt; elements
               referenced by &lt;xref&gt; instances:
          </t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
<table>
  <name>A Sample of Legal Nicknames</name>
  <thead>
    <tr>
       <th>#</th>
       <th>Nickname</th>
       <th>Output for comparison</th>
    </tr>
  </thead>
  <tbody>
    <tr>
       <td>1</td>
       <td>&lt;Foo&gt;</td>
       <td>&lt;foo&gt;</td>
    </tr>
    <tr>
       <td>2</td>
       <td>&lt;foo&gt;</td>
       <td>&lt;foo&gt;</td> </tr>
    <tr>
       <td>3</td>
       <td>&lt;Foo Bar&gt;</td>
       <td>&lt;foo bar&gt;</td>
    </tr>
    <tr>
       <td>4</td>
       <td>&lt;foo bar&gt;</td>
       <td>&lt;foo bar&gt;</td>
    </tr>
    <tr>
      <td>5</td>
      <td>
         &lt;
         <u format="name-num" anchor="greek-upper-sigma">Σ</u>
         &gt;
      </td>
      <td> <xref target="greek-upper-sigma" /> </td>
    </tr>
    <tr>
       <td>6</td>
       <td>
          &lt;
          <u format="name-num" anchor="greek-lower-sigma">σ</u>
          &gt;
       </td>
       <td> <xref target="greek-lower-sigma" /> </td>
    </tr>
    <tr>
       <td>7</td>
       <td>
          &lt;
          <u format="name-num" anchor="greek-final-sigma">ς</u>
          &gt;
       </td>
       <td> <xref target="greek-final-sigma" /> </td>
    </tr>
    <tr>
       <td>8</td>
       <td>
          &lt;
          <u format="name-num" anchor="black-chess-king">♚</u>
          &gt;
       </td>
       <td> <xref target="black-chess-king" format="default"/> </td>
    </tr>
    <tr>
       <td>9</td>
       <td>
          &lt;Richard
          <u format="{char}> ({num})" anchor="richard-iv">Ⅳ</u>
          &gt;
       </td>
       <td>&lt;richard iv&gt;</td>
    </tr>
  </tbody>
</table>

               ]]>
          </artwork>

          <t>
             comes out as shown below:             
          </t>

          <table>
            <name>A Sample of Legal Nicknames</name>
            <thead>
              <tr> <th>#</th> <th>Nickname</th> <th>Output for comparison</th> </tr>
            </thead>
            <tbody>
              <tr> <td>1</td> <td>&lt;Foo&gt;</td> <td>&lt;foo&gt;</td> </tr>
              <tr> <td>2</td> <td>&lt;foo&gt;</td> <td>&lt;foo&gt;</td> </tr>
              <tr> <td>3</td> <td>&lt;Foo Bar&gt;</td> <td>&lt;foo bar&gt;</td> </tr>
              <tr> <td>4</td> <td>&lt;foo bar&gt;</td> <td>&lt;foo bar&gt;</td> </tr>
              <tr> <td>5</td> <td>&lt;<u format="name-num" anchor="greek-upper-sigma">Σ</u>&gt;</td>
                                                  <td> <xref target="greek-upper-sigma" /> </td> </tr>
              <tr> <td>6</td> <td>&lt;<u format="name-num" anchor="greek-lower-sigma">σ</u>&gt;</td>
                                                  <td> <xref target="greek-lower-sigma" /> </td> </tr>
              <tr> <td>7</td> <td>&lt;<u format="name-num" anchor="greek-final-sigma">ς</u>&gt;</td>
                                                  <td> <xref target="greek-final-sigma" /> </td> </tr>
              <tr> <td>8</td> <td>&lt;<u format="name-num" anchor="black-chess-king">♚</u>&gt;</td>
                                                  <td> <xref target="black-chess-king" format="default"/></td> </tr>
              <tr> <td>9</td> <td>&lt;Richard <u format="{char}> ({num})" anchor="richard-iv">Ⅳ</u></td>
                                                  <td>&lt;richard iv&gt;</td> </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
  </back>
</rfc>
