Tech-invite3GPPspecsGlossariesIETFRFCsGroupsSIPABNFsWorld Map

RFC 7991

 
 
 

The "xml2rfc" Version 3 Vocabulary

Part 5 of 5, p. 104 to 151
Prev Section

 


prevText      Top      ToC       Page 104 
Appendix C.  RELAX NG Schema

   The following is the RELAX NG schema for the v3 format.

   namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"

   # xml2rfc Version 3 grammar

   rfc =
     element rfc {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute number { text }?,
       [ a:defaultValue = "" ] attribute obsoletes { text }?,
       [ a:defaultValue = "" ] attribute updates { text }?,
       attribute category { text }?,
       attribute mode { text }?,
       [ a:defaultValue = "false" ]
       attribute consensus { "no" | "yes" | "false" | "true" }?,
       attribute seriesNo { text }?,
       attribute ipr { text }?,
       attribute iprExtract { xsd:IDREF }?,
       [ a:defaultValue = "IETF" ]
       attribute submissionType {
         "IETF" | "IAB" | "IRTF" | "independent"
       }?,
       attribute docName { text }?,
       [ a:defaultValue = "false" ]
       attribute sortRefs { "true" | "false" }?,
       [ a:defaultValue = "true" ]
       attribute symRefs { "true" | "false" }?,
       [ a:defaultValue = "true" ]
       attribute tocInclude { "true" | "false" }?,
       [ a:defaultValue = "3" ] attribute tocDepth { text }?,
       attribute prepTime { text }?,
       [ a:defaultValue = "true" ]
       attribute indexInclude { "true" | "false" }?,
       attribute version { text }?,
       [ a:defaultValue = "Common,Latin" ] attribute scripts { text }?,
       attribute expiresDate { text }?,
       link*,
       front,
       middle,
       back?
     }

Top      Up      ToC       Page 105 
   link =
     element link {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute href { text },
       attribute rel { text }?
     }

   front =
     element front {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       title,
       seriesInfo*,
       author+,
       date?,
       area*,
       workgroup*,
       keyword*,
       abstract?,
       note*,
       boilerplate?
     }

   title =
     element title {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute abbrev { text }?,
       attribute ascii { text }?,
       text
     }

   author =
     element author {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute initials { text }?,
       attribute asciiInitials { text }?,
       attribute surname { text }?,
       attribute asciiSurname { text }?,
       attribute fullname { text }?,
       attribute role { "editor" }?,
       attribute asciiFullname { text }?,
       organization?,
       address?
     }

Top      Up      ToC       Page 106 
   organization =
     element organization {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute abbrev { text }?,
       attribute ascii { text }?,
       text
     }

   address =
     element address {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       postal?,
       phone?,
       facsimile?,
       email?,
       uri?
     }

   postal =
     element postal {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       ((city | code | country | region | street)* | postalLine+)
     }

   street =
     element street {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute ascii { text }?,
       text
     }

   city =
     element city {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute ascii { text }?,
       text
     }

Top      Up      ToC       Page 107 
   region =
     element region {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute ascii { text }?,
       text
     }

   code =
     element code {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute ascii { text }?,
       text
     }

   country =
     element country {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute ascii { text }?,
       text
     }

   postalLine =
     element postalLine {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute ascii { text }?,
       text
     }

   phone =
     element phone {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       text
     }

   facsimile =
     element facsimile {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       text
     }

Top      Up      ToC       Page 108 
   email =
     element email {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute ascii { text }?,
       text
     }

   uri =
     element uri {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       text
     }

   date =
     element date {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute day { text }?,
       attribute month { text }?,
       attribute year { text }?,
       empty
     }

   area =
     element area {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       text
     }

   workgroup =
     element workgroup {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       text
     }

   keyword =
     element keyword {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       text
     }

Top      Up      ToC       Page 109 
   abstract =
     element abstract {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       (dl | ol | t | ul)+
     }

   note =
     element note {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute title { text }?,
       attribute pn { text }?,
       [ a:defaultValue = "false" ]
       attribute removeInRFC { "true" | "false" }?,
       name?,
       (dl | ol | t | ul)+
     }

   boilerplate =
     element boilerplate {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       section+
     }

   middle =
     element middle {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       section+
     }

