idnits 2.17.1 draft-iab-xml2rfcv2-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- -- The document has an IETF Trust Provisions (28 Dec 2009) Section 6.c(i) Publication Limitation clause. -- The document has an IETF Trust Provisions (28 Dec 2009) Section 6.c(ii) Publication Limitation clause. If this document is intended for submission to the IESG for publication, this constitutes an error. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 1 instance of lines with non-RFC2606-compliant FQDNs in the document. -- The draft header indicates that this document obsoletes RFC2629, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to contain a disclaimer for pre-RFC5378 work, but was first submitted on or after 10 November 2008. The disclaimer is usually necessary only for documents that revise or obsolete older RFCs, and that take significant amounts of text from those RFCs. If you can contact all authors of the source material and they are willing to grant the BCP78 rights to the IETF Trust, you can and should remove the disclaimer. Otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (June 9, 2015) is 3243 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Obsolete informational reference (is this intentional?): RFC 2223 (Obsoleted by RFC 7322) -- Obsolete informational reference (is this intentional?): RFC 2629 (Obsoleted by RFC 7749) -- Obsolete informational reference (is this intentional?): RFC 3667 (Obsoleted by RFC 3978) -- Obsolete informational reference (is this intentional?): RFC 3978 (Obsoleted by RFC 5378) -- Obsolete informational reference (is this intentional?): RFC 5741 (Obsoleted by RFC 7841) Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 9 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Reschke 3 Internet-Draft greenbytes 4 Obsoletes: 2629 (if approved) June 9, 2015 5 Intended status: Informational 6 Expires: December 11, 2015 8 The 'XML2RFC' version 2 Vocabulary 9 draft-iab-xml2rfcv2-01 11 Abstract 13 This document defines the 'XML2RFC' version 2 vocabulary; an XML- 14 based language used for writing RFCs and Internet-Drafts. 16 Version 2 represents the current state of the vocabulary (as 17 implemented by several tools and as used by the RFC Editor) around 18 2014. 20 Editorial Note (To be removed by RFC Editor) 22 Discussion of this draft takes place on the XML2RFC mailing list 23 (xml2rfc@ietf.org), which has its home page at 24 . 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at http://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on December 11, 2015. 43 Copyright Notice 45 Copyright (c) 2015 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (http://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 58 1.1. Syntax Notation . . . . . . . . . . . . . . . . . . . . . 4 59 2. Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 60 2.1. . . . . . . . . . . . . . . . . . . . . . . . . 5 61 2.2.
. . . . . . . . . . . . . . . . . . . . . . . . 5 62 2.3. . . . . . . . . . . . . . . . . . . . . . . . 5 63 2.4. . . . . . . . . . . . . . . . . . . . . . . . . . . 6 64 2.5. . . . . . . . . . . . . . . . . . . . . . . . . 6 65 2.6. . . . . . . . . . . . . . . . . . . . . . . . . . 9 66 2.7. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 67 2.8. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 68 2.9. . . . . . . . . . . . . . . . . . . . . . . . . . . 11 69 2.10. . . . . . . . . . . . . . . . . . . . . . . . . . . 11 70 2.11. . . . . . . . . . . . . . . . . . . . . . . . . 11 71 2.12. . . . . . . . . . . . . . . . . . . . . . . . . . . 11 72 2.13. . . . . . . . . . . . . . . . . . . . . . . . . . . 12 73 2.14. . . . . . . . . . . . . . . . . . . . . . . . . . 13 74 2.15. . . . . . . . . . . . . . . . . . . . . . . . . . . 13 75 2.16. . . . . . . . . . . . . . . . . . . . . . . . 13 76 2.17.
. . . . . . . . . . . . . . . . . . . . . . . . . 14 77 2.18. . . . . . . . . . . . . . . . . . . . . . . . . . 15 78 2.19. . . . . . . . . . . . . . . . . . . . . . . . . . 16 79 2.20. . . . . . . . . . . . . . . . . . . . . . . . . . . 17 80 2.21. . . . . . . . . . . . . . . . . . . . . . . . . 18 81 2.22. . . . . . . . . . . . . . . . . . . . . . . . . . . 18 82 2.23. . . . . . . . . . . . . . . . . . . . . . . . . . 20 83 2.24. . . . . . . . . . . . . . . . . . . . . . . . . . . 20 84 2.25. . . . . . . . . . . . . . . . . . . . . . . 21 85 2.26. . . . . . . . . . . . . . . . . . . . . . . . . . 21 86 2.27. . . . . . . . . . . . . . . . . . . . . . . . . . 21 87 2.28. . . . . . . . . . . . . . . . . . . . . . . . 22 88 2.29. . . . . . . . . . . . . . . . . . . . . . . . . 22 89 2.30. . . . . . . . . . . . . . . . . . . . . . . . 23 90 2.31. . . . . . . . . . . . . . . . . . . . . . . . 24 91 2.32. . . . . . . . . . . . . . . . . . . . . . . . . . 24 92 2.33. . . . . . . . . . . . . . . . . . . . . . . . . . . 24 93 2.34.
. . . . . . . . . . . . . . . . . . . . . . . . 28 94 2.35. . . . . . . . . . . . . . . . . . . . . . . . 29 95 2.36. . . . . . . . . . . . . . . . . . . . . . . . . . 30 96 2.37. . . . . . . . . . . . . . . . . . . . . . . . . . 31 97 2.38. . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 98 2.39. . . . . . . . . . . . . . . . . . . . . . . . 32 99 2.40. . . . . . . . . . . . . . . . . . . . . . . . . . 33 100 2.41. <ttcol> . . . . . . . . . . . . . . . . . . . . . . . . . 34 101 2.42. <uri> . . . . . . . . . . . . . . . . . . . . . . . . . . 34 102 2.43. <vspace> . . . . . . . . . . . . . . . . . . . . . . . . . 35 103 2.44. <workgroup> . . . . . . . . . . . . . . . . . . . . . . . 35 104 2.45. <xref> . . . . . . . . . . . . . . . . . . . . . . . . . . 35 105 3. Escaping for Use in XML . . . . . . . . . . . . . . . . . . . 37 106 4. Special Unicode Code Points . . . . . . . . . . . . . . . . . 38 107 5. Including Files . . . . . . . . . . . . . . . . . . . . . . . 38 108 6. Internationalization Considerations . . . . . . . . . . . . . 39 109 7. Security Considerations . . . . . . . . . . . . . . . . . . . 39 110 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 40 111 8.1. Internet Media Type Registration . . . . . . . . . . . . . 40 112 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 41 113 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 41 114 10.1. Normative References . . . . . . . . . . . . . . . . . . . 41 115 10.2. Informative References . . . . . . . . . . . . . . . . . . 42 116 Appendix A. Front Page ('Boilerplate') Generation . . . . . . . . 44 117 A.1. The /rfc/@category Attribute . . . . . . . . . . . . . . . 44 118 A.2. The /rfc/@ipr Attribute . . . . . . . . . . . . . . . . . 45 119 A.2.1. Current Values: '*trust200902' . . . . . . . . . . . . 45 120 A.2.2. Historic Values . . . . . . . . . . . . . . . . . . . 47 121 A.3. The /rfc/@submissionType Attribute . . . . . . . . . . . . 47 122 A.4. The /rfc/@consensus Attribute . . . . . . . . . . . . . . 48 123 Appendix B. Changes from RFC 2629 ('v1') . . . . . . . . . . . . 48 124 B.1. RNC Schema Differences (to be removed in RFC before 125 publication) . . . . . . . . . . . . . . . . . . . . . . . 48 126 B.2. Removed Elements . . . . . . . . . . . . . . . . . . . . . 48 127 B.3. Changed Defaults . . . . . . . . . . . . . . . . . . . . . 49 128 B.4. Changed Elements . . . . . . . . . . . . . . . . . . . . . 49 129 B.5. New Elements . . . . . . . . . . . . . . . . . . . . . . . 50 130 Appendix C. Relax NG Schema . . . . . . . . . . . . . . . . . . . 50 131 C.1. Checking Validity . . . . . . . . . . . . . . . . . . . . 56 132 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 134 1. Introduction 136 This document describes version 2 ("v2") of the 'XML2RFC' vocabulary; 137 an XML-based language ('Extensible Markup Language', [XML]) used for 138 writing RFCs ([RFC7322]) and Internet-Drafts ([IDGUIDE]). 140 Version 2 represents the current state of the vocabulary (as 141 implemented by several tools and as used by the RFC Editor) around 142 2014. 144 It obsoletes the original version ("v1") [RFC2629], which contained 145 the original language definition, and which was subsequently 146 extended. Many of the changes leading to version 2 have been 147 described in "Writing I-Ds and RFCs using XML (revised)" ([V1rev]), 148 but that document has not been updated since 2008. 150 Processing Instructions (Section 2.6 of [XML]) generally are specific 151 to a given processor, and thus are not considered to be part of the 152 vocabulary. See Section 4.1 of [TCLReadme] for a list of the 153 processing instructions supported by the first implementation of an 154 xml2rfc processor. 156 Note that the vocabulary contains certain constructs that might not 157 be used when generating the final text; however, they can provide 158 useful data for other uses (such index generation, populating a 159 keyword database, or syntax checks). 161 1.1. Syntax Notation 163 The XML vocabulary here is defined in prose, based on the Relax NG 164 schema ([RNC]) contained in Appendix C (specified in Relax NG Compact 165 Notation, "RNC"). 167 Note that the schema can be used for automated validity checks, but 168 certain constraints are only described in prose (example: the 169 conditionally required presence of the "abbrev" attribute). 171 2. Elements 173 The sections below describe all elements and their attributes. 175 Note that attributes not labeled "mandatory" are optional. 177 Except inside <artwork>, horizontal whitespace and linebreaks are 178 collapsed into a single whitespace, and leading and trailing 179 whitespace are trimmed off. 181 2.1. <abstract> 183 Contains the abstract of the document. The abstract ought to be 184 self-contained and thus should not contain references or unexpanded 185 abbreviations. See Section 4.3 of [RFC7322] for more information. 187 This element appears as a child element of: <front> (Section 2.19). 189 Content model: 191 One or more <t> elements (Section 2.38) 193 2.2. <address> 195 Provides address information for the author. 197 This element appears as a child element of: <author> (Section 2.6). 199 Content model: 201 In this order: 203 1. One optional <postal> element (Section 2.27) 205 2. One optional <phone> element (Section 2.26) 207 3. One optional <facsimile> element (Section 2.16) 209 4. One optional <email> element (Section 2.14) 211 5. One optional <uri> element (Section 2.42) 213 2.3. <annotation> 215 Provides additional prose augmenting a bibliographical reference. 217 This element appears as a child element of: <reference> 218 (Section 2.30). 220 Content model: 222 In any order: 224 o Text 226 o <xref> elements (Section 2.45) 227 o <eref> elements (Section 2.15) 229 o <iref> elements (Section 2.20) 231 o <cref> elements (Section 2.12) 233 o <spanx> elements (Section 2.36) 235 2.4. <area> 237 Provides information about the IETF area to which this document 238 relates (currently not used when generating documents). 240 The value ought to be either the full name or the abbreviation of one 241 of the IETF areas as listed on <http://www.ietf.org/iesg/area.html>. 242 The list at the time that this document is being published is: 243 "Applications", "app", "General", "gen", "Internet", "int", 244 "Operations and Management", "ops", "Real-time Applications and 245 Infrastructure", "rai", "Routing", "rtg", "Security", "sec", 246 "Transport", "tsv". 248 This element appears as a child element of: <front> (Section 2.19). 250 Content model: only text content. 252 2.5. <artwork> 254 This element allows the inclusion of "artwork" into the document. 256 <artwork> is the only element in the vocabulary that provides full 257 control of horizontal whitespace and line breaks, and thus is used 258 for a variety of things, such as: 260 o diagrams ("line art"), 262 o source code, 264 o formal languages (such as ABNF or the RNC notation used in this 265 document), 267 o message flow diagrams, 269 o complex tables, or 271 o protocol unit diagrams. 273 Note that processors differ in the handling of horizontal TAB 274 characters (some expand them, some treat them as single space) and 275 thus these ought to be avoided. 277 Alternatively, the "src" attribute allows referencing an external 278 graphics file, such as a bitmap or a vector drawing, using a URI 279 ("Uniform Resource Identifier", [RFC3986]). In this case, the 280 textual content acts as fallback for output formats that do not 281 support graphics, and thus ought to contain either a "line art" 282 variant of the graphics, or otherwise prose that describes the 283 included image in sufficient detail. Note that RFCs occasionally are 284 published with enhanced diagrams; a recent example is [RFC5598]. 286 This element appears as a child element of: <figure> (Section 2.17). 288 Content model: 290 Text 292 2.5.1. 'align' attribute 294 Controls whether the artwork appears left justified (default), 295 centered, or right justified. 297 Allowed values: 299 o "left" (default) 301 o "center" 303 o "right" 305 2.5.2. 'alt' attribute 307 Alternative text description of the artwork (not just the caption). 309 2.5.3. 'height' attribute 311 The suggested height of the graphics included using the "src" 312 attribute. 314 This attribute is format-dependent and ought to be avoided. 316 When generating HTML output, current implementations copy the 317 attribute "as is". For other output formats it is usually ignored. 319 2.5.4. 'name' attribute 321 A filename suitable for the contents (such as for extraction to a 322 local file). 324 This attribute generally isn't used for document generation, but it 325 can be helpful for other kinds of tools (such as automated syntax 326 checkers which work by extracting the source code). 328 2.5.5. 'src' attribute 330 The URI reference of a graphics file ([RFC3986], Section 4.1). 332 Note that this can be a "data" URI ([RFC2397]) as well; in which case 333 the graphics file is wholly part of the XML file. 335 2.5.6. 'type' attribute 337 Specifies the type of the artwork. 339 The value either is an Internet Media Type (see [RFC2046]) or a 340 keyword (such as "abnf"). The set of recognized keywords varies 341 across implementations. 343 How it is used depends on context and application. For instance, a 344 formatter can attempt to syntax-highlight code in certain known 345 languages. 347 2.5.7. 'width' attribute 349 The suggested width of the graphics included using the "src" 350 attribute. 352 This attribute is format-dependent and ought to be avoided. 354 When generating HTML output, current implementations copy the 355 attribute "as is". For other output formats it is usually ignored. 357 2.5.8. 'xml:space' attribute 359 Determines whitespace handling. 361 "preserve" is both the default value and the only meaningful setting 362 anyway (because that's what the <artwork> element is for). 364 See also Section 2.10 of [XML]. 366 Allowed values: 368 o "default" 370 o "preserve" (default) 372 2.6. <author> 374 Provides information about a document's author. This is used both 375 for the document itself (at the beginning of the document) and for 376 referenced documents (inside of <reference>). 378 The <author> elements contained within the document's <front> element 379 are used to fill the boilerplate, and also to generate the "Author's 380 Address" section (see Section 4.12 of [RFC7322]). 382 Note that an "author" can also be just an organization (by not 383 specifying any of the name attributes, but adding the <organization> 384 child element). 386 Furthermore, the "role" attribute can be used to mark an author as 387 "editor". This is reflected both on the front page and in 388 bibliographical references. Note that this specification does not 389 define a precise meaning for the term "editor". 391 See Section "Authors vs. Contributors" of [RFCPOLICY] for more 392 information. 394 This element appears as a child element of: <front> (Section 2.19). 396 Content model: 398 In this order: 400 1. One optional <organization> element (Section 2.25) 402 2. One optional <address> element (Section 2.2) 404 2.6.1. 'fullname' attribute 406 The full name (used in the automatically generated "Author's Address" 407 section). 409 2.6.2. 'initials' attribute 411 Author initials (used on the front page and in references). 413 Initials should be provided as a whitespace separated list of pairs 414 of a letter and a dot. 416 2.6.3. 'role' attribute 418 Specifies the role the author had in creating the document. 420 Allowed values: 422 o "editor" 424 2.6.4. 'surname' attribute 426 The author's surname (used on the front page and in references). 428 2.7. <back> 430 Contains the "back" part of the document: the references and 431 appendices. In <back>, <section> elements indicate appendices. 433 This element appears as a child element of: <rfc> (Section 2.33). 435 Content model: 437 In this order: 439 1. Optional <references> elements (Section 2.31) 441 2. Optional <section> elements (Section 2.34) 443 2.8. <c> 445 Provides the content of a cell in a table. 447 This element appears as a child element of: <texttable> 448 (Section 2.39). 450 Content model: 452 In any order: 454 o Text 456 o <xref> elements (Section 2.45) 458 o <eref> elements (Section 2.15) 460 o <iref> elements (Section 2.20) 462 o <cref> elements (Section 2.12) 464 o <spanx> elements (Section 2.36) 466 2.9. <city> 468 Gives the city name in a postal address. 470 This element appears as a child element of: <postal> (Section 2.27). 472 Content model: only text content. 474 2.10. <code> 476 Gives the postal region code. 478 This element appears as a child element of: <postal> (Section 2.27). 480 Content model: only text content. 482 2.11. <country> 484 Gives the country in a postal address. 486 This element appears as a child element of: <postal> (Section 2.27). 488 Content model: only text content. 490 2.12. <cref> 492 Represents a comment. 494 Comments can be used in a document while it is work-in-progress. 495 They usually appear either inline and visually highlighted, at the 496 end of the document (depending on file format and settings of the 497 formatter), or not at all (when generating an RFC). 499 This element appears as a child element of: <annotation> 500 (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), 501 <preamble> (Section 2.29), and <t> (Section 2.38). 503 Content model: only text content. 505 2.12.1. 'anchor' attribute 507 Document-wide unique identifier for this comment. The processor will 508 auto-generate an identifier when none is given. 510 The value needs to be a valid XML "Name" (Section 2.3 of [XML]), 511 additionally constrained to US-ASCII characters ([USASCII]). 513 2.12.2. 'source' attribute 515 Holds the "source" of a comment, such as the name or the initials of 516 the person who made the comment. 518 2.13. <date> 520 Provides information about the publication date. 522 Note that this element is used both for the boilerplate of the 523 document being produced, and also inside bibliographic references. 525 In the boilerplate case, it defines the publication date, which, when 526 producing Internet-Drafts, will be used for computing the expiration 527 date (see Section 8 of [IDGUIDE]). When one or more of "year", 528 "month", or "day" are left out, the processor will attempt to use the 529 current system date if the attributes that are present are consistent 530 with that date. 532 Note that in this case, month names need to match the full (English) 533 month name ("January", "February", "March", "April", "May, "June", 534 "July", "August", "September", "October", "November", or "December") 535 in order for expiration calculations to work (some implementations 536 might support additional formats, though). 538 In the case of bibliographic references, the date information can 539 have prose text for the month or year. For example, vague dates 540 (year="ca. 2000"), date ranges (year="2012-2013"), non-specific 541 months (month="Second quarter") and so on, are allowed. 543 This element appears as a child element of: <front> (Section 2.19). 545 Content model: this element does not have any contents. 547 2.13.1. 'day' attribute 549 In the "boilerplate" case: the day of publication; this is a number. 550 Otherwise: an indication of the publication day, with the format not 551 being restricted. 553 2.13.2. 'month' attribute 555 In the "boilerplate" case: the month of publication; this is the 556 English name of the month. Otherwise: an indication of the 557 publication month, with the format not being restricted. 559 2.13.3. 'year' attribute 561 In the "boilerplate" case: the year of publication; this is a number 562 (usually four-digit). Otherwise: an indication of the publication 563 year, with the format not being restricted. 565 2.14. <email> 567 Provides an email address. 569 The value is expected to be the scheme-specific part of a "mailto" 570 URI (so does not include the prefix "mailto:"). See Section 2 of 571 [RFC6068] for details. 573 This element appears as a child element of: <address> (Section 2.2). 575 Content model: only text content. 577 2.15. <eref> 579 Represents an "external" link (as specified in the "target" 580 attribute). 582 If the element has no text content, the value of the target attribute 583 will be inserted in angle brackets (as described in [RFC3986], 584 Appendix C) and, depending on the capabilities of the output format, 585 hyperlinked. 587 Otherwise, the text content will be used (and potentially 588 hyperlinked). Depending on output format and formatter, additional 589 text might be inserted (such as a "URI" counter, and a "URIs" section 590 in the back of the document). Avoid this variant when consistent 591 rendering across formats and formatters is desired. 593 This element appears as a child element of: <annotation> 594 (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), 595 <preamble> (Section 2.29), and <t> (Section 2.38). 597 Content model: only text content. 599 2.15.1. 'target' attribute (mandatory) 601 URI of the link target (see Section 3 of [RFC3986]). 603 2.16. <facsimile> 605 Represents the phone number of a fax machine. 607 The value is expected to be the scheme-specific part of a "tel" URI 608 (so does not include the prefix "tel:"), using the "global numbers" 609 syntax. See Section 3 of [RFC3966] for details. 611 This element appears as a child element of: <address> (Section 2.2). 613 Content model: only text content. 615 2.17. <figure> 617 This element is used to represent a figure, consisting of an optional 618 preamble, the actual figure, an optional postamble, and an optional 619 title. 621 This element appears as a child element of: <section> (Section 2.34), 622 and <t> (Section 2.38). 624 Content model: 626 In this order: 628 1. Optional <iref> elements (Section 2.20) 630 2. One optional <preamble> element (Section 2.29) 632 3. One <artwork> element (Section 2.5) 634 4. One optional <postamble> element (Section 2.28) 636 2.17.1. 'align' attribute 638 Used to change the alignment of <preamble> and <postamble>. 640 Note: does not affect title or <artwork> alignment. 642 Allowed values: 644 o "left" (default) 646 o "center" 648 o "right" 650 2.17.2. 'alt' attribute 652 Duplicates functionality available on <artwork>; avoid it. 654 2.17.3. 'anchor' attribute 656 Document-wide unique identifier for this figure. 658 Furthermore, the presence of this attribute causes the figure to be 659 numbered. 661 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 663 2.17.4. 'height' attribute 665 Duplicates functionality available on <artwork>; avoid it. 667 2.17.5. 'src' attribute 669 Duplicates functionality available on <artwork>; avoid it. 671 2.17.6. 'suppress-title' attribute 673 Figures that have an "anchor" attribute will automatically get an 674 autogenerated title (such as "Figure 1"), even if the "title" 675 attribute is absent. Setting this attribute to "true" will prevent 676 this. 678 Allowed values: 680 o "true" 682 o "false" (default) 684 2.17.7. 'title' attribute 686 The title for the figure; this usually appears on a line after the 687 figure. 689 2.17.8. 'width' attribute 691 Duplicates functionality available on <artwork>; avoid it. 693 2.18. <format> 695 Provides a link to an additional format variant for a reference. 697 Note that these additional links are neither used in published RFCs, 698 nor supported by all tools. If the goal is to provide a single URI 699 for a reference, the "target" attribute on <reference> can be used 700 instead. 702 This element appears as a child element of: <reference> 703 (Section 2.30). 705 Content model: this element does not have any contents. 707 2.18.1. 'octets' attribute 709 Octet length of linked-to document. 711 2.18.2. 'target' attribute 713 URI of document. 715 2.18.3. 'type' attribute (mandatory) 717 The type of the linked-to document, such as "TXT", "HTML", or "PDF". 719 2.19. <front> 721 Represent the "front matter": metadata (such as author information), 722 abstract, and additional notes. 724 This element appears as a child element of: <reference> 725 (Section 2.30), and <rfc> (Section 2.33). 727 Content model: 729 In this order: 731 1. One <title> element (Section 2.40) 733 2. One or more <author> elements (Section 2.6) 735 3. One <date> element (Section 2.13) 737 4. Optional <area> elements (Section 2.4) 739 5. Optional <workgroup> elements (Section 2.44) 741 6. Optional <keyword> elements (Section 2.21) 743 7. One optional <abstract> element (Section 2.1) 745 8. Optional <note> elements (Section 2.24) 747 2.20. <iref> 749 Provides terms for the document's index. 751 Index entries can be either be regular entries (when just the "item" 752 attribute is given) or nested entries (by specifying "subitem" as 753 well), grouped under a regular entry. 755 In this document, for instance, every element definition appears as a 756 regular index entry ("iref element 2.20"). In addition, for each use 757 of that element inside another parent element, a nested entry was 758 added ("iref element 2.20, ... inside annotation 2.3"). 760 Index entries generally refer to the exact place where the <iref> 761 element occured. An exception is the occurence as a child element of 762 <section>, in which case the whole section is considered to be 763 relevant for that index entry. In some formats, index entries of 764 this type might be displayed as range. 766 This element appears as a child element of: <annotation> 767 (Section 2.3), <c> (Section 2.8), <figure> (Section 2.17), 768 <postamble> (Section 2.28), <preamble> (Section 2.29), <section> 769 (Section 2.34), and <t> (Section 2.38). 771 Content model: this element does not have any contents. 773 2.20.1. 'item' attribute (mandatory) 775 The item to include. 777 2.20.2. 'primary' attribute 779 Setting this to "true" declares the occurrence as "primary", which 780 might cause it to be highlighted in the index. 782 Allowed values: 784 o "true" 786 o "false" (default) 788 2.20.3. 'subitem' attribute 790 The subitem to include. 792 2.21. <keyword> 794 Specifies a keyword applicable to the document. 796 Note that each element should only contain a single keyword; for 797 multiple keywords, the element can simply be repeated. 799 Keywords are used both in the RFC Index and in the metadata of 800 generated documents. 802 This element appears as a child element of: <front> (Section 2.19). 804 Content model: only text content. 806 2.22. <list> 808 Delineates a text list. 810 Each list item is represented by a <t> element. The vocabulary 811 currently does not directly support list items consisting of multiple 812 paragraphs; if this is needed, <vspace> (Section 2.43) can be used as 813 a workaround. 815 This element appears as a child element of: <t> (Section 2.38). 817 Content model: 819 One or more <t> elements (Section 2.38) 821 2.22.1. 'counter' attribute 823 This attribute holds a token that serves as an identifier for a 824 counter. The intended use is continuation of lists, where the 825 counter will be incremented for every list item, and there is no way 826 to reset the counter. 828 Note that this attribute functions only when the style attribute is 829 using the "format..." syntax (Section 2.22.3); otherwise, it is 830 ignored. 832 2.22.2. 'hangIndent' attribute 834 For list styles with potentially wide labels, this attribute can 835 override the default indentation level, measured in number of 836 characters. 838 Note that it only affects style with variable-width labels 839 ("format..." and "hanging", see below), and it may not affect formats 840 in which the list item text appears _below_ the label. 842 2.22.3. 'style' attribute 844 This attribute is used to control the display of a list. 846 The value of this attribute is inherited by any nested lists that do 847 not have this attribute set. It may be set to: 849 "empty" 851 For unlabeled list items; it can also be used for indentation 852 purposes (this is the default value when there is an enclosing 853 list where the style is specified). 855 "hanging" 857 For lists where the items are labeled with a piece of text. 859 The label text is specified in the 'hangText' attribute of the <t> 860 element (Section 2.38.2). 862 "letters" 864 For ordered lists using letters as labels (lowercase letters 865 followed by a period; after "z", it rolls over to a two-letter 866 format). For nested lists, processors usually flip between 867 uppercase and lowercase. 869 "numbers" 871 For ordered lists using numbers as labels. 873 "symbols" 875 For unordered (bulleted) lists. 877 The style of the bullets is chosen automatically be the processor 878 (some implementations allow overriding the default using a 879 processing instruction). 881 And, finally: 883 "format ..." 885 For lists with customized labels, consisting of fixed text and an 886 item counter in various formats. 888 The value is a free-form text that allows counter values to be 889 inserted using a "percent-letter" format. For instance, "[REQ%d]" 890 generates labels of the form "[REQ1]", where "%d" inserts the item 891 number as decimal number. 893 The following formats are supported: 895 %c lowercase letters (a, b, c, etc.) 897 %C uppercase letters (A, B, C, etc.) 899 %d decimal numbers (1, 2, 3, etc.) 901 %i lowercase Roman numerals (i, ii, iii, etc.) 903 %I uppercase Roman numerals (I, II, III, etc.) 905 %% represents a percent sign 907 Other formats are reserved for future use. 909 2.23. <middle> 911 Represents the main content of the document. 913 This element appears as a child element of: <rfc> (Section 2.33). 915 Content model: 917 One or more <section> elements (Section 2.34) 919 2.24. <note> 921 Creates an unnumbered section that appears after the abstract. 923 It is usually used for additional information to reviewers (working 924 group information, mailing list, ...), or for additional publication 925 information such as "IESG Notes". 927 This element appears as a child element of: <front> (Section 2.19). 929 Content model: 931 One or more <t> elements (Section 2.38) 933 2.24.1. 'title' attribute (mandatory) 935 The title of the note. 937 2.25. <organization> 939 Specifies the affiliation of an author. 941 This information appears in both the "Author's Address" section and 942 on the front page (see [RFC7322], Section 4.1.1 for more 943 information). If the value is long, an abbreviated variant can be 944 specified in the "abbrev" attribute. 946 This element appears as a child element of: <author> (Section 2.6). 948 Content model: only text content. 950 2.25.1. 'abbrev' attribute 952 Abbreviated variant. 954 2.26. <phone> 956 Represents a phone number. 958 The value is expected to be the scheme-specific part of a "tel" URI 959 (so does not include the prefix "tel:"), using the "global numbers" 960 syntax. See Section 3 of [RFC3966] for details. 962 This element appears as a child element of: <address> (Section 2.2). 964 Content model: only text content. 966 2.27. <postal> 968 Contains child elements providing postal information. 970 Note that at least one <street> element needs to be present; however 971 formatters will handle empty values just fine. 973 This element appears as a child element of: <address> (Section 2.2). 975 Content model: 977 In this order: 979 1. One or more <street> elements (Section 2.37) 981 2. In any order: 983 * <city> elements (Section 2.9) 985 * <region> elements (Section 2.32) 987 * <code> elements (Section 2.10) 989 * <country> elements (Section 2.11) 991 2.28. <postamble> 993 Gives text that appears at the bottom of a figure or table. 995 This element appears as a child element of: <figure> (Section 2.17), 996 and <texttable> (Section 2.39). 998 Content model: 1000 In any order: 1002 o Text 1004 o <xref> elements (Section 2.45) 1006 o <eref> elements (Section 2.15) 1008 o <iref> elements (Section 2.20) 1010 o <cref> elements (Section 2.12) 1012 o <spanx> elements (Section 2.36) 1014 2.29. <preamble> 1016 Gives text that appears at the top of a figure or table. 1018 This element appears as a child element of: <figure> (Section 2.17), 1019 and <texttable> (Section 2.39). 1021 Content model: 1023 In any order: 1025 o Text 1027 o <xref> elements (Section 2.45) 1029 o <eref> elements (Section 2.15) 1031 o <iref> elements (Section 2.20) 1033 o <cref> elements (Section 2.12) 1035 o <spanx> elements (Section 2.36) 1037 2.30. <reference> 1039 Represents a bibliographical reference. 1041 This element appears as a child element of: <references> 1042 (Section 2.31). 1044 Content model: 1046 In this order: 1048 1. One <front> element (Section 2.19) 1050 2. Optional <seriesInfo> elements (Section 2.35) 1052 3. Optional <format> elements (Section 2.18) 1054 4. Optional <annotation> elements (Section 2.3) 1056 2.30.1. 'anchor' attribute (mandatory) 1058 Document-wide unique identifier for this reference. Usually, this 1059 will be used both to "label" the reference in the references section, 1060 and as an identifier in links to this reference entry. 1062 The value needs to be a valid XML "Name" (Section 2.3 of [XML]), 1063 additionally constrained to US-ASCII characters ([USASCII]). Thus, 1064 the character repertoire consists of "A-Z", "a-z", "0-9", "_", "-", 1065 ".", and ":", where "0-9", ".", and "-" are disallowed as start 1066 character. 1068 2.30.2. 'target' attribute 1070 Holds the URI for the reference. 1072 Note that depending on the <seriesInfo> element, a URI might not be 1073 needed, nor desirable, as it can be automatically generated (for 1074 instance, for RFCs). 1076 2.31. <references> 1078 Contains a set of bibliographical references. 1080 In the early days of the RFC series, there was only one "References" 1081 section per RFC. This convention was later changed to group 1082 references into two sets, "Normative" and "Informative" as described 1083 in Section 4.8.6 of [RFC7322]). This vocabulary supports the split 1084 with the "title" attribute. 1086 By default, the order of references is significant. Processors 1087 however can be instructed to sort them based on their anchor names. 1089 This element appears as a child element of: <back> (Section 2.7). 1091 Content model: 1093 One or more <reference> elements (Section 2.30) 1095 2.31.1. 'title' attribute 1097 Provides the title for the References section (defaulting to 1098 "References"). 1100 In general, the title should be either "Normative References" or 1101 "Informative References". 1103 2.32. <region> 1105 Provides the region name in a postal address. 1107 This element appears as a child element of: <postal> (Section 2.27). 1109 Content model: only text content. 1111 2.33. <rfc> 1113 This is the root element of the xml2rfc vocabulary. 1115 Processors distinguish between RFC mode ("number" attribute being 1116 present) and Internet-Draft mode ("docName" attribute being present): 1117 it is invalid to specify both. Setting neither "number" nor 1118 "docName" can be useful for producing other types of document but is 1119 out-of-scope for this specification. 1121 Content model: 1123 In this order: 1125 1. One <front> element (Section 2.19) 1127 2. One <middle> element (Section 2.23) 1129 3. One optional <back> element (Section 2.7) 1131 2.33.1. 'category' attribute 1133 Document category (see Appendix A.1). 1135 Allowed values: 1137 o "std" 1139 o "bcp" 1141 o "info" 1143 o "exp" 1145 o "historic" 1147 2.33.2. 'consensus' attribute 1149 Affects the generated boilerplate. 1151 See [RFC5741] for more information. 1153 Allowed values: 1155 o "no" 1157 o "yes" 1159 2.33.3. 'docName' attribute 1161 For Internet-Drafts, this specifies the draft name (which appears 1162 below the title). 1164 A processor should give an error if both the "docName" and "number" 1165 attributes are given in the <rfc> element. 1167 Note that the file extension is not part of the draft, so in general 1168 it should end with the current draft number ("-", plus two digits). 1170 Furthermore, it is good practice to disambiguate current editor 1171 copies from submitted drafts (for instance, by replacing the draft 1172 number with the string "latest"). 1174 See Section 7 of [IDGUIDE] for further information. 1176 2.33.4. 'ipr' attribute 1178 Represents the Intellectual Property status of the document. See 1179 Appendix A.2 for details. 1181 Allowed values: 1183 o "full2026" 1185 o "noDerivativeWorks2026" 1187 o "none" 1189 o "full3667" 1191 o "noModification3667" 1193 o "noDerivatives3667" 1195 o "full3978" 1197 o "noModification3978" 1199 o "noDerivatives3978" 1201 o "trust200811" 1203 o "noModificationTrust200811" 1205 o "noDerivativesTrust200811" 1207 o "trust200902" 1209 o "noModificationTrust200902" 1211 o "noDerivativesTrust200902" 1213 o "pre5378Trust200902" 1215 2.33.5. 'iprExtract' attribute 1217 Identifies a single section within the document (by its 'anchor' 1218 attribute) for which extraction "as-is" is explicitly allowed (this 1219 is only relevant for historic values of the "ipr" attribute). 1221 2.33.6. 'number' attribute 1223 The number of the RFC to be produced. 1225 A processor should give an error if both the "docName" and "number" 1226 attributes are given in the <rfc> element. 1228 2.33.7. 'obsoletes' attribute 1230 A comma-separated list of RFC _numbers_ or Internet-Draft names. 1232 Processors ought to parse the attribute value, so that incorrect 1233 references can be detected and, depending on output format, 1234 hyperlinks can be generated. Also, the value ought to be reformatted 1235 to insert whitespace after each comma if not already present. 1237 2.33.8. 'seriesNo' attribute 1239 Number within a document series. 1241 The document series is defined by the "category" attribute; 1242 "seriesNo" is only applicable to the values "info" ("FYI" series), 1243 "std" ("STD" series), and "bcp" ("BCP" series). 1245 2.33.9. 'submissionType' attribute 1247 The document stream. 1249 See Section 2 of [RFC5741] for details. 1251 Allowed values: 1253 o "IETF" (default) 1255 o "IAB" 1257 o "IRTF" 1259 o "independent" 1261 2.33.10. 'updates' attribute 1263 A comma-separated list of RFC _numbers_ or Internet-Draft names. 1265 Processors ought to parse the attribute value, so that incorrect 1266 references can be detected and, depending on output format, 1267 hyperlinks can be generated. Also, the value ought to be reformatted 1268 to insert whitespace after each comma if not already present. 1270 2.33.11. 'xml:lang' attribute 1272 The natural language used in the document (defaults to "en"). 1274 See Section 2.12 of [XML] for more information. 1276 2.34. <section> 1278 Represents a section (when inside a <middle> element) or an appendix 1279 (when inside a <back> element). 1281 Sub-sections are created by nesting <section> elements inside 1282 <section> elements. 1284 This element appears as a child element of: <back> (Section 2.7), 1285 <middle> (Section 2.23), and <section> (Section 2.34). 1287 Content model: 1289 In this order: 1291 1. In any order: 1293 * <t> elements (Section 2.38) 1295 * <figure> elements (Section 2.17) 1297 * <texttable> elements (Section 2.39) 1299 * <iref> elements (Section 2.20) 1301 2. Optional <section> elements (Section 2.34) 1303 2.34.1. 'anchor' attribute 1305 Document-wide unique identifier for this section. 1307 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 1309 2.34.2. 'title' attribute (mandatory) 1311 The title of the section. 1313 2.34.3. 'toc' attribute 1315 Determines whether the section is included in the Table Of Contents. 1317 The processor usually has defaults for whether a Table Of Contents 1318 will be produced at all, and sections of which maximal depth will be 1319 included (frequently: 3). "include" and "exclude" allow overriding 1320 the processor's default behavior for the element they are specified 1321 on (they do not affect either nested or parent elements). 1323 Allowed values: 1325 o "include" 1327 o "exclude" 1329 o "default" (default) 1331 2.35. <seriesInfo> 1333 Specifies the document series in which this document appears, and 1334 also specifies an identifier within that series. 1336 This element appears as a child element of: <reference> 1337 (Section 2.30). 1339 Content model: this element does not have any contents. 1341 2.35.1. 'name' attribute (mandatory) 1343 The name of the series. 1345 Some series names might trigger specific processing (such as for 1346 auto-generating links, inserting descriptions such as "work in 1347 progress", or additional functionality like reference diagnostics). 1348 Examples for IETF-related series names are: "BCP", "FYI", "Internet- 1349 Draft", "RFC", and "STD". 1351 2.35.2. 'value' attribute (mandatory) 1353 The identifier within the series specified by the "name" attribute. 1355 For BCPs, FYIs, RFCs, and STDs this is the number within the series. 1357 For Internet-Drafts, it is the full draft name (ending with the two- 1358 digit version number). 1360 2.36. <spanx> 1362 Wraps a piece of text, indicating special formatting styles. 1364 When generating plain text, processors usually emulate font changes 1365 using characters such as "*" and "_". 1367 The following styles are defined: 1369 emph Simple emphasis (this is the default). 1371 strong Strong emphasis. 1373 verb "Verbatim" text (usually displayed using a monospaced font 1374 face). 1376 This element appears as a child element of: <annotation> 1377 (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), 1378 <preamble> (Section 2.29), and <t> (Section 2.38). 1380 Content model: only text content. 1382 2.36.1. 'style' attribute 1384 The style to be used (defaults to "emph"). 1386 2.36.2. 'xml:space' attribute 1388 Determines whitespace handling. 1390 According to the DTD, the default value is "preserve". Tests however 1391 show that it doesn't have any effect on processing; thus this 1392 attribute will be removed in future versions of the vocabulary. 1394 See also Section 2.10 of [XML]. 1396 Allowed values: 1398 o "default" 1400 o "preserve" (default) 1402 2.37. <street> 1404 Provides a street address. 1406 This element appears as a child element of: <postal> (Section 2.27). 1408 Content model: only text content. 1410 2.38. <t> 1412 Contains a paragraph of text. 1414 This element appears as a child element of: <abstract> (Section 2.1), 1415 <list> (Section 2.22), <note> (Section 2.24), and <section> 1416 (Section 2.34). 1418 Content model: 1420 In any order: 1422 o Text 1424 o <list> elements (Section 2.22) 1426 o <figure> elements (Section 2.17) 1428 o <xref> elements (Section 2.45) 1430 o <eref> elements (Section 2.15) 1432 o <iref> elements (Section 2.20) 1434 o <cref> elements (Section 2.12) 1436 o <spanx> elements (Section 2.36) 1438 o <vspace> elements (Section 2.43) 1440 2.38.1. 'anchor' attribute 1442 Document-wide unique identifier for this paragraph. 1444 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 1446 2.38.2. 'hangText' attribute 1448 Holds the label ("hanging text") for items in lists using the 1449 "hanging" style (see Section 2.22.3). 1451 2.39. <texttable> 1453 Contains a table, consisting of an optional preamble, a header line, 1454 rows, an optional postamble, and an optional title. 1456 The number of columns in the table is determined by the number of 1457 <ttcol> elements. The number of rows in the table is determined by 1458 the number of <c> elements divided by the number of columns. There 1459 is no requirement that the number of <c> elements be evenly divisible 1460 by the number of columns. 1462 This element appears as a child element of: <section> (Section 2.34). 1464 Content model: 1466 In this order: 1468 1. One optional <preamble> element (Section 2.29) 1470 2. One or more <ttcol> elements (Section 2.41) 1472 3. Optional <c> elements (Section 2.8) 1474 4. One optional <postamble> element (Section 2.28) 1476 2.39.1. 'align' attribute 1478 Determines the horizontal alignment of the table. 1480 Allowed values: 1482 o "left" 1484 o "center" (default) 1486 o "right" 1488 2.39.2. 'anchor' attribute 1490 Document-wide unique identifier for this table. 1492 Furthermore, the presence of this attribute causes the table to be 1493 numbered. 1495 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 1497 2.39.3. 'style' attribute 1499 Selects which borders should be drawn, where 1501 o "all" means borders around all table cells, 1503 o "full" is like "all" except no horizontal lines between table rows 1504 (except below the column titles), 1506 o "headers" adds just a separator between column titles and rows, 1507 and 1509 o "none" means no borders at all. 1511 Allowed values: 1513 o "all" 1515 o "none" 1517 o "headers" 1519 o "full" (default) 1521 2.39.4. 'suppress-title' attribute 1523 Tables that have an "anchor" attribute will automatically get an 1524 autogenerated title (such as "Table 1"), even if the "title" 1525 attribute is absent. Setting this attribute to "true" will prevent 1526 this. 1528 Allowed values: 1530 o "true" 1532 o "false" (default) 1534 2.39.5. 'title' attribute 1536 The title for the table; this usually appears on a line below the 1537 table body. 1539 2.40. <title> 1541 Represents the document title. 1543 When this element appears in the <front> element of the current 1544 document, the title might also appear in page headers or footers. If 1545 it's long (~40 characters), the "abbrev" attribute is used to specify 1546 an abbreviated variant. 1548 This element appears as a child element of: <front> (Section 2.19). 1550 Content model: only text content. 1552 2.40.1. 'abbrev' attribute 1554 Specifies an abbreviated variant of the document title. 1556 2.41. <ttcol> 1558 Contains a column heading in a table. 1560 This element appears as a child element of: <texttable> 1561 (Section 2.39). 1563 Content model: only text content. 1565 2.41.1. 'align' attribute 1567 Determines the horizontal alignment within the table column. 1569 Allowed values: 1571 o "left" (default) 1573 o "center" 1575 o "right" 1577 2.41.2. 'width' attribute 1579 The desired column width (as integer 0..100 followed by "%"). 1581 2.42. <uri> 1583 Contains a web address associated with the author. 1585 The contents should be a valid URI (see Section 3 of [RFC3986]). 1587 This element appears as a child element of: <address> (Section 2.2). 1589 Content model: only text content. 1591 2.43. <vspace> 1593 This element can be used to force the inclusion of a single line 1594 break or multiple blank lines. 1596 Note that this is a purely presentational element and thus its use 1597 ought to be avoided. 1599 This element appears as a child element of: <t> (Section 2.38). 1601 Content model: this element does not have any contents. 1603 2.43.1. 'blankLines' attribute 1605 Number of blank lines to be inserted, where "0" indicates a single 1606 line break (defaults to "0"). 1608 For paged output formats, no additional blank lines should be 1609 generated after a page break. 1611 2.44. <workgroup> 1613 This element is used to specify the Working Group (IETF) or Research 1614 Group (IRTF) from which the document originates, if any. The 1615 recommended format is the official name of the Working Group (with 1616 some capitalization). 1618 In Internet-Drafts, this is used in the upper left corner of the 1619 boilerplate, replacing the "Network Working Group" string. 1620 Formatting software can append the words "Working Group" or "Research 1621 Group", depending on the "submissionType" property on the <rfc> 1622 element (Section 2.33.9). 1624 This element appears as a child element of: <front> (Section 2.19). 1626 Content model: only text content. 1628 2.45. <xref> 1630 Inserts a cross reference to a different part of a document. 1632 The generated text depends on whether the <xref> is empty (in which 1633 case the processor will try to generate a meaningful text fragment), 1634 the "format" attribute, and the nature (XML element type) of the 1635 referenced document part. 1637 Any element that allows the "anchor" attribute can be referenced; 1638 however there are restrictions with respect to the text content being 1639 generated. For instance, a <t> can be a reference target, however, 1640 because paragraphs are not (visibly) numbered, the author will have 1641 to make sure that the combination of prose and contained text content 1642 is sufficient for a reader to understand what is being referred to. 1644 This element appears as a child element of: <annotation> 1645 (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), 1646 <preamble> (Section 2.29), and <t> (Section 2.38). 1648 Content model: only text content. 1650 2.45.1. 'format' attribute 1652 This attribute is used to control the format of the generated 1653 reference text. 1655 "counter" 1657 Inserts a counter, such as the number of a section, figure, table, 1658 or list item. 1660 For targets that are not inherently numbered, such as references 1661 or comments, it uses the anchor name instead. 1663 "default" 1665 Inserts a text fragment that describes the referenced part 1666 completely, such as "Section 2", "Table 4", or "[XML]". 1668 "none" 1670 There will be no auto-generated text. 1672 "title" 1674 Inserts a title for the referenced element (usually obtained from 1675 the referenced element's "title" attribute; some processors also 1676 use the <title> child element or a <reference> target). 1678 Not all combinations of text content, format attribute, and type of 1679 referenced part lead to predictable results across different 1680 formatters. In case this matters, the following combinations need to 1681 be avoided: 1683 o Non-empty text content with any format other than "none". 1685 o Empty text content with format "counter" for any target that isn't 1686 inherently numbered. 1688 o Empty text content with format "title" for any target that doesn't 1689 have a title. 1691 Allowed values: 1693 o "counter" 1695 o "title" 1697 o "none" 1699 o "default" (default) 1701 2.45.2. 'pageno' attribute 1703 Unused. 1705 It's unclear what the purpose of this attribute is; processors seem 1706 to ignore it and it never was documented. 1708 Allowed values: 1710 o "true" 1712 o "false" (default) 1714 2.45.3. 'target' attribute (mandatory) 1716 Identifies the document component being referenced. 1718 The value needs to match the value of the "anchor" attribute of 1719 another element in the document. 1721 3. Escaping for Use in XML 1723 Text in XML cannot use the literal characters "<" and "&", as they 1724 have special meaning to the XML processor (starting entities, 1725 elements, etc.). Usually, these characters will need to be 1726 substituted by "<" and "&" (see Section 4.6 of [XML]). 1728 ">" does not require escaping, unless it appears in the sequence 1729 "]]>" (which indicates the end of a CDATA section, see below). 1731 Escaping the individual characters can be a lot of work (when done 1732 manually), and also messes up alignment in artwork. Another approach 1733 to escaping is to use CDATA sections ([XML], Section 2.7). Within 1734 these, no further escaping is needed, except when the "end-of-CDATA" 1735 marker needs to be used (in that case, the CDATA section needs to be 1736 closed, and a new one needs to be started). 1738 4. Special Unicode Code Points 1740 Although the current RFC format does not allow non-ASCII Unicode 1741 characters ([UNICODE]), some of them can be used to enforce certain 1742 behaviors of formatters. 1744 For instance: 1746 non-breaking space (U+00A0) 1748 Represents a space character where no line break should happen. 1749 This is frequently used in titles (by excluding certain space 1750 characters from the line breaking algorithm, the processor will 1751 use the remaining whitespace occurrences for line breaks). 1753 non-breaking hyphen (U+2011) 1755 Similarly, this represents a hyphen character where nevertheless 1756 no line breaking ought to occur. 1758 word joiner (U+2060) 1760 Also called "zero width non-breaking space" -- can be used to 1761 disallow line breaking between two non-whitespace characters. 1763 Note that in order to use these characters by name, they need to be 1764 declared either in the Document Type Definition (DTD, [XML], Section 1765 2.9), or in the "internal subset" ([XML], Section 2.8), like this: 1767 <?xml version="1.0"?> 1769 <!DOCTYPE rfc [ 1771 <!-- declare nbsp and friends --> 1772 <!ENTITY nbsp " "> 1773 <!ENTITY nbhy "‑"> 1774 <!ENTITY wj "⁠"> 1775 ]> 1777 5. Including Files 1779 This version of the vocabulary does not support an inclusion 1780 mechanism on its own -- thus, a document always needs to be self- 1781 contained. 1783 That being said, some processors do support file inclusion using 1784 processing instructions (Section 2.6 of [XML] and Section 4.1.2 of 1785 [TCLReadme]). 1787 Furthermore, XML itself allows inclusion of external content using 1788 the "internal subset" (Section 2.8 of [XML]). Unfortunately, this 1789 requires declaring the external data in the DTD upfront. 1791 For instance: 1793 <?xml version="1.0"?> 1795 <!DOCTYPE rfc [ 1797 <!-- allow later RFC2616 reference using "&rfc2616;" --> 1798 <!-- the data will be fetched from xml.resource.org --> 1799 <!ENTITY rfc2616 PUBLIC 1800 "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml"> 1801 ]> 1803 ...declares the entity "rfc2616", which then can be used in the 1804 "references" section: 1806 <references> 1807 &rfc2616; 1808 </references> 1810 Note that this mechanism only works for well-formed XML fragments; 1811 thus any plain text that would need to be escaped in XML can't be 1812 included as-is. 1814 6. Internationalization Considerations 1816 This format is based on [XML], thus does not have any issues 1817 representing arbitrary Unicode [UNICODE] characters in text content. 1819 However, the current canonical RFC format is restricted to US-ASCII 1820 characters ([USASCII] and Section 3 of [RFC2223]). It is possible 1821 that this rule will be relaxed in future revisions of the RFC format 1822 (for instance, to allow non-ASCII characters in examples and contact 1823 information). In that case, it is expected that the vocabulary will 1824 be extended accordingly. 1826 7. Security Considerations 1828 The "name" attribute on the <artwork> element (Section 2.5.4) can be 1829 used to derive a filename for saving to a local file system. 1830 Trusting this kind of information without pre-processing is a known 1831 security risk; see Section 4.3 of [RFC6266] for more information. 1833 Furthermore, the nature of XML, plus vocabulary features such as 1834 typed artwork, make it attractive to extract content from documents 1835 for further processing, such for the purpose of checking syntax, or 1836 computing/verifying examples. In the latter case, care needs to be 1837 taken that only trusted content is processed. 1839 All security considerations related to XML processing are relevant as 1840 well (see Section 7 of [RFC3470]). 1842 8. IANA Considerations 1844 8.1. Internet Media Type Registration 1846 IANA maintains the registry of Internet media types [BCP13] at 1847 <http://www.iana.org/assignments/media-types>. 1849 This document serves as the specification for the Internet media type 1850 "application/rfc+xml". The following is to be registered with IANA. 1852 Type name: application 1854 Subtype name: rfc+xml 1856 Required parameters: There are no required parameters. 1858 Optional parameters: "charset": This parameter has identical 1859 semantics as the charset parameter of the "application/xml" media 1860 type specified in Section 9.1 of [RFC7303]. 1862 Encoding considerations: Identical to those of "application/xml" as 1863 described in Section 9.1 of [RFC7303]. 1865 Security considerations: As defined in Section 7. In addition, as 1866 this media type uses the "+xml" convention, it inherits the 1867 security considerations described in Section 10 of [RFC7303]. 1869 Interoperability considerations: N/A 1871 Published specification: This specification. 1873 Applications that use this media type: Applications that transform 1874 xml2rfc to output formats such as plain text or HTML, plus 1875 additional analysis tools. 1877 Fragment identifier considerations: The "anchor" attribute is used 1878 for assigning document-wide unique identifiers that can be used as 1879 shorthand pointers, as described in Section 2.8 of [XPOINTER]. 1881 Additional information: 1883 Deprecated alias names for this type: None. 1885 Magic number(s): As specified for "application/xml" in Section 1886 9.1 of [RFC7303]. 1888 File extension(s): .xml or .rfcxml when disambiguation from other 1889 XML files is needed 1891 Macintosh file type code(s): TEXT 1893 Person & email address to contact for further information: See 1894 Authors Section. 1896 Intended usage: COMMON 1898 Restrictions on usage: N/A 1900 Author: See Authors Section. 1902 Change controller: RFC Series Editor (rse@rfc-editor.org) 1904 9. Acknowledgments 1906 Thanks to everybody who reviewed this document and provided feedback 1907 and/or specification text, in particular Brian Carpenter, Elwyn 1908 Davies, Tony Hansen, Paul Hoffman, Henrik Levkowetz, Alice Russo, Tom 1909 Taylor, Jim Schaad, and Nico Williams. 1911 We also thank Marshall T. Rose for both the original design and the 1912 reference implementation of the "xml2rfc" formatter. 1914 10. References 1916 10.1. Normative References 1918 [XML] Maler, E., Yergeau, F., Paoli, J., Sperberg-McQueen, M., 1919 and T. Bray, "Extensible Markup Language (XML) 1.0 1920 (Fifth Edition)", W3C Recommendation REC-xml-20081126, 1921 November 2008, 1922 <http://www.w3.org/TR/2008/REC-xml-20081126/>. 1924 Latest version available at <http://www.w3.org/TR/xml>. 1926 10.2. Informative References 1928 [BCP13] Freed, N., Klensin, J., and T. Hansen, "Media Type 1929 Specifications and Registration Procedures", BCP 13, 1930 RFC 6838, January 2013, 1931 <http://www.rfc-editor.org/info/bcp13>. 1933 [IDGUIDE] Housley, R., "Guidelines to Authors of Internet-Drafts", 1934 December 2010, 1935 <http://www.ietf.org/id-info/guidelines.html>. 1937 [JING] Thai Open Source Software Center Ltd, "Jing - A RELAX NG 1938 validator in Java", 2008, 1939 <http://www.thaiopensource.com/relaxng/jing.html>. 1941 Downloads: 1942 <https://code.google.com/p/jing-trang/downloads/list>. 1944 [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 1945 3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996, 1946 <http://www.rfc-editor.org/info/rfc2026>. 1948 [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 1949 Extensions (MIME) Part Two: Media Types", RFC 2046, 1950 DOI 10.17487/RFC2046, November 1996, 1951 <http://www.rfc-editor.org/info/rfc2046>. 1953 [RFC2223] Postel, J. and J. Reynolds, "Instructions to RFC 1954 Authors", RFC 2223, DOI 10.17487/RFC2223, October 1997, 1955 <http://www.rfc-editor.org/info/rfc2223>. 1957 [RFC2397] Masinter, L., "The "data" URL scheme", RFC 2397, 1958 DOI 10.17487/RFC2397, August 1998, 1959 <http://www.rfc-editor.org/info/rfc2397>. 1961 [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, 1962 DOI 10.17487/RFC2629, June 1999, 1963 <http://www.rfc-editor.org/info/rfc2629>. 1965 [RFC3470] Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines 1966 for the Use of Extensible Markup Language (XML) within 1967 IETF Protocols", BCP 70, RFC 3470, DOI 10.17487/RFC3470, 1968 January 2003, <http://www.rfc-editor.org/info/rfc3470>. 1970 [RFC3667] Bradner, S., "IETF Rights in Contributions", RFC 3667, 1971 DOI 10.17487/RFC3667, February 2004, 1972 <http://www.rfc-editor.org/info/rfc3667>. 1974 [RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", 1975 RFC 3966, DOI 10.17487/RFC3966, December 2004, 1976 <http://www.rfc-editor.org/info/rfc3966>. 1978 [RFC3978] Bradner, S., "IETF Rights in Contributions", RFC 3978, 1979 DOI 10.17487/RFC3978, March 2005, 1980 <http://www.rfc-editor.org/info/rfc3978>. 1982 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 1983 Resource Identifier (URI): Generic Syntax", STD 66, 1984 RFC 3986, DOI 10.17487/RFC3986, January 2005, 1985 <http://www.rfc-editor.org/info/rfc3986>. 1987 [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, 1988 DOI 10.17487/RFC5598, July 2009, 1989 <http://www.rfc-editor.org/info/rfc5598>. 1991 PDF version: <http://www.rfc-editor.org/rfc/rfc5598.pdf> 1993 [RFC5741] Daigle, L. and O. Kolkman, "RFC Streams, Headers, and 1994 Boilerplates", RFC 5741, DOI 10.17487/RFC5741, 1995 December 2009, <http://www.rfc-editor.org/info/rfc5741>. 1997 [RFC6068] Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto' 1998 URI Scheme", RFC 6068, DOI 10.17487/RFC6068, 1999 October 2010, <http://www.rfc-editor.org/info/rfc6068>. 2001 [RFC6266] Reschke, J., "Use of the Content-Disposition Header 2002 Field in the Hypertext Transfer Protocol (HTTP)", 2003 RFC 6266, DOI 10.17487/RFC6266, June 2011, 2004 <http://www.rfc-editor.org/info/rfc6266>. 2006 [RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303, 2007 DOI 10.17487/RFC7303, July 2014, 2008 <http://www.rfc-editor.org/info/rfc7303>. 2010 [RFC7322] Heather, H. and S. Ginoza, "RFC Style Guide", RFC 7322, 2011 DOI 10.17487/RFC7322, September 2014, 2012 <http://www.rfc-editor.org/info/rfc7322>. 2014 [RFCPOLICY] RFC Editor, "RFC Editorial Guidelines and Procedures", 2015 February 2012, <http://www.rfc-editor.org/policy.html>. 2017 [RNC] Clark, J., "RELAX NG Compact Syntax", OASIS , 2018 November 2002, <http://www.oasis-open.org/committees/ 2019 relax-ng/compact-20021121.html>. 2021 [TCLReadme] Rose, M., Fenner, B., and C. Levert, "xml2rfc 2022 v1.35pre1", October 2009, <http://svn.tools.ietf.org/ 2023 svn/tools/xml2rfc/archive/README.html>. 2025 [TLP2.0] IETF Trust, "Legal Provisions Relating to IETF 2026 Documents", February 2009, 2027 <http://trustee.ietf.org/license-info/IETF-TLP-2.htm>. 2029 [TLP3.0] IETF Trust, "Legal Provisions Relating to IETF 2030 Documents", September 2009, 2031 <http://trustee.ietf.org/license-info/IETF-TLP-3.htm>. 2033 [TLP4.0] IETF Trust, "Legal Provisions Relating to IETF 2034 Documents", December 2009, 2035 <http://trustee.ietf.org/license-info/IETF-TLP-4.htm>. 2037 [UNICODE] The Unicode Consortium, "The Unicode Standard, Version 2038 6.3.0", September 2013, 2039 <http://www.unicode.org/versions/Unicode6.3.0/>. 2041 [USASCII] American National Standards Institute, "Coded Character 2042 Set -- 7-bit American Standard Code for Information 2043 Interchange", ANSI X3.4, 1986. 2045 [V1rev] Rose, M., "Writing I-Ds and RFCs using XML (revised)", 2046 February 2008, <http://svn.tools.ietf.org/svn/tools/ 2047 xml2rfc/archive/draft-mrose-writing-rfcs.html>. 2049 [XPOINTER] Grosso, P., Maler, E., Marsh, J., and N. Walsh, 2050 "XPointer Framework", W3C Recommendation REC-xptr- 2051 framework-20030325, March 2003, 2052 <http://www.w3.org/TR/2003/ 2053 REC-xptr-framework-20030325/>. 2055 Latest version available at 2056 <http://www.w3.org/TR/xptr-framework/>. 2058 Appendix A. Front Page ('Boilerplate') Generation 2060 A.1. The /rfc/@category Attribute 2062 For RFCs, the category attribute (Section 2.33.1) determines the 2063 "maturity level" (see Section 4 of [RFC2026]). The allowed values 2064 are "std" for "Standards Track", "bcp" for "BCP", "info" for 2065 "Informational", "exp" for "Experimental", and "historic" for 2066 "Historic". 2068 For Internet-Drafts, the category attribute is not needed, but will 2069 appear on the front page as "Intended Status". Supplying this 2070 information can be useful to reviewers. 2072 A.2. The /rfc/@ipr Attribute 2074 This attribute value can take a long list of values, each of which 2075 describes an IPR policy for the document (Section 2.33.4). The 2076 values are not the result of a grand design, but remain simply for 2077 historic reasons. Of these values, only a few are currently in use; 2078 all others are supported by various tools for backwards compatibility 2079 with old source files. 2081 *Note:* some variations of the boilerplate are selected based on 2082 the document's date; therefore it is important to specify the 2083 "year", "month" and "day" attributes of the <date> element when 2084 archiving the XML source of an Internet-Draft on the day of 2085 submission. 2087 _Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION. IF YOU 2088 NEED LEGAL ADVICE, PLEASE CONTACT A LAWYER._ For further information, 2089 refer to <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf>. 2091 For the current "Status Of This Memo" text, the submissionType 2092 attribute (Section 2.33.9) determines whether a statement about "Code 2093 Components" is inserted (which is the case for the value "IETF", 2094 which is the default). Other values, such as "independent", suppress 2095 this part of the text. 2097 A.2.1. Current Values: '*trust200902' 2099 The name for these values refers to the "IETF TRUST Legal Provisions 2100 Relating to IETF Documents", sometimes simply called the "TLP", which 2101 went into effect on February 15, 2009 ([TLP2.0]). Updates to this 2102 document were published on September 12, 2009 ([TLP3.0]) and on 2103 December 28, 2009 ([TLP4.0]), modifying the license for code 2104 components (see <http://trustee.ietf.org/license-info/> for further 2105 information). The actual text is located in Section 6 ("Text To Be 2106 Included in IETF Documents") of these documents. 2108 Formatters will automatically produce the "correct" text depending on 2109 the document's date information (see above): 2111 +----------+--------------------------------+ 2112 | TLP | starting with publication date | 2113 +----------+--------------------------------+ 2114 | [TLP3.0] | 2009-11-01 | 2115 | [TLP4.0] | 2010-04-01 | 2116 +----------+--------------------------------+ 2118 A.2.1.1. trust200902 2120 This value should be used unless one of the more specific 2121 '*trust200902' values is a better fit. It produces the text in 2122 Sections 6.a and 6.b of the TLP. 2124 A.2.1.2. noModificationTrust200902 2126 This produces additional text from Section 6.c.i of the TLP: 2128 This document may not be modified, and derivative works of it may 2129 not be created, except to format it for publication as an RFC or 2130 to translate it into languages other than English. 2132 *Note:* this clause is incompatible with RFCs that are published 2133 on the Standards Track. 2135 A.2.1.3. noDerivativesTrust200902 2137 This produces the additional text from Section 6.c.ii of the TLP: 2139 This document may not be modified, and derivative works of it may 2140 not be created, and it may not be published except as an Internet- 2141 Draft. 2143 *Note:* this clause is incompatible with RFCs. 2145 A.2.1.4. pre5378Trust200902 2147 This produces the additional text from Section 6.c.iii of the TLP, 2148 frequently called the "pre-5378 escape clause": 2150 This document may contain material from IETF Documents or IETF 2151 Contributions published or made publicly available before November 2152 10, 2008. The person(s) controlling the copyright in some of this 2153 material may not have granted the IETF Trust the right to allow 2154 modifications of such material outside the IETF Standards Process. 2155 Without obtaining an adequate license from the person(s) 2156 controlling the copyright in such materials, this document may not 2157 be modified outside the IETF Standards Process, and derivative 2158 works of it may not be created outside the IETF Standards Process, 2159 except to format it for publication as an RFC or to translate it 2160 into languages other than English. 2162 See Section 4 of 2163 <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf> for further 2164 information about when to use this value. 2166 *Note:* this text appears under "Copyright Notice", unless the 2167 document was published before November 2009, in which case it 2168 appears under "Status Of This Memo". 2170 A.2.2. Historic Values 2172 A.2.2.1. Historic Values: '*trust200811' 2174 The attribute values "trust200811", "noModificationTrust200811" and 2175 "noDerivativesTrust200811" are similar to their "trust200902" 2176 counterparts, except that they use text specified in <http:// 2177 trustee.ietf.org/license-info/archive/ 2178 IETF-Trust-License-Policy_11-10-08.pdf>. 2180 A.2.2.2. Historic Values: '*3978' 2182 The attribute values "full3978", "noModification3978" and 2183 "noDerivatives3978" are similar to their counterparts above, except 2184 that they use text specified in Section 5 of [RFC3978]. 2186 A.2.2.3. Historic Values: '*3667' 2188 The attribute values "full3667", "noModification3667" and 2189 "noDerivatives3667" are similar to their counterparts above, except 2190 that they use text specified in Section 5 of [RFC3667]. 2192 A.2.2.4. Historic Values: '*2026' 2194 The attribute values "full2026" and "noDerivativeWorks2026" are 2195 similar to their counterparts above, except that they use text 2196 specified in Section 10 of [RFC2026]. 2198 The special value "none" was also used back then, and denied the IETF 2199 any rights beyond publication as Internet-Draft. 2201 A.3. The /rfc/@submissionType Attribute 2203 The RFC Editor publishes documents from different "document streams", 2204 of which the "IETF stream" is the most prominent one. Other streams 2205 are the "independent stream" (used for things such as administrative 2206 information or April 1st RFCs), the "IAB stream" (Internet 2207 Architecture Board) and the "IRTF stream" (Internet Research Task 2208 Force). 2210 The values for the attribute are "IETF" (the default value), 2211 "independent", "IAB", and "IRTF". 2213 Historically, this attribute did not affect the final appearance of 2214 RFCs, except for subtle differences in Copyright notices. Nowadays 2215 (as of [RFC5741]), the stream name appears in the first line of the 2216 front page, and it also affects the text in the "Status Of This Memo" 2217 section. 2219 For current documents, setting submissionType attribute will have the 2220 following effect: 2222 o For RFCs, the stream name appears in the upper left corner of the 2223 first page (in Internet Drafts, this is either "Network Working 2224 Group", or the value of the <workgroup> element). 2226 o For RFCs, if affects the whole "Status Of This Memo" section (see 2227 Section 3.2.2 of [RFC5741]). 2229 o For all RFCs and Internet Drafts, it determines whether the 2230 "Copyright Notice" mentions the Copyright on Code Components (see 2231 TLP, Section "Text To Be Included in IETF Documents"). 2233 A.4. The /rfc/@consensus Attribute 2235 For some of the publication streams (see Appendix A.3), the "Status 2236 Of This Memo" section depends on whether there was a consensus to 2237 publish (again, see Section 3.2.2 of [RFC5741]). 2239 The consensus attribute ("yes"/"no", defaulting to "yes") can be used 2240 to supply this information. The effect for the various streams is: 2242 o "independent" and "IAB": none. 2244 o "IETF": mention that there was an IETF consensus. 2246 o "IRTF": mention that there was a research group consensus (where 2247 the name of the research group is extracted from the <workgroup> 2248 element). 2250 Appendix B. Changes from RFC 2629 ('v1') 2252 B.1. RNC Schema Differences (to be removed in RFC before publication) 2254 See <http://greenbytes.de/tech/webdav/ 2255 draft-reschke-xml2rfc-02.html#rfc.section.E> for a comparison of the 2256 schemata. 2258 B.2. Removed Elements 2260 The <appendix> element has been removed; to generate an appendix, 2261 place a <section> inside <back>. 2263 B.3. Changed Defaults 2265 Many attributes have lost their "default" value; this is to avoid 2266 having document semantics differ based on whether a DTD was specified 2267 and evaluated. Processors will handle absent values the way the 2268 default value was specified before. 2270 B.4. Changed Elements 2272 <artwork>: Has a set of new attributes: "name", "type", "src", 2273 "align", "alt", "width", and "height". (Section 2.5) 2275 <author>: The <organization> element is now optional. The "role" 2276 attribute was added. (Section 2.6) 2278 <country>: The requirement to use ISO 3166 codes was removed. 2279 (Section 2.11) 2281 <date>: All attributes are now optional. (Section 2.13) 2283 <figure>: Has a set of new attributes: "suppress-title", "src", 2284 "align", "alt", "width", and "height". (Section 2.17) 2286 <iref>: Has a new "primary" attribute. (Section 2.20) 2288 <list>: The "style" attribute isn't restricted to a set of enumerated 2289 values anymore. The "hangIndent" and "counter" attributes have been 2290 added. (Section 2.22) 2292 <reference>: <annotation> allows adding prose to a reference. The 2293 "anchor" attribute has been made mandatory. (Section 2.30) 2295 <references>: Can now appear multiple times, and carry a "title" 2296 attribute (so that normative and informative references can be 2297 split). (Section 2.31) 2299 <rfc>: The "ipr" attribute has gained additional values. The 2300 attributes "consensus", "iprExtract", "submissionType", and "xml: 2301 lang" have been added. (Section 2.33) 2303 <section>: The new "toc" attribute controls whether it will appear in 2304 the Table Of Contents. <iref> can now appear as direct child element. 2305 (Section 2.34) 2307 <t>: The "anchor" attribute can now be used as well, however there 2308 are restrictions on how they can be referred to. (Section 2.38) 2310 B.5. New Elements 2312 The following elements have been added: <annotation> (Section 2.3), 2313 <c> (Section 2.8), <cref> (Section 2.12), <format> (Section 2.18), 2314 <spanx> (Section 2.36), <texttable> (Section 2.39), <ttcol> 2315 (Section 2.41). 2317 Appendix C. Relax NG Schema 2319 namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" 2321 rfc = 2322 element rfc { 2323 attribute number { text }?, 2324 [ a:defaultValue = "" ] attribute obsoletes { text }?, 2325 [ a:defaultValue = "" ] attribute updates { text }?, 2326 attribute category { 2327 "std" | "bcp" | "info" | "exp" | "historic" 2328 }?, 2329 attribute consensus { "no" | "yes" }?, 2330 attribute seriesNo { text }?, 2331 attribute ipr { 2332 "full2026" 2333 | "noDerivativeWorks2026" 2334 | "none" 2335 | "full3667" 2336 | "noModification3667" 2337 | "noDerivatives3667" 2338 | "full3978" 2339 | "noModification3978" 2340 | "noDerivatives3978" 2341 | "trust200811" 2342 | "noModificationTrust200811" 2343 | "noDerivativesTrust200811" 2344 | "trust200902" 2345 | "noModificationTrust200902" 2346 | "noDerivativesTrust200902" 2347 | "pre5378Trust200902" 2348 }?, 2349 attribute iprExtract { xsd:IDREF }?, 2350 [ a:defaultValue = "IETF" ] 2351 attribute submissionType { 2352 "IETF" | "IAB" | "IRTF" | "independent" 2353 }?, 2354 attribute docName { text }?, 2355 [ a:defaultValue = "en" ] attribute xml:lang { text }?, 2356 front, 2357 middle, 2358 back? 2359 } 2361 front = 2362 element front { 2363 title, 2364 author+, 2365 date, 2366 area*, 2367 workgroup*, 2368 keyword*, 2369 abstract?, 2370 note* 2371 } 2373 title = 2374 element title { 2375 attribute abbrev { text }?, 2376 text 2377 } 2379 author = 2380 element author { 2381 attribute initials { text }?, 2382 attribute surname { text }?, 2383 attribute fullname { text }?, 2384 attribute role { "editor" }?, 2385 organization?, 2386 address? 2387 } 2389 organization = 2390 element organization { 2391 attribute abbrev { text }?, 2392 text 2393 } 2395 address = 2396 element address { postal?, phone?, facsimile?, email?, uri? } 2398 postal = 2399 element postal { street+, (city | region | code | country)* } 2401 street = element street { text } 2403 city = element city { text } 2404 region = element region { text } 2406 code = element code { text } 2408 country = element country { text } 2410 phone = element phone { text } 2412 facsimile = element facsimile { text } 2414 email = element email { text } 2416 uri = element uri { text } 2418 date = 2419 element date { 2420 attribute day { text }?, 2421 attribute month { text }?, 2422 attribute year { text }?, 2423 empty 2424 } 2426 area = element area { text } 2428 workgroup = element workgroup { text } 2430 keyword = element keyword { text } 2432 abstract = element abstract { t+ } 2434 note = 2435 element note { 2436 attribute title { text }, 2437 t+ 2438 } 2440 middle = element middle { section+ } 2442 section = 2443 element section { 2444 attribute anchor { xsd:ID }?, 2445 attribute title { text }, 2446 [ a:defaultValue = "default" ] 2447 attribute toc { "include" | "exclude" | "default" }?, 2448 (t | figure | texttable | iref)*, 2449 section* 2450 } 2452 t = 2453 element t { 2454 attribute anchor { xsd:ID }?, 2455 attribute hangText { text }?, 2456 (text 2457 | \list 2458 | figure 2459 | xref 2460 | eref 2461 | iref 2462 | cref 2463 | spanx 2464 | vspace)* 2465 } 2467 \list = 2468 element list { 2469 attribute style { text }?, 2470 attribute hangIndent { text }?, 2471 attribute counter { text }?, 2472 t+ 2473 } 2475 xref = 2476 element xref { 2477 attribute target { xsd:IDREF }, 2478 [ a:defaultValue = "false" ] 2479 attribute pageno { "true" | "false" }?, 2480 [ a:defaultValue = "default" ] 2481 attribute format { "counter" | "title" | "none" | "default" }?, 2482 text 2483 } 2485 eref = 2486 element eref { 2487 attribute target { text }, 2488 text 2489 } 2491 iref = 2492 element iref { 2493 attribute item { text }, 2494 [ a:defaultValue = "" ] attribute subitem { text }?, 2495 [ a:defaultValue = "false" ] 2496 attribute primary { "true" | "false" }?, 2497 empty 2498 } 2500 cref = 2501 element cref { 2502 attribute anchor { xsd:ID }?, 2503 attribute source { text }?, 2504 text 2505 } 2507 spanx = 2508 element spanx { 2509 [ a:defaultValue = "preserve" ] 2510 attribute xml:space { "default" | "preserve" }?, 2511 [ a:defaultValue = "emph" ] attribute style { text }?, 2512 text 2513 } 2515 vspace = 2516 element vspace { 2517 [ a:defaultValue = "0" ] attribute blankLines { text }?, 2518 empty 2519 } 2521 figure = 2522 element figure { 2523 attribute anchor { xsd:ID }?, 2524 [ a:defaultValue = "" ] attribute title { text }?, 2525 [ a:defaultValue = "false" ] 2526 attribute suppress-title { "true" | "false" }?, 2527 attribute src { text }?, 2528 [ a:defaultValue = "left" ] 2529 attribute align { "left" | "center" | "right" }?, 2530 [ a:defaultValue = "" ] attribute alt { text }?, 2531 [ a:defaultValue = "" ] attribute width { text }?, 2532 [ a:defaultValue = "" ] attribute height { text }?, 2533 iref*, 2534 preamble?, 2535 artwork, 2536 postamble? 2537 } 2539 preamble = 2540 element preamble { (text | xref | eref | iref | cref | spanx)* } 2542 artwork = 2543 element artwork { 2544 [ a:defaultValue = "preserve" ] 2545 attribute xml:space { "default" | "preserve" }?, 2546 [ a:defaultValue = "" ] attribute name { text }?, 2547 [ a:defaultValue = "" ] attribute type { text }?, 2548 attribute src { text }?, 2549 [ a:defaultValue = "left" ] 2550 attribute align { "left" | "center" | "right" }?, 2551 [ a:defaultValue = "" ] attribute alt { text }?, 2552 [ a:defaultValue = "" ] attribute width { text }?, 2553 [ a:defaultValue = "" ] attribute height { text }?, 2554 text* 2555 } 2557 postamble = 2558 element postamble { (text | xref | eref | iref | cref | spanx)* } 2560 texttable = 2561 element texttable { 2562 attribute anchor { xsd:ID }?, 2563 [ a:defaultValue = "" ] attribute title { text }?, 2564 [ a:defaultValue = "false" ] 2565 attribute suppress-title { "true" | "false" }?, 2566 [ a:defaultValue = "center" ] 2567 attribute align { "left" | "center" | "right" }?, 2568 [ a:defaultValue = "full" ] 2569 attribute style { "all" | "none" | "headers" | "full" }?, 2570 preamble?, 2571 ttcol+, 2572 c*, 2573 postamble? 2574 } 2576 ttcol = 2577 element ttcol { 2578 attribute width { text }?, 2579 [ a:defaultValue = "left" ] 2580 attribute align { "left" | "center" | "right" }?, 2581 text 2582 } 2584 c = element c { (text | xref | eref | iref | cref | spanx)* } 2586 back = element back { references*, section* } 2588 references = 2589 element references { 2590 [ a:defaultValue = "References" ] attribute title { text }?, 2591 reference+ 2592 } 2594 reference = 2595 element reference { 2596 attribute anchor { xsd:ID }, 2597 attribute target { text }?, 2598 front, 2599 seriesInfo*, 2600 format*, 2601 annotation* 2602 } 2604 seriesInfo = 2605 element seriesInfo { 2606 attribute name { text }, 2607 attribute value { text }, 2608 empty 2609 } 2611 format = 2612 element format { 2613 attribute target { text }?, 2614 attribute type { text }, 2615 attribute octets { text }?, 2616 empty 2617 } 2619 annotation = 2620 element annotation { (text | xref | eref | iref | cref | spanx)* } 2622 start = rfc 2624 (This schema was derived from version 1.3.6 of the xml2rfc DTD 2625 ('Document Type Definition', [XML], Section 2.8), available from <htt 2626 p://svn.tools.ietf.org/svn/tools/xml2rfc/vocabulary/v2/03/ 2627 xml2rfcv2.dtd>). 2629 C.1. Checking Validity 2631 The validity of XML files can be checked with any tool that supports 2632 Relax NG ([RNC]). The reference implementation is the Java-based, 2633 open sourced "JING" ([JING]). 2635 To use JING, download the latest ZIP file from the "downloads" page 2636 (currently <https://code.google.com/p/jing-trang/downloads/ 2637 detail?name=jing-20091111.zip>), extract the archive, copy "jing.jar" 2638 from the "bin" folder, and make sure Java is installed). 2640 To check a file "test.xml" using the RNC file "schema.rnc", run (from 2641 a command line prompt): 2643 java -jar jing.jar -c schema.rnc test.xml 2644 In good Unix tradition, no output means the file is valid. 2646 Index 2648 A 2649 abbrev attribute 2650 in organization element 21 2651 in title element 34 2652 abstract element 5, 50 2653 inside front 16 2654 address element 5, 50 2655 inside author 9 2656 align attribute 2657 in artwork element 7 2658 in figure element 14 2659 in texttable element 32 2660 in ttcol element 34 2661 alt attribute 2662 in artwork element 7 2663 in figure element 14 2664 anchor attribute 2665 in cref element 11 2666 in figure element 15 2667 in reference element 23 2668 in section element 29 2669 in t element 31 2670 in texttable element 32 2671 annotation element 5, 50 2672 inside reference 23 2673 application/rfc+xml Media Type 40 2674 area element 6, 50 2675 inside front 16 2676 artwork element 6, 50 2677 align attribute 7 2678 alt attribute 7 2679 height attribute 7 2680 inside figure 14 2681 name attribute 7 2682 src attribute 8 2683 type attribute 8 2684 width attribute 8 2685 xml:space attribute 8 2686 Attributes 2687 abbrev 21, 34 2688 align 7, 14, 32, 34 2689 alt 7, 14 2690 anchor 11, 15, 23, 29, 31-32 2691 blankLines 35 2692 category 25 2693 consensus 25 2694 counter 18 2695 day 12 2696 docName 25 2697 format 36 2698 fullname 9 2699 hangIndent 18 2700 hangText 32 2701 height 7, 15 2702 initials 9 2703 ipr 26 2704 iprExtract 27 2705 item 17 2706 month 12 2707 name 7, 29 2708 number 27 2709 obsoletes 27 2710 octets 16 2711 pageno 37 2712 primary 17 2713 role 9 2714 seriesNo 27 2715 source 12 2716 src 8, 15 2717 style 19, 30, 33 2718 subitem 17 2719 submissionType 27 2720 suppress-title 15, 33 2721 surname 10 2722 target 13, 16, 23, 37 2723 title 15, 21, 24, 29, 33 2724 toc 29 2725 type 8, 16 2726 updates 28 2727 value 30 2728 width 8, 15, 34 2729 xml:lang 28 2730 xml:space 8, 30 2731 year 13 2732 author element 9, 50 2733 fullname attribute 9 2734 initials attribute 9 2735 inside front 16 2736 role attribute 9 2737 surname attribute 10 2739 B 2740 back element 10, 50 2741 inside rfc 25 2742 blankLines attribute 2743 in vspace element 35 2745 C 2746 c element 10, 50 2747 inside texttable 32 2748 category attribute 2749 in rfc element 25 2750 city element 11, 50 2751 inside postal 22 2752 code element 11, 50 2753 inside postal 22 2754 consensus attribute 2755 in rfc element 25 2756 counter attribute 2757 in list element 18 2758 country element 11, 50 2759 inside postal 22 2760 cref element 11, 50 2761 anchor attribute 11 2762 inside annotation 6 2763 inside c 10 2764 inside postamble 22 2765 inside preamble 23 2766 inside t 31 2767 source attribute 12 2769 D 2770 date element 12, 50 2771 day attribute 12 2772 inside front 16 2773 month attribute 12 2774 year attribute 13 2775 day attribute 2776 in date element 12 2777 docName attribute 2778 in rfc element 25 2780 E 2781 Elements 2782 abstract 5, 16 2783 address 5, 9 2784 annotation 5, 23 2785 area 6, 16 2786 artwork 6, 14 2787 author 9, 16 2788 back 10, 25 2789 c 10, 32 2790 city 11, 22 2791 code 11, 22 2792 country 11, 22 2793 cref 6, 10-11, 22-23, 31 2794 date 12, 16 2795 email 5, 13 2796 eref 6, 10, 13, 22-23, 31 2797 facsimile 5, 13 2798 figure 14, 28, 31 2799 format 15, 23 2800 front 16, 23, 25 2801 iref 6, 10, 14, 17, 22-23, 28, 31 2802 keyword 16, 18 2803 list 18, 31 2804 middle 20, 25 2805 note 16, 20 2806 organization 9, 21 2807 phone 5, 21 2808 postal 5, 21 2809 postamble 14, 22, 32 2810 preamble 14, 22, 32 2811 reference 23-24 2812 references 10, 24 2813 region 22, 24 2814 rfc 24 2815 section 10, 20, 28 2816 seriesInfo 23, 29 2817 spanx 6, 10, 22-23, 30-31 2818 street 22, 31 2819 t 5, 18, 20, 28, 31 2820 texttable 28, 32 2821 title 16, 33 2822 ttcol 32, 34 2823 uri 5, 34 2824 vspace 31, 35 2825 workgroup 16, 35 2826 xref 5, 10, 22-23, 31, 35 2827 email element 13, 50 2828 inside address 5 2829 eref element 13, 50 2830 inside annotation 6 2831 inside c 10 2832 inside postamble 22 2833 inside preamble 23 2834 inside t 31 2835 target attribute 13 2837 F 2838 facsimile element 13, 50 2839 inside address 5 2840 figure element 14, 50 2841 align attribute 14 2842 alt attribute 14 2843 anchor attribute 15 2844 height attribute 15 2845 inside section 28 2846 inside t 31 2847 src attribute 15 2848 suppress-title attribute 15 2849 title attribute 15 2850 width attribute 15 2851 format attribute 2852 in xref element 36 2853 format element 15, 50 2854 inside reference 23 2855 octets attribute 16 2856 target attribute 16 2857 type attribute 16 2858 front element 16, 50 2859 inside reference 23 2860 inside rfc 25 2861 fullname attribute 2862 in author element 9 2864 H 2865 hangIndent attribute 2866 in list element 18 2867 hangText attribute 2868 in t element 32 2869 height attribute 2870 in artwork element 7 2871 in figure element 15 2873 I 2874 initials attribute 2875 in author element 9 2876 ipr attribute 2877 '*2026' 47 2878 '*3667' 47 2879 '*3978' 47 2880 '*trust200811' 47 2881 '*trust200902' 45 2882 'noDerivativesTrust200902' 46 2883 'noModificationTrust200902' 46 2884 'pre5378Trust200902' 46 2885 'trust200902' 46 2886 in rfc element 26 2887 iprExtract attribute 2888 in rfc element 27 2889 iref element 17, 50 2890 inside annotation 6 2891 inside c 10 2892 inside figure 14 2893 inside postamble 22 2894 inside preamble 23 2895 inside section 28 2896 inside t 31 2897 item attribute 17 2898 primary attribute 17 2899 subitem attribute 17 2900 item attribute 2901 in iref element 17 2903 K 2904 keyword element 18, 50 2905 inside front 16 2907 L 2908 list element 18, 50 2909 counter attribute 18 2910 hangIndent attribute 18 2911 inside t 31 2912 style attribute 19 2913 list styles 2914 empty 19 2915 format ... 19 2916 hanging 19 2917 letters 19 2918 numbers 19 2919 symbols 19 2921 M 2922 Media Type 2923 application/rfc+xml 40 2924 middle element 20, 50 2925 inside rfc 25 2926 month attribute 2927 in date element 12 2929 N 2930 name attribute 2931 in artwork element 7 2932 in seriesInfo element 29 2934 note element 20, 50 2935 inside front 16 2936 title attribute 21 2937 number attribute 2938 in rfc element 27 2940 O 2941 obsoletes attribute 2942 in rfc element 27 2943 octets attribute 2944 in format element 16 2945 organization element 21, 50 2946 abbrev attribute 21 2947 inside author 9 2949 P 2950 pageno attribute 2951 in xref element 37 2952 phone element 21, 50 2953 inside address 5 2954 postal element 21, 50 2955 inside address 5 2956 postamble element 22, 50 2957 inside figure 14 2958 inside texttable 32 2959 preamble element 22, 50 2960 inside figure 14 2961 inside texttable 32 2962 primary attribute 2963 in iref element 17 2965 R 2966 reference element 23, 50 2967 anchor attribute 23 2968 inside references 24 2969 target attribute 23 2970 references element 24, 50 2971 inside back 10 2972 title attribute 24 2973 region element 24, 50 2974 inside postal 22 2975 rfc element 24, 50 2976 category attribute 25 2977 consensus attribute 25 2978 docName attribute 25 2979 ipr attribute 26 2980 iprExtract attribute 27 2981 number attribute 27 2982 obsoletes attribute 27 2983 seriesNo attribute 27 2984 submissionType attribute 27 2985 updates attribute 28 2986 xml:lang attribute 28 2987 role attribute 2988 in author element 9 2990 S 2991 section element 28, 50 2992 anchor attribute 29 2993 inside back 10 2994 inside middle 20 2995 inside section 28 2996 title attribute 29 2997 toc attribute 29 2998 seriesInfo element 29, 50 2999 inside reference 23 3000 name attribute 29 3001 value attribute 30 3002 seriesNo attribute 3003 in rfc element 27 3004 source attribute 3005 in cref element 12 3006 spanx element 30, 50 3007 inside annotation 6 3008 inside c 10 3009 inside postamble 22 3010 inside preamble 23 3011 inside t 31 3012 style attribute 30 3013 xml:space attribute 30 3014 src attribute 3015 in artwork element 8 3016 in figure element 15 3017 street element 31, 50 3018 inside postal 22 3019 style attribute 3020 in list element 19 3021 in spanx element 30 3022 in texttable element 33 3023 subitem attribute 3024 in iref element 17 3025 submissionType attribute 3026 in rfc element 27 3027 suppress-title attribute 3028 in figure element 15 3029 in texttable element 33 3031 surname attribute 3032 in author element 10 3034 T 3035 t element 31, 50 3036 anchor attribute 31 3037 hangText attribute 32 3038 inside abstract 5 3039 inside list 18 3040 inside note 20 3041 inside section 28 3042 target attribute 3043 in eref element 13 3044 in format element 16 3045 in reference element 23 3046 in xref element 37 3047 texttable element 32, 50 3048 align attribute 32 3049 anchor attribute 32 3050 inside section 28 3051 style attribute 33 3052 suppress-title attribute 33 3053 title attribute 33 3054 title attribute 3055 in figure element 15 3056 in note element 21 3057 in references element 24 3058 in section element 29 3059 in texttable element 33 3060 title element 33, 50 3061 abbrev attribute 34 3062 inside front 16 3063 toc attribute 3064 in section element 29 3065 ttcol element 34, 50 3066 align attribute 34 3067 inside texttable 32 3068 width attribute 34 3069 type attribute 3070 in artwork element 8 3071 in format element 16 3073 U 3074 updates attribute 3075 in rfc element 28 3076 uri element 34, 50 3077 inside address 5 3079 V 3080 value attribute 3081 in seriesInfo element 30 3082 vspace element 35, 50 3083 blankLines attribute 35 3084 inside t 31 3086 W 3087 width attribute 3088 in artwork element 8 3089 in figure element 15 3090 in ttcol element 34 3091 workgroup element 35, 50 3092 inside front 16 3094 X 3095 xml:lang attribute 3096 in rfc element 28 3097 xml:space attribute 3098 in artwork element 8 3099 in spanx element 30 3100 xref element 35, 50 3101 format attribute 36 3102 inside annotation 5 3103 inside c 10 3104 inside postamble 22 3105 inside preamble 23 3106 inside t 31 3107 pageno attribute 37 3108 target attribute 37 3109 xref formats 3110 counter 36 3111 default 36 3112 none 36 3113 title 36 3115 Y 3116 year attribute 3117 in date element 13 3119 Author's Address 3121 Julian F. Reschke 3122 greenbytes GmbH 3123 Hafenweg 16 3124 Muenster, NW 48155 3125 Germany 3127 EMail: julian.reschke@greenbytes.de 3128 URI: http://greenbytes.de/tech/webdav/