Top      Up      ToC       Page 110 
   section =
     element section {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       attribute title { text }?,
       [ a:defaultValue = "true" ]
       attribute numbered { "true" | "false" }?,
       [ a:defaultValue = "default" ]
       attribute toc { "include" | "exclude" | "default" }?,
       [ a:defaultValue = "false" ]
       attribute removeInRFC { "true" | "false" }?,
       name?,
       (artwork
        | aside
        | blockquote
        | dl
        | figure
        | iref
        | ol
        | sourcecode
        | t
        | table
        | texttable
        | ul)*,
       section*
     }

   name =
     element name {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute slugifiedName { text }?,
       (text | cref | eref | relref | tt | xref)*
     }

Top      Up      ToC       Page 111 
   t =
     element t {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       attribute hangText { text }?,
       [ a:defaultValue = "false" ]
       attribute keepWithNext { "false" | "true" }?,
       [ a:defaultValue = "false" ]
       attribute keepWithPrevious { "false" | "true" }?,
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | \list
        | relref
        | spanx
        | strong
        | sub
        | sup
        | tt
        | vspace
        | xref)*
     }

   aside =
     element aside {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       (artwork | dl | figure | iref | \list | ol | t | table | ul)*
     }

Top      Up      ToC       Page 112 
   blockquote =
     element blockquote {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       attribute cite { text }?,
       attribute quotedFrom { text }?,
       ((artwork | dl | figure | ol | sourcecode | t | ul)+
        | (text
           | bcp14
           | cref
           | em
           | eref
           | iref
           | relref
           | strong
           | sub
           | sup
           | tt
           | xref)+)
     }

   \list =
     element list {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       [ a:defaultValue = "empty" ] attribute style { text }?,
       attribute hangIndent { text }?,
       attribute counter { text }?,
       attribute pn { text }?,
       t+
     }

   ol =
     element ol {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       [ a:defaultValue = "1" ] attribute type { text }?,
       [ a:defaultValue = "1" ] attribute start { text }?,
       attribute group { text }?,
       [ a:defaultValue = "normal" ]
       attribute spacing { "normal" | "compact" }?,
       attribute pn { text }?,
       li+
     }

Top      Up      ToC       Page 113 
   ul =
     element ul {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       [ a:defaultValue = "normal" ]
       attribute spacing { "normal" | "compact" }?,
       ([ a:defaultValue = "false" ]
        attribute empty { "false" | "true" },
        attribute pn { text }?)?,
       li+
     }

   li =
     element li {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       ((artwork | dl | figure | ol | sourcecode | t | ul)+
        | (text
           | bcp14
           | cref
           | em
           | eref
           | iref
           | relref
           | strong
           | sub
           | sup
           | tt
           | xref)+)
     }

   dl =
     element dl {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       [ a:defaultValue = "normal" ]
       attribute spacing { "normal" | "compact" }?,
       [ a:defaultValue = "true" ]
       attribute hanging { "false" | "true" }?,
       attribute pn { text }?,
       (dt, dd)+
     }

Top      Up      ToC       Page 114 
   dt =
     element dt {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | strong
        | sub
        | sup
        | tt
        | xref)*
     }

   dd =
     element dd {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       ((artwork | dl | figure | ol | sourcecode | t | ul)+
        | (text
           | bcp14
           | cref
           | em
           | eref
           | iref
           | relref
           | strong
           | sub
           | sup
           | tt
           | xref)+)
     }

Top      Up      ToC       Page 115 
   xref =
     element xref {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute target { xsd:IDREF },
       [ a:defaultValue = "false" ]
       attribute pageno { "true" | "false" }?,
       [ a:defaultValue = "default" ]
       attribute format { "default" | "title" | "counter" | "none" }?,
       attribute derivedContent { text }?,
       text
     }

   relref =
     element relref {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute target { xsd:IDREF },
       [ a:defaultValue = "of" ]
       attribute displayFormat { "of" | "comma" | "parens" | "bare" }?,
       attribute section { text },
       attribute relative { text }?,
       attribute derivedLink { text }?,
       text
     }

   eref =
     element eref {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute target { text },
       text
     }

   iref =
     element iref {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute item { text },
       [ a:defaultValue = "" ] attribute subitem { text }?,
       [ a:defaultValue = "false" ]
       attribute primary { "true" | "false" }?,
       attribute pn { text }?,
       empty
     }

Top      Up      ToC       Page 116 
   cref =
     element cref {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute source { text }?,
       [ a:defaultValue = "true" ]
       attribute display { "true" | "false" }?,
       (text | em | eref | relref | strong | sub | sup | tt | xref)*
     }

   tt =
     element tt {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | strong
        | sub
        | sup
        | xref)*
     }

   strong =
     element strong {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | sub
        | sup
        | tt
        | xref)*
     }

Top      Up      ToC       Page 117 
   em =
     element em {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       (text
        | bcp14
        | cref
        | eref
        | iref
        | relref
        | strong
        | sub
        | sup
        | tt
        | xref)*
     }

   sub =
     element sub {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | strong
        | tt
        | xref)*
     }

   sup =
     element sup {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | strong
        | tt
        | xref)*
     }

Top      Up      ToC       Page 118 
   spanx =
     element spanx {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       [ a:defaultValue = "preserve" ]
       attribute xml:space { "default" | "preserve" }?,
       [ a:defaultValue = "emph" ] attribute style { text }?,
       text
     }

   vspace =
     element vspace {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       [ a:defaultValue = "0" ] attribute blankLines { text }?,
       empty
     }

   figure =
     element figure {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       [ a:defaultValue = "" ] attribute title { text }?,
       [ a:defaultValue = "false" ]
       attribute suppress-title { "true" | "false" }?,
       attribute src { text }?,
       attribute originalSrc { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       [ a:defaultValue = "" ] attribute alt { text }?,
       [ a:defaultValue = "" ] attribute width { text }?,
       [ a:defaultValue = "" ] attribute height { text }?,
       name?,
       iref*,
       preamble?,
       (artwork | sourcecode)+,
       postamble?
     }

Top      Up      ToC       Page 119 
   table =
     element table {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       name?,
       iref*,
       thead?,
       tbody+,
       tfoot?
     }

   preamble =
     element preamble {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | spanx
        | strong
        | sub
        | sup
        | tt
        | xref)*
     }

Top      Up      ToC       Page 120 
   artwork =
     element artwork {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       attribute xml:space { text }?,
       [ a:defaultValue = "" ] attribute name { text }?,
       [ a:defaultValue = "" ] attribute type { text }?,
       attribute src { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       [ a:defaultValue = "" ] attribute alt { text }?,
       [ a:defaultValue = "" ] attribute width { text }?,
       [ a:defaultValue = "" ] attribute height { text }?,
       attribute originalSrc { text }?,
       (text* | svg)
     }
   # https://www.rfc-editor.org/materials/format/SVG-1.2-RFC.rnc

   sourcecode =
     element sourcecode {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       [ a:defaultValue = "" ] attribute name { text }?,
       [ a:defaultValue = "" ] attribute type { text }?,
       attribute src { text }?,
       attribute originalSrc { text }?,
       text
     }

   thead =
     element thead {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       tr+
     }

   tbody =
     element tbody {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       tr+
     }

Top      Up      ToC       Page 121 
   tfoot =
     element tfoot {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       tr+
     }

   tr =
     element tr {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       (td | th)+
     }

   td =
     element td {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       [ a:defaultValue = "0" ] attribute colspan { text }?,
       [ a:defaultValue = "0" ] attribute rowspan { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       ((artwork | dl | figure | ol | sourcecode | t | ul)+
        | (text
           | bcp14
           | br
           | cref
           | em
           | eref
           | iref
           | relref
           | strong
           | sub
           | sup
           | tt
           | xref)*)
     }

Top      Up      ToC       Page 122 
   th =
     element th {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       [ a:defaultValue = "0" ] attribute colspan { text }?,
       [ a:defaultValue = "0" ] attribute rowspan { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       ((artwork | dl | figure | ol | sourcecode | t | ul)+
        | (text
           | bcp14
           | br
           | cref
           | em
           | eref
           | iref
           | relref
           | strong
           | sub
           | sup
           | tt
           | xref)*)
     }

   postamble =
     element postamble {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       (text | cref | eref | iref | spanx | xref)*
     }

Top      Up      ToC       Page 123 
   texttable =
     element texttable {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID }?,
       [ a:defaultValue = "" ] attribute title { text }?,
       [ a:defaultValue = "false" ]
       attribute suppress-title { "true" | "false" }?,
       [ a:defaultValue = "center" ]
       attribute align { "left" | "center" | "right" }?,
       [ a:defaultValue = "full" ]
       attribute style { "all" | "none" | "headers" | "full" }?,
       name?,
       preamble?,
       ttcol+,
       c*,
       postamble?
     }

   ttcol =
     element ttcol {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute width { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       (cref | eref | iref | xref | text)*
     }

   c =
     element c {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       (text | cref | eref | iref | spanx | xref)*
     }

   bcp14 =
     element bcp14 {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       text
     }

Top      Up      ToC       Page 124 
   br =
     element br {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       empty
     }

   back =
     element back {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       displayreference*,
       references*,
       section*
     }

   displayreference =
     element displayreference {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute target { xsd:IDREF },
       attribute to { text }
     }

   references =
     element references {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute pn { text }?,
       attribute anchor { xsd:ID }?,
       attribute title { text }?,
       name?,
       (reference | referencegroup)*
     }

   reference =
     element reference {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID },
       attribute target { text }?,
       [ a:defaultValue = "true" ]
       attribute quoteTitle { "true" | "false" }?,
       front,
       (annotation | format | refcontent | seriesInfo)*
     }

Top      Up      ToC       Page 125 
   referencegroup =
     element referencegroup {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute anchor { xsd:ID },
       reference+
     }

   seriesInfo =
     element seriesInfo {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute name { text },
       attribute value { text },
       attribute asciiName { text }?,
       attribute asciiValue { text }?,
       attribute status { text }?,
       [ a:defaultValue = "IETF" ]
       attribute stream { "IETF" | "IAB" | "IRTF" | "independent" }?,
       empty
     }

   format =
     element format {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       attribute target { text }?,
       attribute type { text },
       attribute octets { text }?,
       empty
     }

Top      Up      ToC       Page 126 
   annotation =
     element annotation {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | spanx
        | strong
        | sub
        | sup
        | tt
        | xref)*
     }

   refcontent =
     element refcontent {
       attribute xml:base { text }?,
       attribute xml:lang { text }?,
       (text | bcp14 | em | strong | sub | sup | tt)*
     }
   start |= rfc

Top      Up      ToC       Page 127 
Appendix D.  Schema Differences from v2

   The following is a non-normative comparison of the v3 format to the
   v2 format.  A "-" indicates lines removed from the v2 schema, and a
   "+" indicates lines added to the v3 schema.

     namespace a =
     "http://relaxng.org/ns/compatibility/annotations/1.0"

   + # xml2rfc Version 3 grammar
     rfc =
       element rfc {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute number { text }?,
         [ a:defaultValue = "" ] attribute obsoletes { text }?,
         [ a:defaultValue = "" ] attribute updates { text }?,
   -     attribute category { "std" | "bcp" | "info" | "exp" |
   - "historic" }?,
   -     attribute consensus { "no" | "yes" }?,
   +     attribute category { text }?,
   +     attribute mode { text }?,
   +     [ a:defaultValue = "false" ]
   +     attribute consensus { "no" | "yes" | "false" | "true" }?,
         attribute seriesNo { text }?,
   -     attribute ipr {
   -       "full2026"
   -       | "noDerivativeWorks2026"
   -       | "none"
   -       | "full3667"
   -       | "noModification3667"
   -       | "noDerivatives3667"
   -       | "full3978"
   -       | "noModification3978"
   -       | "noDerivatives3978"
   -       | "trust200811"
   -       | "noModificationTrust200811"
   -       | "noDerivativesTrust200811"
   -       | "trust200902"
   -       | "noModificationTrust200902"
   -       | "noDerivativesTrust200902"
   -       | "pre5378Trust200902"
   -     }?,

Top      Up      ToC       Page 128 
   +     attribute ipr { text }?,
         attribute iprExtract { xsd:IDREF }?,
         [ a:defaultValue = "IETF" ]
         attribute submissionType {
           "IETF" | "IAB" | "IRTF" | "independent"
         }?,
         attribute docName { text }?,
   -     [ a:defaultValue = "en" ] attribute xml:lang { text }?,
   +     [ a:defaultValue = "false" ]
   +     attribute sortRefs { "true" | "false" }?,
   +     [ a:defaultValue = "true" ]
   +     attribute symRefs { "true" | "false" }?,
   +     [ a:defaultValue = "true" ]
   +     attribute tocInclude { "true" | "false" }?,
   +     [ a:defaultValue = "3" ] attribute tocDepth { text }?,
   +     attribute prepTime { text }?,
   +     [ a:defaultValue = "true" ]
   +     attribute indexInclude { "true" | "false" }?,
   +     attribute version { text }?,
   +     [ a:defaultValue = "Common,Latin" ] attribute scripts { text
   + }?,
   +     attribute expiresDate { text }?,
   +     link*,
         front,
         middle,
         back?
       }

Top      Up      ToC       Page 129 
   + link =
   +   element link {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute href { text },
   +     attribute rel { text }?
   +   }
     front =
       element front {
   -     title, author+, date, area*, workgroup*, keyword*, abstract?,
   - note*
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     title,
   +     seriesInfo*,
   +     author+,
   +     date?,
   +     area*,
   +     workgroup*,
   +     keyword*,
   +     abstract?,
   +     note*,
   +     boilerplate?
       }
     title =
       element title {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute abbrev { text }?,
   +     attribute ascii { text }?,
         text
       }
     author =
       element author {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute initials { text }?,
   +     attribute asciiInitials { text }?,
         attribute surname { text }?,
   +     attribute asciiSurname { text }?,
         attribute fullname { text }?,
         attribute role { "editor" }?,
   +     attribute asciiFullname { text }?,
         organization?,
         address?
       }

Top      Up      ToC       Page 130 
     organization =
       element organization {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute abbrev { text }?,
   +     attribute ascii { text }?,
   +     text
   +   }
   + address =
   +   element address {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     postal?,
   +     phone?,
   +     facsimile?,
   +     email?,
   +     uri?
   +   }
   + postal =
   +   element postal {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     ((city | code | country | region | street)* | postalLine+)
   +   }
   + street =
   +   element street {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute ascii { text }?,
   +     text
   +   }
   + city =
   +   element city {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute ascii { text }?,
   +     text
   +   }
   + region =
   +   element region {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute ascii { text }?,
   +     text
   +   }

Top      Up      ToC       Page 131 
   + code =
   +   element code {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute ascii { text }?,
   +     text
   +   }
   + country =
   +   element country {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute ascii { text }?,
   +     text
   +   }
   + postalLine =
   +   element postalLine {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute ascii { text }?,
   +     text
   +   }
   + phone =
   +   element phone {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     text
   +   }
   + facsimile =
   +   element facsimile {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     text
   +   }
   + email =
   +   element email {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute ascii { text }?,
   +     text
   +   }

Top      Up      ToC       Page 132 
   + uri =
   +   element uri {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         text
       }
   - address = element address { postal?, phone?, facsimile?, email?,
   - uri? }
   - postal = element postal { street+, (city | region | code |
   - country)* }
   - street = element street { text }
   - city = element city { text }
   - region = element region { text }
   - code = element code { text }
   - country = element country { text }
   - phone = element phone { text }
   - facsimile = element facsimile { text }
   - email = element email { text }
   - uri = element uri { text }
     date =
       element date {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute day { text }?,
         attribute month { text }?,
         attribute year { text }?,
         empty
       }
   - area = element area { text }
   - workgroup = element workgroup { text }
   - keyword = element keyword { text }
   - abstract = element abstract { t+ }
   + area =
   +   element area {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     text
   +   }
   + workgroup =
   +   element workgroup {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     text
   +   }

Top      Up      ToC       Page 133 
   + keyword =
   +   element keyword {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     text
   +   }
   + abstract =
   +   element abstract {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     (dl | ol | t | ul)+
   +   }
     note =
       element note {
   -     attribute title { text },
   -     t+
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute title { text }?,
   +     attribute pn { text }?,
   +     [ a:defaultValue = "false" ]
   +     attribute removeInRFC { "true" | "false" }?,
   +     name?,
   +     (dl | ol | t | ul)+
   +   }
   + boilerplate =
   +   element boilerplate {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     section+
   +   }
   + middle =
   +   element middle {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     section+
       }

Top      Up      ToC       Page 134 
   - middle = element middle { section+ }
     section =
       element section {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute anchor { xsd:ID }?,
   -     attribute title { text },
   +     attribute pn { text }?,
   +     attribute title { text }?,
   +     [ a:defaultValue = "true" ]
   +     attribute numbered { "true" | "false" }?,
         [ a:defaultValue = "default" ]
         attribute toc { "include" | "exclude" | "default" }?,
   -     (t | figure | texttable | iref)*,
   +     [ a:defaultValue = "false" ]
   +     attribute removeInRFC { "true" | "false" }?,
   +     name?,
   +     (artwork
   +      | aside
   +      | blockquote
   +      | dl
   +      | figure
   +      | iref
   +      | ol
   +      | sourcecode
   +      | t
   +      | table
   +      | texttable
   +      | ul)*,
         section*
       }

Top      Up      ToC       Page 135 
   + name =
   +   element name {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute slugifiedName { text }?,
   +     (text | cref | eref | relref | tt | xref)*
   +   }
     t =
       element t {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
         attribute hangText { text }?,
   +     [ a:defaultValue = "false" ]
   +     attribute keepWithNext { "false" | "true" }?,
   +     [ a:defaultValue = "false" ]
   +     attribute keepWithPrevious { "false" | "true" }?,
         (text
   -      | \list
   -      | figure
   -      | xref
   +      | bcp14
   +      | cref
   +      | em
          | eref
          | iref
   -      | cref
   +      | \list
   +      | relref
          | spanx
   -      | vspace)*
   +      | strong
   +      | sub
   +      | sup
   +      | tt
   +      | vspace
   +      | xref)*
   +   }
   + aside =
   +   element aside {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     (artwork | dl | figure | iref | \list | ol | t | table | ul)*
   +   }

Top      Up      ToC       Page 136 
   + blockquote =
   +   element blockquote {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     attribute cite { text }?,
   +     attribute quotedFrom { text }?,
   +     ((artwork | dl | figure | ol | sourcecode | t | ul)+
   +      | (text
   +         | bcp14
   +         | cref
   +         | em
   +         | eref
   +         | iref
   +         | relref
   +         | strong
   +         | sub
   +         | sup
   +         | tt
   +         | xref)+)
       }
     \list =
       element list {
   -     attribute style { text }?,
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     [ a:defaultValue = "empty" ] attribute style { text }?,
         attribute hangIndent { text }?,
         attribute counter { text }?,
   +     attribute pn { text }?,
         t+
       }
   + ol =
   +   element ol {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     [ a:defaultValue = "1" ] attribute type { text }?,
   +     [ a:defaultValue = "1" ] attribute start { text }?,
   +     attribute group { text }?,
   +     [ a:defaultValue = "normal" ]
   +     attribute spacing { "normal" | "compact" }?,
   +     attribute pn { text }?,
   +     li+
   +   }

Top      Up      ToC       Page 137 
   + ul =
   +   element ul {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     [ a:defaultValue = "normal" ]
   +     attribute spacing { "normal" | "compact" }?,
   +     ([ a:defaultValue = "false" ]
   +      attribute empty { "false" | "true" },
   +      attribute pn { text }?)?,
   +     li+
   +   }
   + li =
   +   element li {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     ((artwork | dl | figure | ol | sourcecode | t | ul)+
   +      | (text
   +         | bcp14
   +         | cref
   +         | em
   +         | eref
   +         | iref
   +         | relref
   +         | strong
   +         | sub
   +         | sup
   +         | tt
   +         | xref)+)
   +   }
   + dl =
   +   element dl {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     [ a:defaultValue = "normal" ]
   +     attribute spacing { "normal" | "compact" }?,
   +     [ a:defaultValue = "true" ]
   +     attribute hanging { "false" | "true" }?,
   +     attribute pn { text }?,
   +     (dt, dd)+
   +   }

Top      Up      ToC       Page 138 
   + dt =
   +   element dt {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | strong
   +      | sub
   +      | sup
   +      | tt
   +      | xref)*
   +   }
   + dd =
   +   element dd {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     ((artwork | dl | figure | ol | sourcecode | t | ul)+
   +      | (text
   +         | bcp14
   +         | cref
   +         | em
   +         | eref
   +         | iref
   +         | relref
   +         | strong
   +         | sub
   +         | sup
   +         | tt
   +         | xref)+)
   +   }

Top      Up      ToC       Page 139 
     xref =
       element xref {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute target { xsd:IDREF },
   -     [ a:defaultValue = "false" ] attribute pageno { "true" |
   - "false" }?,
   +     [ a:defaultValue = "false" ]
   +     attribute pageno { "true" | "false" }?,
         [ a:defaultValue = "default" ]
   -     attribute format { "counter" | "title" | "none" | "default"
   +     attribute format { "default" | "title" | "counter" | "none"
   + }?,
   +     attribute derivedContent { text }?,
   +     text
   +   }
   + relref =
   +   element relref {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute target { xsd:IDREF },
   +     [ a:defaultValue = "of" ]
   +     attribute displayFormat { "of" | "comma" | "parens" | "bare"
     }?,
   +     attribute section { text },
   +     attribute relative { text }?,
   +     attribute derivedLink { text }?,
         text
       }
     eref =
       element eref {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute target { text },
         text
       }
     iref =
       element iref {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute item { text },
         [ a:defaultValue = "" ] attribute subitem { text }?,
         [ a:defaultValue = "false" ]
         attribute primary { "true" | "false" }?,
   +     attribute pn { text }?,
         empty
       }

Top      Up      ToC       Page 140 
     cref =
       element cref {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute anchor { xsd:ID }?,
         attribute source { text }?,
   -     text
   +     [ a:defaultValue = "true" ]
   +     attribute display { "true" | "false" }?,
   +     (text | em | eref | relref | strong | sub | sup | tt | xref)*
   +   }
   + tt =
   +   element tt {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | strong
   +      | sub
   +      | sup
   +      | xref)*
   +   }
   + strong =
   +   element strong {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | sub
   +      | sup
   +      | tt
   +      | xref)*
   +   }

Top      Up      ToC       Page 141 
   + em =
   +   element em {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     (text
   +      | bcp14
   +      | cref
   +      | eref
   +      | iref
   +      | relref
   +      | strong
   +      | sub
   +      | sup
   +      | tt
   +      | xref)*
   +   }
   + sub =
   +   element sub {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | strong
   +      | tt
   +      | xref)*
   +   }
   + sup =
   +   element sup {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | strong
   +      | tt
   +      | xref)*
       }

Top      Up      ToC       Page 142 
     spanx =
       element spanx {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         [ a:defaultValue = "preserve" ]
         attribute xml:space { "default" | "preserve" }?,
         [ a:defaultValue = "emph" ] attribute style { text }?,
         text
       }
     vspace =
       element vspace {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         [ a:defaultValue = "0" ] attribute blankLines { text }?,
         empty
       }
     figure =
       element figure {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
         [ a:defaultValue = "" ] attribute title { text }?,
         [ a:defaultValue = "false" ]
         attribute suppress-title { "true" | "false" }?,
         attribute src { text }?,
   +     attribute originalSrc { text }?,
         [ a:defaultValue = "left" ]
         attribute align { "left" | "center" | "right" }?,
         [ a:defaultValue = "" ] attribute alt { text }?,
         [ a:defaultValue = "" ] attribute width { text }?,
         [ a:defaultValue = "" ] attribute height { text }?,
   +     name?,
         iref*,
         preamble?,
   -     artwork,
   +     (artwork | sourcecode)+,
         postamble?
       }

Top      Up      ToC       Page 143 
   + table =
   +   element table {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     name?,
   +     iref*,
   +     thead?,
   +     tbody+,
   +     tfoot?
   +   }
     preamble =
   -   element preamble { (text | xref | eref | iref | cref | spanx)* }
   +   element preamble {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | spanx
   +      | strong
   +      | sub
   +      | sup
   +      | tt
   +      | xref)*
   +   }

Top      Up      ToC       Page 144 
     artwork =
       element artwork {
   -     [ a:defaultValue = "preserve" ]
   -     attribute xml:space { "default" | "preserve" }?,
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     attribute xml:space { text }?,
         [ a:defaultValue = "" ] attribute name { text }?,
         [ a:defaultValue = "" ] attribute type { text }?,
         attribute src { text }?,
         [ a:defaultValue = "left" ]
         attribute align { "left" | "center" | "right" }?,
         [ a:defaultValue = "" ] attribute alt { text }?,
         [ a:defaultValue = "" ] attribute width { text }?,
         [ a:defaultValue = "" ] attribute height { text }?,
   -     text*
   +     attribute originalSrc { text }?,
   +     (text* | svg)
   +   }
   + # https://www.rfc-editor.org/materials/format/SVG-1.2-RFC.rnc
   + sourcecode =
   +   element sourcecode {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     [ a:defaultValue = "" ] attribute name { text }?,
   +     [ a:defaultValue = "" ] attribute type { text }?,
   +     attribute src { text }?,
   +     attribute originalSrc { text }?,
   +     text
   +   }
   + thead =
   +   element thead {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     tr+
   +   }
   + tbody =
   +   element tbody {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     tr+
   +   }

Top      Up      ToC       Page 145 
   + tfoot =
   +   element tfoot {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     tr+
   +   }
   + tr =
   +   element tr {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     (td | th)+
   +   }
   + td =
   +   element td {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     [ a:defaultValue = "0" ] attribute colspan { text }?,
   +     [ a:defaultValue = "0" ] attribute rowspan { text }?,
   +     [ a:defaultValue = "left" ]
   +     attribute align { "left" | "center" | "right" }?,
   +     ((artwork | dl | figure | ol | sourcecode | t | ul)+
   +      | (text
   +         | bcp14
   +         | br
   +         | cref
   +         | em
   +         | eref
   +         | iref
   +         | relref
   +         | strong
   +         | sub
   +         | sup
   +         | tt
   +         | xref)*)
   +   }

Top      Up      ToC       Page 146 
   + th =
   +   element th {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID }?,
   +     [ a:defaultValue = "0" ] attribute colspan { text }?,
   +     [ a:defaultValue = "0" ] attribute rowspan { text }?,
   +     [ a:defaultValue = "left" ]
   +     attribute align { "left" | "center" | "right" }?,
   +     ((artwork | dl | figure | ol | sourcecode | t | ul)+
   +      | (text
   +         | bcp14
   +         | br
   +         | cref
   +         | em
   +         | eref
   +         | iref
   +         | relref
   +         | strong
   +         | sub
   +         | sup
   +         | tt
   +         | xref)*)
       }
     postamble =
   -   element postamble { (text | xref | eref | iref | cref | spanx)*
   +   element postamble {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     (text | cref | eref | iref | spanx | xref)*
     }

Top      Up      ToC       Page 147 
     texttable =
       element texttable {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute anchor { xsd:ID }?,
         [ a:defaultValue = "" ] attribute title { text }?,
         [ a:defaultValue = "false" ]
         attribute suppress-title { "true" | "false" }?,
         [ a:defaultValue = "center" ]
         attribute align { "left" | "center" | "right" }?,
         [ a:defaultValue = "full" ]
         attribute style { "all" | "none" | "headers" | "full" }?,
   +     name?,
         preamble?,
         ttcol+,
         c*,
         postamble?
       }
     ttcol =
       element ttcol {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute width { text }?,
         [ a:defaultValue = "left" ]
         attribute align { "left" | "center" | "right" }?,
   +     (cref | eref | iref | xref | text)*
   +   }
   + c =
   +   element c {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     (text | cref | eref | iref | spanx | xref)*
   +   }
   + bcp14 =
   +   element bcp14 {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         text
       }
   - c = element c { (text | xref | eref | iref | cref | spanx)* }
   - back = element back { references*, section* }
   + br =
   +   element br {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     empty
   +   }

Top      Up      ToC       Page 148 
   + back =
   +   element back {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     displayreference*,
   +     references*,
   +     section*
   +   }
   + displayreference =
   +   element displayreference {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute target { xsd:IDREF },
   +     attribute to { text }
   +   }
     references =
       element references {
   -     [ a:defaultValue = "References" ] attribute title { text }?,
   -     reference+
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute pn { text }?,
   +     attribute anchor { xsd:ID }?,
   +     attribute title { text }?,
   +     name?,
   +     (reference | referencegroup)*
       }
     reference =
       element reference {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute anchor { xsd:ID },
         attribute target { text }?,
   +     [ a:defaultValue = "true" ]
   +     attribute quoteTitle { "true" | "false" }?,
         front,
   -     seriesInfo*,
   -     format*,
   -     annotation*
   +     (annotation | format | refcontent | seriesInfo)*
   +   }

Top      Up      ToC       Page 149 
   + referencegroup =
   +   element referencegroup {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     attribute anchor { xsd:ID },
   +     reference+
       }
     seriesInfo =
       element seriesInfo {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute name { text },
         attribute value { text },
   +     attribute asciiName { text }?,
   +     attribute asciiValue { text }?,
   +     attribute status { text }?,
   +     [ a:defaultValue = "IETF" ]
   +     attribute stream { "IETF" | "IAB" | "IRTF" | "independent" }?,
         empty
       }
     format =
       element format {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
         attribute target { text }?,
         attribute type { text },
         attribute octets { text }?,
         empty
       }

Top      Up      ToC       Page 150 
     annotation =
   -   element annotation { (text | xref | eref | iref | cref |
   - spanx)* }
   - start = rfc
   +   element annotation {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | spanx
   +      | strong
   +      | sub
   +      | sup
   +      | tt
   +      | xref)*
   +   }
   + refcontent =
   +   element refcontent {
   +     attribute xml:base { text }?,
   +     attribute xml:lang { text }?,
   +     (text | bcp14 | em | strong | sub | sup | tt)*
   +   }
   + start |= rfc

Top      Up      ToC       Page 151 
IAB Members at the Time of Approval

   The IAB members at the time this memo was approved were
   (in alphabetical order):

      Jari Arkko
      Ralph Droms
      Ted Hardie
      Joe Hildebrand
      Russ Housley
      Lee Howard
      Erik Nordmark
      Robert Sparks
      Andrew Sullivan
      Dave Thaler
      Martin Thomson
      Brian Trammell
      Suzanne Woolf

Acknowledgements

   Thanks to everybody who reviewed this document and provided feedback
   and/or specification text.  Thanks especially go to Julian Reschke
   for editing [RFC7749] and those who provided feedback on that
   document.

   We also thank Marshall T. Rose for both the original design and the
   reference implementation of the "xml2rfc" processor.

Author's Address

   Paul Hoffman
   ICANN

   Email: paul.hoffman@icann.org