idnits 2.17.1 draft-iab-xml2rfcv2-00.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 (January 7, 2015) is 3396 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) January 7, 2015 5 Intended status: Informational 6 Expires: July 11, 2015 8 The 'XML2RFC' version 2 Vocabulary 9 draft-iab-xml2rfcv2-00 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 July 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. . . . . . . . . . . . . . . . . . . . . . . . . . . 16 80 2.21. . . . . . . . . . . . . . . . . . . . . . . . . 17 81 2.22. . . . . . . . . . . . . . . . . . . . . . . . . . . 18 82 2.23. . . . . . . . . . . . . . . . . . . . . . . . . . 20 83 2.24. . . . . . . . . . . . . . . . . . . . . . . . . . . 20 84 2.25. . . . . . . . . . . . . . . . . . . . . . . 20 85 2.26. . . . . . . . . . . . . . . . . . . . . . . . . . 21 86 2.27. . . . . . . . . . . . . . . . . . . . . . . . . . 21 87 2.28. . . . . . . . . . . . . . . . . . . . . . . . 22 88 2.29. . . . . . . . . . . . . . . . . . . . . . . . . 22 89 2.30. . . . . . . . . . . . . . . . . . . . . . . . 23 90 2.31. . . . . . . . . . . . . . . . . . . . . . . . 23 91 2.32. . . . . . . . . . . . . . . . . . . . . . . . . . 24 92 2.33. . . . . . . . . . . . . . . . . . . . . . . . . . . 24 93 2.34.
. . . . . . . . . . . . . . . . . . . . . . . . 28 94 2.35. . . . . . . . . . . . . . . . . . . . . . . . 29 95 2.36. . . . . . . . . . . . . . . . . . . . . . . . . . 29 96 2.37. . . . . . . . . . . . . . . . . . . . . . . . . . 30 97 2.38. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 98 2.39. . . . . . . . . . . . . . . . . . . . . . . . 31 99 2.40. . . . . . . . . . . . . . . . . . . . . . . . . . 33 100 2.41. <ttcol> . . . . . . . . . . . . . . . . . . . . . . . . . 33 101 2.42. <uri> . . . . . . . . . . . . . . . . . . . . . . . . . . 34 102 2.43. <vspace> . . . . . . . . . . . . . . . . . . . . . . . . . 34 103 2.44. <workgroup> . . . . . . . . . . . . . . . . . . . . . . . 35 104 2.45. <xref> . . . . . . . . . . . . . . . . . . . . . . . . . . 35 105 3. Escaping for Use in XML . . . . . . . . . . . . . . . . . . . 37 106 4. Special Unicode Code Points . . . . . . . . . . . . . . . . . 37 107 5. Including Files . . . . . . . . . . . . . . . . . . . . . . . 38 108 6. Internationalization Considerations . . . . . . . . . . . . . 39 109 7. Security Considerations . . . . . . . . . . . . . . . . . . . 39 110 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39 111 8.1. Internet Media Type Registration . . . . . . . . . . . . . 39 112 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 41 113 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 41 114 10.1. Normative References . . . . . . . . . . . . . . . . . . . 41 115 10.2. Informative References . . . . . . . . . . . . . . . . . . 41 116 Appendix A. Front Page ('Boilerplate') Generation . . . . . . . . 43 117 A.1. The /rfc/@category Attribute . . . . . . . . . . . . . . . 44 118 A.2. The /rfc/@ipr Attribute . . . . . . . . . . . . . . . . . 44 119 A.2.1. Current Values: '*trust200902' . . . . . . . . . . . . 44 120 A.2.2. Historic Values . . . . . . . . . . . . . . . . . . . 46 121 A.3. The /rfc/@submissionType Attribute . . . . . . . . . . . . 47 122 A.4. The /rfc/@consensus Attribute . . . . . . . . . . . . . . 47 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 . . . . . . . . . . . . . . . . . . . . . 48 128 B.4. Changed Elements . . . . . . . . . . . . . . . . . . . . . 48 129 B.5. New Elements . . . . . . . . . . . . . . . . . . . . . . . 49 130 Appendix C. Relax NG Schema . . . . . . . . . . . . . . . . . . . 49 131 C.1. Checking Validity . . . . . . . . . . . . . . . . . . . . 55 132 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 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 text content, that content will be used. 583 Otherwise, the value of the target attribute will be inserted in 584 angle brackets ([RFC3986], Appendix C). 586 [[oi-eref: Need to discuss what we can say for non-empty erefs (also 587 whether requesting angle brackets is ok for all output formats)]] 589 This element appears as a child element of: <annotation> 590 (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), 591 <preamble> (Section 2.29), and <t> (Section 2.38). 593 Content model: only text content. 595 2.15.1. 'target' attribute (mandatory) 597 URI of the link target (see Section 3 of [RFC3986]). 599 2.16. <facsimile> 601 Represents the phone number of a fax machine. 603 The value is expected to be the scheme-specific part of a "tel" URI 604 (so does not include the prefix "tel:"), using the "global numbers" 605 syntax. See Section 3 of [RFC3966] for details. 607 This element appears as a child element of: <address> (Section 2.2). 609 Content model: only text content. 611 2.17. <figure> 613 This element is used to represent a figure, consisting of an optional 614 preamble, the actual figure, an optional postamble, and an optional 615 title. 617 This element appears as a child element of: <section> (Section 2.34), 618 and <t> (Section 2.38). 620 Content model: 622 In this order: 624 1. Optional <iref> elements (Section 2.20) 626 2. One optional <preamble> element (Section 2.29) 628 3. One <artwork> element (Section 2.5) 630 4. One optional <postamble> element (Section 2.28) 632 2.17.1. 'align' attribute 634 Used to change the alignment of <preamble> and <postamble>. 636 Note: does not affect title or <artwork> alignment. 638 Allowed values: 640 o "left" (default) 642 o "center" 644 o "right" 646 2.17.2. 'alt' attribute 648 Duplicates functionality available on <artwork>; avoid it. 650 2.17.3. 'anchor' attribute 652 Document-wide unique identifier for this figure. 654 Furthermore, the presence of this attribute causes the figure to be 655 numbered. 657 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 659 2.17.4. 'height' attribute 661 Duplicates functionality available on <artwork>; avoid it. 663 2.17.5. 'src' attribute 665 Duplicates functionality available on <artwork>; avoid it. 667 2.17.6. 'suppress-title' attribute 669 Figures that have an "anchor" attribute will automatically get an 670 autogenerated title (such as "Figure 1"), even if the "title" 671 attribute is absent. Setting this attribute to "true" will prevent 672 this. 674 Allowed values: 676 o "true" 678 o "false" (default) 680 2.17.7. 'title' attribute 682 The title for the figure; this usually appears on a line after the 683 figure. 685 2.17.8. 'width' attribute 687 Duplicates functionality available on <artwork>; avoid it. 689 2.18. <format> 691 Provides a link to an additional format variant for a reference. 693 Note that these additional links are neither used in published RFCs, 694 nor supported by all tools. If the goal is to provide a single URI 695 for a reference, the "target" attribute on <reference> can be used 696 instead. 698 This element appears as a child element of: <reference> 699 (Section 2.30). 701 Content model: this element does not have any contents. 703 2.18.1. 'octets' attribute 705 Octet length of linked-to document. 707 2.18.2. 'target' attribute 709 URI of document. 711 2.18.3. 'type' attribute (mandatory) 713 The type of the linked-to document, such as "TXT", "HTML", or "PDF". 715 2.19. <front> 717 Represent the "front matter": metadata (such as author information), 718 abstract, and additional notes. 720 This element appears as a child element of: <reference> 721 (Section 2.30), and <rfc> (Section 2.33). 723 Content model: 725 In this order: 727 1. One <title> element (Section 2.40) 729 2. One or more <author> elements (Section 2.6) 731 3. One <date> element (Section 2.13) 733 4. Optional <area> elements (Section 2.4) 735 5. Optional <workgroup> elements (Section 2.44) 737 6. Optional <keyword> elements (Section 2.21) 739 7. One optional <abstract> element (Section 2.1) 741 8. Optional <note> elements (Section 2.24) 743 2.20. <iref> 745 Provides terms for the document's index. 747 Index entries can be either be regular entries (when just the "item" 748 attribute is given) or nested entries (by specifying "subitem" as 749 well), grouped under a regular entry. 751 In this document, for instance, every element definition appears as a 752 regular index entry ("iref element 2.20"). In addition, for each use 753 of that element inside another parent element, a nested entry was 754 added ("iref element 2.20, ... inside annotation 2.3"). 756 Index entries generally refer to the exact place where the <iref> 757 element occured. An exception is the occurence as a child element of 758 <section>, in which case the whole section is considered to be 759 relevant for that index entry. In some formats, index entries of 760 this type might be displayed as range. 762 This element appears as a child element of: <annotation> 763 (Section 2.3), <c> (Section 2.8), <figure> (Section 2.17), 764 <postamble> (Section 2.28), <preamble> (Section 2.29), <section> 765 (Section 2.34), and <t> (Section 2.38). 767 Content model: this element does not have any contents. 769 2.20.1. 'item' attribute (mandatory) 771 The item to include. 773 2.20.2. 'primary' attribute 775 Setting this to "true" declares the occurrence as "primary", which 776 might cause it to be highlighted in the index. 778 Allowed values: 780 o "true" 782 o "false" (default) 784 2.20.3. 'subitem' attribute 786 The subitem to include. 788 2.21. <keyword> 790 Specifies a keyword applicable to the document. 792 Note that each element should only contain a single keyword; for 793 multiple keywords, the element can simply be repeated. 795 Keywords are used both in the RFC Index and in the metadata of 796 generated documents. 798 This element appears as a child element of: <front> (Section 2.19). 800 Content model: only text content. 802 2.22. <list> 804 Delineates a text list. 806 Each list item is represented by a <t> element. The vocabulary 807 currently does not directly support list items consisting of multiple 808 paragraphs; if this is needed, <vspace> (Section 2.43) can be used as 809 a workaround. 811 This element appears as a child element of: <t> (Section 2.38). 813 Content model: 815 One or more <t> elements (Section 2.38) 817 2.22.1. 'counter' attribute 819 This attribute holds a token that serves as an identifier for a 820 counter. The intended use is continuation of lists, where the 821 counter will be incremented for every list item, and there is no way 822 to reset the counter. 824 Note that this attribute functions only when the style attribute is 825 using the "format..." syntax (Section 2.22.3); otherwise, it is 826 ignored. 828 2.22.2. 'hangIndent' attribute 830 For list styles with potentially wide labels, this attribute can 831 override the default indentation level, measured in number of 832 characters. 834 Note that it only affects style with variable-width labels 835 ("format..." and "hanging", see below), and it may not affect formats 836 in which the list item text appears _below_ the label. 838 2.22.3. 'style' attribute 840 This attribute is used to control the display of a list. 842 The value of this attribute is inherited by any nested lists that do 843 not have this attribute set. It may be set to: 845 "empty" 846 For unlabeled list items; it can also be used for indentation 847 purposes (this is the default value when there is an enclosing 848 list where the style is specified). 850 "hanging" 852 For lists where the items are labeled with a piece of text. 854 The label text is specified in the 'hangText' attribute of the <t> 855 element (Section 2.38.2). 857 "letters" 859 For ordered lists using letters as labels (lowercase letters 860 followed by a period; after "z", it rolls over to a two-letter 861 format). For nested lists, processors usually flip between 862 uppercase and lowercase. 864 "numbers" 866 For ordered lists using numbers as labels. 868 "symbols" 870 For unordered (bulleted) lists. 872 The style of the bullets is chosen automatically be the processor 873 (some implementations allow overriding the default using a 874 processing instruction). 876 And, finally: 878 "format ..." 880 For lists with customized labels, consisting of fixed text and an 881 item counter in various formats. 883 The value is a free-form text that allows counter values to be 884 inserted using a "percent-letter" format. For instance, "[REQ%d]" 885 generates labels of the form "[REQ1]", where "%d" inserts the item 886 number as decimal number. 888 The following formats are supported: 890 %c lowercase letters (a, b, c, etc.) 891 %C uppercase letters (A, B, C, etc.) 893 %d decimal numbers (1, 2, 3, etc.) 895 %i lowercase Roman numerals (i, ii, iii, etc.) 897 %I uppercase Roman numerals (I, II, III, etc.) 899 %% represents a percent sign 901 Other formats are reserved for future use. 903 2.23. <middle> 905 Represents the main content of the document. 907 This element appears as a child element of: <rfc> (Section 2.33). 909 Content model: 911 One or more <section> elements (Section 2.34) 913 2.24. <note> 915 Creates an unnumbered section that appears after the abstract. 917 It is usually used for additional information to reviewers (working 918 group information, mailing list, ...), or for additional publication 919 information such as "IESG Notes". 921 This element appears as a child element of: <front> (Section 2.19). 923 Content model: 925 One or more <t> elements (Section 2.38) 927 2.24.1. 'title' attribute (mandatory) 929 The title of the note. 931 2.25. <organization> 933 Specifies the affiliation of an author. 935 This information appears in both the "Author's Address" section and 936 on the front page (see [RFC7322], Section 4.1.1 for more 937 information). If the value is long, an abbreviated variant can be 938 specified in the "abbrev" attribute. 940 This element appears as a child element of: <author> (Section 2.6). 942 Content model: only text content. 944 2.25.1. 'abbrev' attribute 946 Abbreviated variant. 948 2.26. <phone> 950 Represents a phone number. 952 The value is expected to be the scheme-specific part of a "tel" URI 953 (so does not include the prefix "tel:"), using the "global numbers" 954 syntax. See Section 3 of [RFC3966] for details. 956 This element appears as a child element of: <address> (Section 2.2). 958 Content model: only text content. 960 2.27. <postal> 962 Contains child elements providing postal information. 964 Note that at least one <street> element needs to be present; however 965 formatters will handle empty values just fine. 967 This element appears as a child element of: <address> (Section 2.2). 969 Content model: 971 In this order: 973 1. One or more <street> elements (Section 2.37) 975 2. In any order: 977 * <city> elements (Section 2.9) 979 * <region> elements (Section 2.32) 981 * <code> elements (Section 2.10) 983 * <country> elements (Section 2.11) 985 2.28. <postamble> 987 Gives text that appears at the bottom of a figure or table. 989 This element appears as a child element of: <figure> (Section 2.17), 990 and <texttable> (Section 2.39). 992 Content model: 994 In any order: 996 o Text 998 o <xref> elements (Section 2.45) 1000 o <eref> elements (Section 2.15) 1002 o <iref> elements (Section 2.20) 1004 o <cref> elements (Section 2.12) 1006 o <spanx> elements (Section 2.36) 1008 2.29. <preamble> 1010 Gives text that appears at the top of a figure or table. 1012 This element appears as a child element of: <figure> (Section 2.17), 1013 and <texttable> (Section 2.39). 1015 Content model: 1017 In any order: 1019 o Text 1021 o <xref> elements (Section 2.45) 1023 o <eref> elements (Section 2.15) 1025 o <iref> elements (Section 2.20) 1027 o <cref> elements (Section 2.12) 1029 o <spanx> elements (Section 2.36) 1031 2.30. <reference> 1033 Represents a bibliographical reference. 1035 This element appears as a child element of: <references> 1036 (Section 2.31). 1038 Content model: 1040 In this order: 1042 1. One <front> element (Section 2.19) 1044 2. Optional <seriesInfo> elements (Section 2.35) 1046 3. Optional <format> elements (Section 2.18) 1048 4. Optional <annotation> elements (Section 2.3) 1050 2.30.1. 'anchor' attribute (mandatory) 1052 Document-wide unique identifier for this reference. Usually, this 1053 will be used both to "label" the reference in the references section, 1054 and as an identifier in links to this reference entry. 1056 The value needs to be a valid XML "Name" (Section 2.3 of [XML]), 1057 additionally constrained to US-ASCII characters ([USASCII]). Thus, 1058 the character repertoire consists of "A-Z", "a-z", "0-9", "_", "-", 1059 ".", and ":", where "0-9", ".", and "-" are disallowed as start 1060 character. 1062 2.30.2. 'target' attribute 1064 Holds the URI for the reference. 1066 Note that depending on the <seriesInfo> element, a URI might not be 1067 needed, nor desirable, as it can be automatically generated (for 1068 instance, for RFCs). 1070 2.31. <references> 1072 Contains a set of bibliographical references. 1074 In the early days of the RFC series, there was only one "References" 1075 section per RFC. This convention was later changed to group 1076 references into two sets, "Normative" and "Informative" as described 1077 in Section 4.8.6 of [RFC7322]). This vocabulary supports the split 1078 with the "title" attribute. 1080 By default, the order of references is significant. Processors 1081 however can be instructed to sort them based on their anchor names. 1083 This element appears as a child element of: <back> (Section 2.7). 1085 Content model: 1087 One or more <reference> elements (Section 2.30) 1089 2.31.1. 'title' attribute 1091 Provides the title for the References section (defaulting to 1092 "References"). 1094 In general, the title should be either "Normative References" or 1095 "Informative References". 1097 2.32. <region> 1099 Provides the region name in a postal address. 1101 This element appears as a child element of: <postal> (Section 2.27). 1103 Content model: only text content. 1105 2.33. <rfc> 1107 This is the root element of the xml2rfc vocabulary. 1109 Processors distinguish between RFC mode ("number" attribute being 1110 present) and Internet-Draft mode ("docName" attribute being present): 1111 it is invalid to specify both. Setting neither "number" nor 1112 "docName" can be useful for producing other types of document but is 1113 out-of-scope for this specification. 1115 Content model: 1117 In this order: 1119 1. One <front> element (Section 2.19) 1121 2. One <middle> element (Section 2.23) 1123 3. One optional <back> element (Section 2.7) 1125 2.33.1. 'category' attribute 1127 Document category (see Appendix A.1). 1129 Allowed values: 1131 o "std" 1133 o "bcp" 1135 o "info" 1137 o "exp" 1139 o "historic" 1141 2.33.2. 'consensus' attribute 1143 Affects the generated boilerplate. 1145 See [RFC5741] for more information. 1147 Allowed values: 1149 o "no" 1151 o "yes" 1153 2.33.3. 'docName' attribute 1155 For Internet-Drafts, this specifies the draft name (which appears 1156 below the title). 1158 A processor should give an error if both the "docName" and "number" 1159 attributes are given in the <rfc> element. 1161 Note that the file extension is not part of the draft, so in general 1162 it should end with the current draft number ("-", plus two digits). 1164 Furthermore, it is good practice to disambiguate current editor 1165 copies from submitted drafts (for instance, by replacing the draft 1166 number with the string "latest"). 1168 See Section 7 of [IDGUIDE] for further information. 1170 2.33.4. 'ipr' attribute 1172 Represents the Intellectual Property status of the document. See 1173 Appendix A.2 for details. 1175 Allowed values: 1177 o "full2026" 1179 o "noDerivativeWorks2026" 1181 o "none" 1183 o "full3667" 1185 o "noModification3667" 1187 o "noDerivatives3667" 1189 o "full3978" 1191 o "noModification3978" 1193 o "noDerivatives3978" 1195 o "trust200811" 1197 o "noModificationTrust200811" 1199 o "noDerivativesTrust200811" 1201 o "trust200902" 1203 o "noModificationTrust200902" 1205 o "noDerivativesTrust200902" 1207 o "pre5378Trust200902" 1209 2.33.5. 'iprExtract' attribute 1211 Identifies a single section within the document (by its 'anchor' 1212 attribute) for which extraction "as-is" is explicitly allowed (this 1213 is only relevant for historic values of the "ipr" attribute). 1215 2.33.6. 'number' attribute 1217 The number of the RFC to be produced. 1219 A processor should give an error if both the "docName" and "number" 1220 attributes are given in the <rfc> element. 1222 2.33.7. 'obsoletes' attribute 1224 A comma-separated list of RFC _numbers_ or Internet-Draft names. 1226 Processors ought to parse the attribute value, so that incorrect 1227 references can be detected and, depending on output format, 1228 hyperlinks can be generated. Also, the value ought to be reformatted 1229 to insert whitespace after each comma if not already present. 1231 2.33.8. 'seriesNo' attribute 1233 Number within a document series. 1235 The document series is defined by the "category" attribute; 1236 "seriesNo" is only applicable to the values "info" ("FYI" series), 1237 "std" ("STD" series), and "bcp" ("BCP" series). 1239 2.33.9. 'submissionType' attribute 1241 The document stream. 1243 See Section 2 of [RFC5741] for details. 1245 Allowed values: 1247 o "IETF" (default) 1249 o "IAB" 1251 o "IRTF" 1253 o "independent" 1255 2.33.10. 'updates' attribute 1257 A comma-separated list of RFC _numbers_ or Internet-Draft names. 1259 Processors ought to parse the attribute value, so that incorrect 1260 references can be detected and, depending on output format, 1261 hyperlinks can be generated. Also, the value ought to be reformatted 1262 to insert whitespace after each comma if not already present. 1264 2.33.11. 'xml:lang' attribute 1266 The natural language used in the document (defaults to "en"). 1268 See Section 2.12 of [XML] for more information. 1270 2.34. <section> 1272 Represents a section (when inside a <middle> element) or an appendix 1273 (when inside a <back> element). 1275 Sub-sections are created by nesting <section> elements inside 1276 <section> elements. 1278 This element appears as a child element of: <back> (Section 2.7), 1279 <middle> (Section 2.23), and <section> (Section 2.34). 1281 Content model: 1283 In this order: 1285 1. In any order: 1287 * <t> elements (Section 2.38) 1289 * <figure> elements (Section 2.17) 1291 * <texttable> elements (Section 2.39) 1293 * <iref> elements (Section 2.20) 1295 2. Optional <section> elements (Section 2.34) 1297 2.34.1. 'anchor' attribute 1299 Document-wide unique identifier for this section. 1301 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 1303 2.34.2. 'title' attribute (mandatory) 1305 The title of the section. 1307 2.34.3. 'toc' attribute 1309 Determines whether the section is included in the Table Of Contents. 1311 The processor usually has defaults for whether a Table Of Contents 1312 will be produced at all, and sections of which maximal depth will be 1313 included (frequently: 3). "include" and "exclude" allow overriding 1314 the processor's default behavior for the element they are specified 1315 on (they do not affect either nested or parent elements). 1317 Allowed values: 1319 o "include" 1321 o "exclude" 1323 o "default" (default) 1325 2.35. <seriesInfo> 1327 Specifies the document series in which this document appears, and 1328 also specifies an identifier within that series. 1330 This element appears as a child element of: <reference> 1331 (Section 2.30). 1333 Content model: this element does not have any contents. 1335 2.35.1. 'name' attribute (mandatory) 1337 The name of the series. 1339 The following names trigger specific processing (such as for auto- 1340 generating links, and adding descriptions such as "work in 1341 progress"): "BCP", "FYI", "Internet-Draft", "RFC", and "STD". 1343 2.35.2. 'value' attribute (mandatory) 1345 The identifier within the series specified by the "name" attribute. 1347 For BCPs, FYIs, RFCs, and STDs this is the number within the series. 1348 For Internet-Drafts, it is the full draft name (ending with the two- 1349 digit version number). 1351 2.36. <spanx> 1353 Wraps a piece of text, indicating special formatting styles. 1355 When generating plain text, processors usually emulate font changes 1356 using characters such as "*" and "_". 1358 The following styles are defined: 1360 emph Simple emphasis (this is the default). 1362 strong Strong emphasis. 1364 verb "Verbatim" text (usually displayed using a monospaced font 1365 face). 1367 This element appears as a child element of: <annotation> 1368 (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), 1369 <preamble> (Section 2.29), and <t> (Section 2.38). 1371 Content model: only text content. 1373 2.36.1. 'style' attribute 1375 The style to be used (defaults to "emph"). 1377 2.36.2. 'xml:space' attribute 1379 Determines whitespace handling. 1381 According to the DTD, the default value is "preserve". Tests however 1382 show that it doesn't have any effect on processing; thus this 1383 attribute will be removed in future versions of the vocabulary. 1385 See also Section 2.10 of [XML]. 1387 Allowed values: 1389 o "default" 1391 o "preserve" (default) 1393 2.37. <street> 1395 Provides a street address. 1397 This element appears as a child element of: <postal> (Section 2.27). 1399 Content model: only text content. 1401 2.38. <t> 1403 Contains a paragraph of text. 1405 This element appears as a child element of: <abstract> (Section 2.1), 1406 <list> (Section 2.22), <note> (Section 2.24), and <section> 1407 (Section 2.34). 1409 Content model: 1411 In any order: 1413 o Text 1415 o <list> elements (Section 2.22) 1417 o <figure> elements (Section 2.17) 1419 o <xref> elements (Section 2.45) 1421 o <eref> elements (Section 2.15) 1423 o <iref> elements (Section 2.20) 1425 o <cref> elements (Section 2.12) 1427 o <spanx> elements (Section 2.36) 1429 o <vspace> elements (Section 2.43) 1431 2.38.1. 'anchor' attribute 1433 Document-wide unique identifier for this paragraph. 1435 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 1437 2.38.2. 'hangText' attribute 1439 Holds the label ("hanging text") for items in lists using the 1440 "hanging" style (see Section 2.22.3). 1442 2.39. <texttable> 1444 Contains a table, consisting of an optional preamble, a header line, 1445 rows, an optional postamble, and an optional title. 1447 The number of columns in the table is determined by the number of 1448 <ttcol> elements. The number of rows in the table is determined by 1449 the number of <c> elements divided by the number of columns. There 1450 is no requirement that the number of <c> elements be evenly divisible 1451 by the number of columns. 1453 This element appears as a child element of: <section> (Section 2.34). 1455 Content model: 1457 In this order: 1459 1. One optional <preamble> element (Section 2.29) 1461 2. One or more <ttcol> elements (Section 2.41) 1463 3. Optional <c> elements (Section 2.8) 1465 4. One optional <postamble> element (Section 2.28) 1467 2.39.1. 'align' attribute 1469 Determines the horizontal alignment of the table. 1471 Allowed values: 1473 o "left" 1475 o "center" (default) 1477 o "right" 1479 2.39.2. 'anchor' attribute 1481 Document-wide unique identifier for this table. 1483 Furthermore, the presence of this attribute causes the table to be 1484 numbered. 1486 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 1488 2.39.3. 'style' attribute 1490 Selects which borders should be drawn, where 1492 o "all" means borders around all table cells, 1494 o "full" is like "all" except no horizontal lines between table rows 1495 (except below the column titles), 1497 o "headers" adds just a separator between column titles and rows, 1498 and 1500 o "none" means no borders at all. 1502 Allowed values: 1504 o "all" 1506 o "none" 1508 o "headers" 1510 o "full" (default) 1512 2.39.4. 'suppress-title' attribute 1514 Tables that have an "anchor" attribute will automatically get an 1515 autogenerated title (such as "Table 1"), even if the "title" 1516 attribute is absent. Setting this attribute to "true" will prevent 1517 this. 1519 Allowed values: 1521 o "true" 1523 o "false" (default) 1525 2.39.5. 'title' attribute 1527 The title for the table; this usually appears on a line below the 1528 table body. 1530 2.40. <title> 1532 Represents the document title. 1534 When this element appears in the <front> element of the current 1535 document, the title might also appear in page headers or footers. If 1536 it's long (~40 characters), the "abbrev" attribute is used to specify 1537 an abbreviated variant. 1539 This element appears as a child element of: <front> (Section 2.19). 1541 Content model: only text content. 1543 2.40.1. 'abbrev' attribute 1545 Specifies an abbreviated variant of the document title. 1547 2.41. <ttcol> 1549 Contains a column heading in a table. 1551 This element appears as a child element of: <texttable> 1552 (Section 2.39). 1554 Content model: only text content. 1556 2.41.1. 'align' attribute 1558 Determines the horizontal alignment within the table column. 1560 Allowed values: 1562 o "left" (default) 1564 o "center" 1566 o "right" 1568 2.41.2. 'width' attribute 1570 The desired column width (as integer 0..100 followed by "%"). 1572 2.42. <uri> 1574 Contains a web address associated with the author. 1576 The contents should be a valid URI (see Section 3 of [RFC3986]). 1578 This element appears as a child element of: <address> (Section 2.2). 1580 Content model: only text content. 1582 2.43. <vspace> 1584 This element can be used to force the inclusion of a single line 1585 break or multiple blank lines. 1587 Note that this is a purely presentational element and thus its use 1588 ought to be avoided. 1590 This element appears as a child element of: <t> (Section 2.38). 1592 Content model: this element does not have any contents. 1594 2.43.1. 'blankLines' attribute 1596 Number of blank lines to be inserted, where "0" indicates a single 1597 line break (defaults to "0"). 1599 For paged output formats, no additional blank lines should be 1600 generated after a page break. 1602 2.44. <workgroup> 1604 This element is used to specify the Working Group (IETF) or Research 1605 Group (IRTF) from which the document originates, if any. The 1606 recommended format is the official name of the Working Group (with 1607 some capitalization). 1609 In Internet-Drafts, this is used in the upper left corner of the 1610 boilerplate, replacing the "Network Working Group" string. 1611 Formatting software can append the words "Working Group" or "Research 1612 Group", depending on the "submissionType" property on the <rfc> 1613 element (Section 2.33.9). 1615 This element appears as a child element of: <front> (Section 2.19). 1617 Content model: only text content. 1619 2.45. <xref> 1621 Inserts a reference to a different part of a document. 1623 The generated text depends on whether the <xref> is empty (in which 1624 case the processor will try to generate a meaningful text fragment), 1625 and the nature of the referenced document part. 1627 Any element that allows the "anchor" attribute can be referenced; 1628 however there are restrictions with respect to the text content being 1629 generated. For instance, a <t> can be a reference target, however, 1630 because paragraphs are not (visibly) numbered, the author will have 1631 to make sure that the prose is sufficient for a reader to understand 1632 what is being referred to. 1634 [[oi-xref: This needs to be expanded with examples and with a 1635 discussion how the autogenerated text differs when <xref> is not 1636 empty]] 1638 This element appears as a child element of: <annotation> 1639 (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), 1640 <preamble> (Section 2.29), and <t> (Section 2.38). 1642 Content model: only text content. 1644 2.45.1. 'format' attribute 1646 This attribute is used to control the format of the generated 1647 reference text. 1649 "counter" 1651 Inserts a counter, such as the number of a section, figure, or 1652 table. 1654 For targets that are not inherently numbered, such as references 1655 or comments, it uses the anchor name instead. 1657 "default" 1659 Inserts a text fragment that describes the referenced part 1660 completely, such as "Section 2", "Table 4", or "[XML]". 1662 "none" 1664 There will be no auto-generated text. 1666 "title" 1668 Inserts a title for the referenced element (usually obtained from 1669 the referenced element's "title" attribute; some processors also 1670 use the <title> child element or a <reference> target). 1672 Allowed values: 1674 o "counter" 1676 o "title" 1678 o "none" 1680 o "default" (default) 1682 2.45.2. 'pageno' attribute 1684 Unused. 1686 It's unclear what the purpose of this attribute is; processors seem 1687 to ignore it and it never was documented. 1689 Allowed values: 1691 o "true" 1693 o "false" (default) 1695 2.45.3. 'target' attribute (mandatory) 1697 Identifies the document component being referenced. 1699 The value needs to match the value of the "anchor" attribute of 1700 another element in the document. 1702 3. Escaping for Use in XML 1704 Text in XML cannot use the literal characters "<" and "&", as they 1705 have special meaning to the XML processor (starting entities, 1706 elements, etc.). Usually, these characters will need to be 1707 substituted by "<" and "&" (see Section 4.6 of [XML]). 1709 ">" does not require escaping, unless it appears in the sequence 1710 "]]>" (which indicates the end of a CDATA section, see below). 1712 Escaping the individual characters can be a lot of work (when done 1713 manually), and also messes up alignment in artwork. Another approach 1714 to escaping is to use CDATA sections ([XML], Section 2.7). Within 1715 these, no further escaping is needed, except when the "end-of-CDATA" 1716 marker needs to be used (in that case, the CDATA section needs to be 1717 closed, and a new one needs to be started). 1719 4. Special Unicode Code Points 1721 Although the current RFC format does not allow non-ASCII Unicode 1722 characters ([UNICODE]), some of them can be used to enforce certain 1723 behaviors of formatters. 1725 For instance: 1727 non-breaking space (U+00A0) 1729 Represents a space character where no line break should happen. 1730 This is frequently used in titles (by excluding certain space 1731 characters from the line breaking algorithm, the processor will 1732 use the remaining whitespace occurrences for line breaks). 1734 non-breaking hyphen (U+2011) 1736 Similarly, this represents a hyphen character where nevertheless 1737 no line breaking ought to occur. 1739 word joiner (U+2060) 1741 Also called "zero width non-breaking space" -- can be used to 1742 disallow line breaking between two non-whitespace characters. 1744 Note that in order to use these characters by name, they need to be 1745 declared either in the Document Type Definition (DTD, [XML], Section 1746 2.9), or in the "internal subset" ([XML], Section 2.8), like this: 1748 <?xml version="1.0"?> 1750 <!DOCTYPE rfc [ 1752 <!-- declare nbsp and friends --> 1753 <!ENTITY nbsp " "> 1754 <!ENTITY nbhy "‑"> 1755 <!ENTITY wj "⁠"> 1756 ]> 1758 5. Including Files 1760 This version of the vocabulary does not support an inclusion 1761 mechanism on its own -- thus, a document always needs to be self- 1762 contained. 1764 That being said, some processors do support file inclusion using 1765 processing instructions (Section 2.6 of [XML] and Section 4.1.2 of 1766 [TCLReadme]). 1768 Furthermore, XML itself allows inclusion of external content using 1769 the "internal subset" (Section 2.8 of [XML]). Unfortunately, this 1770 requires declaring the external data in the DTD upfront. 1772 For instance: 1774 <?xml version="1.0"?> 1776 <!DOCTYPE rfc [ 1778 <!-- allow later RFC2616 reference using "&rfc2616;" --> 1779 <!-- the data will be fetched from xml.resource.org --> 1780 <!ENTITY rfc2616 PUBLIC 1781 "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml"> 1782 ]> 1784 ...declares the entity "rfc2616", which then can be used in the 1785 "references" section: 1787 <references> 1788 &rfc2616; 1789 </references> 1791 Note that this mechanism only works for well-formed XML fragments; 1792 thus any plain text that would need to be escaped in XML can't be 1793 included as-is. 1795 6. Internationalization Considerations 1797 This format is based on [XML], thus does not have any issues 1798 representing arbitrary Unicode [UNICODE] characters in text content. 1800 However, the current canonical RFC format is restricted to US-ASCII 1801 characters ([USASCII] and Section 3 of [RFC2223]). It is possible 1802 that this rule will be relaxed in future revisions of the RFC format 1803 (for instance, to allow non-ASCII characters in examples and contact 1804 information). In that case, it is expected that the vocabulary will 1805 be extended accordingly. 1807 7. Security Considerations 1809 The "name" attribute on the <artwork> element (Section 2.5.4) can be 1810 used to derive a filename for saving to a local file system. 1811 Trusting this kind of information without pre-processing is a known 1812 security risk; see Section 4.3 of [RFC6266] for more information. 1814 Furthermore, the nature of XML, plus vocabulary features such as 1815 typed artwork, make it attractive to extract content from documents 1816 for further processing, such for the purpose of checking syntax, or 1817 computing/verifying examples. In the latter case, care needs to be 1818 taken that only trusted content is processed. 1820 All security considerations related to XML processing are relevant as 1821 well (see Section 7 of [RFC3470]). 1823 8. IANA Considerations 1825 8.1. Internet Media Type Registration 1827 IANA maintains the registry of Internet media types [BCP13] at 1828 <http://www.iana.org/assignments/media-types>. 1830 This document serves as the specification for the Internet media type 1831 "application/rfc+xml". The following is to be registered with IANA. 1833 Type name: application 1835 Subtype name: rfc+xml 1836 Required parameters: There are no required parameters. 1838 Optional parameters: "charset": This parameter has identical 1839 semantics as the charset parameter of the "application/xml" media 1840 type specified in Section 9.1 of [RFC7303]. 1842 Encoding considerations: Identical to those of "application/xml" as 1843 described in Section 9.1 of [RFC7303]. 1845 Security considerations: As defined in Section 7. In addition, as 1846 this media type uses the "+xml" convention, it inherits the 1847 security considerations described in Section 10 of [RFC7303]. 1849 Interoperability considerations: N/A 1851 Published specification: This specification. 1853 Applications that use this media type: Applications that transform 1854 xml2rfc to output formats such as plain text or HTML, plus 1855 additional analysis tools. 1857 Fragment identifier considerations: The "anchor" attribute is used 1858 for assigning document-wide unique identifiers that can be used as 1859 shorthand pointers, as described in Section 2.8 of [XPOINTER]. 1861 Additional information: 1863 Deprecated alias names for this type: None. 1865 Magic number(s): As specified for "application/xml" in Section 1866 9.1 of [RFC7303]. 1868 File extension(s): .xml or .rfcxml when disambiguation from other 1869 XML files is needed 1871 Macintosh file type code(s): TEXT 1873 Person & email address to contact for further information: See 1874 Authors Section. 1876 Intended usage: COMMON 1878 Restrictions on usage: N/A 1880 Author: See Authors Section. 1882 Change controller: RFC Series Editor (rse@rfc-editor.org) 1884 9. Acknowledgments 1886 Thanks to everybody who reviewed this document and provided feedback 1887 and/or specification text, in particular Brian Carpenter, Elwyn 1888 Davies, Tony Hansen, Paul Hoffman, Henrik Levkowetz, Alice Russo, Tom 1889 Taylor, Jim Schaad, and Nico Williams. 1891 We also thank Marshall T. Rose for both the original design and the 1892 reference implementation of the "xml2rfc" formatter. 1894 10. References 1896 10.1. Normative References 1898 [XML] Maler, E., Yergeau, F., Paoli, J., Sperberg-McQueen, M., 1899 and T. Bray, "Extensible Markup Language (XML) 1.0 1900 (Fifth Edition)", W3C Recommendation REC-xml-20081126, 1901 November 2008, 1902 <http://www.w3.org/TR/2008/REC-xml-20081126/>. 1904 Latest version available at <http://www.w3.org/TR/xml>. 1906 10.2. Informative References 1908 [BCP13] Freed, N., Klensin, J., and T. Hansen, "Media Type 1909 Specifications and Registration Procedures", BCP 13, 1910 RFC 6838, January 2013. 1912 [IDGUIDE] Housley, R., "Guidelines to Authors of Internet-Drafts", 1913 December 2010, 1914 <http://www.ietf.org/id-info/guidelines.html>. 1916 [JING] Thai Open Source Software Center Ltd, "Jing - A RELAX NG 1917 validator in Java", 2008, 1918 <http://www.thaiopensource.com/relaxng/jing.html>. 1920 Downloads: 1921 <https://code.google.com/p/jing-trang/downloads/list>. 1923 [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 1924 3", BCP 9, RFC 2026, October 1996. 1926 [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 1927 Extensions (MIME) Part Two: Media Types", RFC 2046, 1928 November 1996. 1930 [RFC2223] Postel, J. and J. Reynolds, "Instructions to RFC 1931 Authors", RFC 2223, October 1997. 1933 [RFC2397] Masinter, L., "The "data" URL scheme", RFC 2397, 1934 August 1998. 1936 [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, 1937 June 1999. 1939 [RFC3470] Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines 1940 for the Use of Extensible Markup Language (XML) within 1941 IETF Protocols", BCP 70, RFC 3470, January 2003. 1943 [RFC3667] Bradner, S., "IETF Rights in Contributions", RFC 3667, 1944 February 2004. 1946 [RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", 1947 RFC 3966, December 2004. 1949 [RFC3978] Bradner, S., "IETF Rights in Contributions", RFC 3978, 1950 March 2005. 1952 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 1953 Resource Identifier (URI): Generic Syntax", STD 66, 1954 RFC 3986, January 2005. 1956 [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, 1957 July 2009. 1959 PDF version: <http://www.rfc-editor.org/rfc/rfc5598.pdf> 1961 [RFC5741] Daigle, L. and O. Kolkman, "RFC Streams, Headers, and 1962 Boilerplates", RFC 5741, December 2009. 1964 [RFC6068] Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto' 1965 URI Scheme", RFC 6068, October 2010. 1967 [RFC6266] Reschke, J., "Use of the Content-Disposition Header 1968 Field in the Hypertext Transfer Protocol (HTTP)", 1969 RFC 6266, June 2011. 1971 [RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303, 1972 July 2014. 1974 [RFC7322] Heather, H. and S. Ginoza, "RFC Style Guide", RFC 7322, 1975 September 2014. 1977 [RFCPOLICY] RFC Editor, "RFC Editorial Guidelines and Procedures", 1978 February 2012, <http://www.rfc-editor.org/policy.html>. 1980 [RNC] Clark, J., "RELAX NG Compact Syntax", OASIS , 1981 November 2002, <http://www.oasis-open.org/committees/ 1982 relax-ng/compact-20021121.html>. 1984 [TCLReadme] Rose, M., Fenner, B., and C. Levert, "xml2rfc 1985 v1.35pre1", October 2009, <http://svn.tools.ietf.org/ 1986 svn/tools/xml2rfc/archive/README.html>. 1988 [TLP2.0] IETF Trust, "Legal Provisions Relating to IETF 1989 Documents", February 2009, 1990 <http://trustee.ietf.org/license-info/IETF-TLP-2.htm>. 1992 [TLP3.0] IETF Trust, "Legal Provisions Relating to IETF 1993 Documents", September 2009, 1994 <http://trustee.ietf.org/license-info/IETF-TLP-3.htm>. 1996 [TLP4.0] IETF Trust, "Legal Provisions Relating to IETF 1997 Documents", December 2009, 1998 <http://trustee.ietf.org/license-info/IETF-TLP-4.htm>. 2000 [UNICODE] The Unicode Consortium, "The Unicode Standard, Version 2001 6.3.0", September 2013, 2002 <http://www.unicode.org/versions/Unicode6.3.0/>. 2004 [USASCII] American National Standards Institute, "Coded Character 2005 Set -- 7-bit American Standard Code for Information 2006 Interchange", ANSI X3.4, 1986. 2008 [V1rev] Rose, M., "Writing I-Ds and RFCs using XML (revised)", 2009 February 2008, <http://svn.tools.ietf.org/svn/tools/ 2010 xml2rfc/archive/draft-mrose-writing-rfcs.html>. 2012 [XPOINTER] Grosso, P., Maler, E., Marsh, J., and N. Walsh, 2013 "XPointer Framework", W3C Recommendation REC-xptr- 2014 framework-20030325, March 2003, 2015 <http://www.w3.org/TR/2003/ 2016 REC-xptr-framework-20030325/>. 2018 Latest version available at 2019 <http://www.w3.org/TR/xptr-framework/>. 2021 Appendix A. Front Page ('Boilerplate') Generation 2022 A.1. The /rfc/@category Attribute 2024 For RFCs, the category attribute (Section 2.33.1) determines the 2025 "maturity level" (see Section 4 of [RFC2026]). The allowed values 2026 are "std" for "Standards Track", "bcp" for "BCP", "info" for 2027 "Informational", "exp" for "Experimental", and "historic" for 2028 "Historic". 2030 For Internet-Drafts, the category attribute is not needed, but will 2031 appear on the front page as "Intended Status". Supplying this 2032 information can be useful to reviewers. 2034 A.2. The /rfc/@ipr Attribute 2036 This attribute value can take a long list of values, each of which 2037 describes an IPR policy for the document (Section 2.33.4). The 2038 values are not the result of a grand design, but remain simply for 2039 historic reasons. Of these values, only a few are currently in use; 2040 all others are supported by various tools for backwards compatibility 2041 with old source files. 2043 *Note:* some variations of the boilerplate are selected based on 2044 the document's date; therefore it is important to specify the 2045 "year", "month" and "day" attributes of the <date> element when 2046 archiving the XML source of an Internet-Draft on the day of 2047 submission. 2049 _Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION. IF YOU 2050 NEED LEGAL ADVICE, PLEASE CONTACT A LAWYER._ For further information, 2051 refer to <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf>. 2053 For the current "Status Of This Memo" text, the submissionType 2054 attribute (Section 2.33.9) determines whether a statement about "Code 2055 Components" is inserted (which is the case for the value "IETF", 2056 which is the default). Other values, such as "independent", suppress 2057 this part of the text. 2059 A.2.1. Current Values: '*trust200902' 2061 The name for these values refers to the "IETF TRUST Legal Provisions 2062 Relating to IETF Documents", sometimes simply called the "TLP", which 2063 went into effect on February 15, 2009 ([TLP2.0]). Updates to this 2064 document were published on September 12, 2009 ([TLP3.0]) and on 2065 December 28, 2009 ([TLP4.0]), modifying the license for code 2066 components (see <http://trustee.ietf.org/license-info/> for further 2067 information). The actual text is located in Section 6 ("Text To Be 2068 Included in IETF Documents") of these documents. 2070 Formatters will automatically produce the "correct" text depending on 2071 the document's date information (see above): 2073 +----------+--------------------------------+ 2074 | TLP | starting with publication date | 2075 +----------+--------------------------------+ 2076 | [TLP3.0] | 2009-11-01 | 2077 | [TLP4.0] | 2010-04-01 | 2078 +----------+--------------------------------+ 2080 A.2.1.1. trust200902 2082 This value should be used unless one of the more specific 2083 '*trust200902' values is a better fit. It produces the text in 2084 Sections 6.a and 6.b of the TLP. 2086 A.2.1.2. noModificationTrust200902 2088 This produces additional text from Section 6.c.i of the TLP: 2090 This document may not be modified, and derivative works of it may 2091 not be created, except to format it for publication as an RFC or 2092 to translate it into languages other than English. 2094 *Note:* this clause is incompatible with RFCs that are published 2095 on the Standards Track. 2097 A.2.1.3. noDerivativesTrust200902 2099 This produces the additional text from Section 6.c.ii of the TLP: 2101 This document may not be modified, and derivative works of it may 2102 not be created, and it may not be published except as an Internet- 2103 Draft. 2105 *Note:* this clause is incompatible with RFCs. 2107 A.2.1.4. pre5378Trust200902 2109 This produces the additional text from Section 6.c.iii of the TLP, 2110 frequently called the "pre-5378 escape clause": 2112 This document may contain material from IETF Documents or IETF 2113 Contributions published or made publicly available before November 2114 10, 2008. The person(s) controlling the copyright in some of this 2115 material may not have granted the IETF Trust the right to allow 2116 modifications of such material outside the IETF Standards Process. 2117 Without obtaining an adequate license from the person(s) 2118 controlling the copyright in such materials, this document may not 2119 be modified outside the IETF Standards Process, and derivative 2120 works of it may not be created outside the IETF Standards Process, 2121 except to format it for publication as an RFC or to translate it 2122 into languages other than English. 2124 See Section 4 of 2125 <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf> for further 2126 information about when to use this value. 2128 *Note:* this text appears under "Copyright Notice", unless the 2129 document was published before November 2009, in which case it 2130 appears under "Status Of This Memo". 2132 A.2.2. Historic Values 2134 A.2.2.1. Historic Values: '*trust200811' 2136 The attribute values "trust200811", "noModificationTrust200811" and 2137 "noDerivativesTrust200811" are similar to their "trust200902" 2138 counterparts, except that they use text specified in <http:// 2139 trustee.ietf.org/license-info/archive/ 2140 IETF-Trust-License-Policy_11-10-08.pdf>. 2142 A.2.2.2. Historic Values: '*3978' 2144 The attribute values "full3978", "noModification3978" and 2145 "noDerivatives3978" are similar to their counterparts above, except 2146 that they use text specified in Section 5 of [RFC3978]. 2148 A.2.2.3. Historic Values: '*3667' 2150 The attribute values "full3667", "noModification3667" and 2151 "noDerivatives3667" are similar to their counterparts above, except 2152 that they use text specified in Section 5 of [RFC3667]. 2154 A.2.2.4. Historic Values: '*2026' 2156 The attribute values "full2026" and "noDerivativeWorks2026" are 2157 similar to their counterparts above, except that they use text 2158 specified in Section 10 of [RFC2026]. 2160 The special value "none" was also used back then, and denied the IETF 2161 any rights beyond publication as Internet-Draft. 2163 A.3. The /rfc/@submissionType Attribute 2165 The RFC Editor publishes documents from different "document streams", 2166 of which the "IETF stream" is the most prominent one. Other streams 2167 are the "independent stream" (used for things such as administrative 2168 information or April 1st RFCs), the "IAB stream" (Internet 2169 Architecture Board) and the "IRTF stream" (Internet Research Task 2170 Force). 2172 The values for the attribute are "IETF" (the default value), 2173 "independent", "IAB", and "IRTF". 2175 Historically, this attribute did not affect the final appearance of 2176 RFCs, except for subtle differences in Copyright notices. Nowadays 2177 (as of [RFC5741]), the stream name appears in the first line of the 2178 front page, and it also affects the text in the "Status Of This Memo" 2179 section. 2181 For current documents, setting submissionType attribute will have the 2182 following effect: 2184 o For RFCs, the stream name appears in the upper left corner of the 2185 first page (in Internet Drafts, this is either "Network Working 2186 Group", or the value of the <workgroup> element). 2188 o For RFCs, if affects the whole "Status Of This Memo" section (see 2189 Section 3.2.2 of [RFC5741]). 2191 o For all RFCs and Internet Drafts, it determines whether the 2192 "Copyright Notice" mentions the Copyright on Code Components (see 2193 TLP, Section "Text To Be Included in IETF Documents"). 2195 A.4. The /rfc/@consensus Attribute 2197 For some of the publication streams (see Appendix A.3), the "Status 2198 Of This Memo" section depends on whether there was a consensus to 2199 publish (again, see Section 3.2.2 of [RFC5741]). 2201 The consensus attribute ("yes"/"no", defaulting to "yes") can be used 2202 to supply this information. The effect for the various streams is: 2204 o "independent" and "IAB": none. 2206 o "IETF": mention that there was an IETF consensus. 2208 o "IRTF": mention that there was a research group consensus (where 2209 the name of the research group is extracted from the <workgroup> 2210 element). 2212 Appendix B. Changes from RFC 2629 ('v1') 2214 B.1. RNC Schema Differences (to be removed in RFC before publication) 2216 See <http://greenbytes.de/tech/webdav/ 2217 draft-reschke-xml2rfc-02.html#rfc.section.E> for a comparison of the 2218 schemata. 2220 B.2. Removed Elements 2222 The <appendix> element has been removed; to generate an appendix, 2223 place a <section> inside <back>. 2225 B.3. Changed Defaults 2227 Many attributes have lost their "default" value; this is to avoid 2228 having document semantics differ based on whether a DTD was specified 2229 and evaluated. Processors will handle absent values the way the 2230 default value was specified before. 2232 B.4. Changed Elements 2234 <artwork>: Has a set of new attributes: "name", "type", "src", 2235 "align", "alt", "width", and "height". (Section 2.5) 2237 <author>: The <organization> element is now optional. The "role" 2238 attribute was added. (Section 2.6) 2240 <country>: The requirement to use ISO 3166 codes was removed. 2241 (Section 2.11) 2243 <date>: All attributes are now optional. (Section 2.13) 2245 <figure>: Has a set of new attributes: "suppress-title", "src", 2246 "align", "alt", "width", and "height". (Section 2.17) 2248 <iref>: Has a new "primary" attribute. (Section 2.20) 2250 <list>: The "style" attribute isn't restricted to a set of enumerated 2251 values anymore. The "hangIndent" and "counter" attributes have been 2252 added. (Section 2.22) 2254 <reference>: <annotation> allows adding prose to a reference. The 2255 "anchor" attribute has been made mandatory. (Section 2.30) 2257 <references>: Can now appear multiple times, and carry a "title" 2258 attribute (so that normative and informative references can be 2259 split). (Section 2.31) 2260 <rfc>: The "ipr" attribute has gained additional values. The 2261 attributes "consensus", "iprExtract", "submissionType", and "xml: 2262 lang" have been added. (Section 2.33) 2264 <section>: The new "toc" attribute controls whether it will appear in 2265 the Table Of Contents. <iref> can now appear as direct child element. 2266 (Section 2.34) 2268 <t>: The "anchor" attribute can now be used as well, however there 2269 are restrictions on how they can be referred to. (Section 2.38) 2271 B.5. New Elements 2273 The following elements have been added: <annotation> (Section 2.3), 2274 <c> (Section 2.8), <cref> (Section 2.12), <format> (Section 2.18), 2275 <spanx> (Section 2.36), <texttable> (Section 2.39), <ttcol> 2276 (Section 2.41). 2278 Appendix C. Relax NG Schema 2280 namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" 2282 rfc = 2283 element rfc { 2284 attribute number { text }?, 2285 [ a:defaultValue = "" ] attribute obsoletes { text }?, 2286 [ a:defaultValue = "" ] attribute updates { text }?, 2287 attribute category { "std" | "bcp" | "info" | "exp" | "historic" 2288 }?, 2289 attribute consensus { "no" | "yes" }?, 2290 attribute seriesNo { text }?, 2291 attribute ipr { 2292 "full2026" 2293 | "noDerivativeWorks2026" 2294 | "none" 2295 | "full3667" 2296 | "noModification3667" 2297 | "noDerivatives3667" 2298 | "full3978" 2299 | "noModification3978" 2300 | "noDerivatives3978" 2301 | "trust200811" 2302 | "noModificationTrust200811" 2303 | "noDerivativesTrust200811" 2304 | "trust200902" 2305 | "noModificationTrust200902" 2306 | "noDerivativesTrust200902" 2307 | "pre5378Trust200902" 2308 }?, 2309 attribute iprExtract { xsd:IDREF }?, 2310 [ a:defaultValue = "IETF" ] 2311 attribute submissionType { 2312 "IETF" | "IAB" | "IRTF" | "independent" 2313 }?, 2314 attribute docName { text }?, 2315 [ a:defaultValue = "en" ] attribute xml:lang { text }?, 2316 front, 2317 middle, 2318 back? 2319 } 2321 front = 2322 element front { 2323 title, author+, date, area*, workgroup*, keyword*, abstract?, 2324 note* 2325 } 2327 title = 2328 element title { 2329 attribute abbrev { text }?, 2330 text 2331 } 2333 author = 2334 element author { 2335 attribute initials { text }?, 2336 attribute surname { text }?, 2337 attribute fullname { text }?, 2338 attribute role { "editor" }?, 2339 organization?, 2340 address? 2341 } 2343 organization = 2344 element organization { 2345 attribute abbrev { text }?, 2346 text 2347 } 2349 address = element address { postal?, phone?, facsimile?, email?, 2350 uri? } 2352 postal = element postal { street+, (city | region | code | country)* 2353 } 2354 street = element street { text } 2356 city = element city { text } 2358 region = element region { text } 2360 code = element code { text } 2362 country = element country { text } 2364 phone = element phone { text } 2366 facsimile = element facsimile { text } 2368 email = element email { text } 2370 uri = element uri { text } 2372 date = 2373 element date { 2374 attribute day { text }?, 2375 attribute month { text }?, 2376 attribute year { text }?, 2377 empty 2378 } 2380 area = element area { text } 2382 workgroup = element workgroup { text } 2384 keyword = element keyword { text } 2386 abstract = element abstract { t+ } 2388 note = 2389 element note { 2390 attribute title { text }, 2391 t+ 2392 } 2394 middle = element middle { section+ } 2396 section = 2397 element section { 2398 attribute anchor { xsd:ID }?, 2399 attribute title { text }, 2400 [ a:defaultValue = "default" ] 2401 attribute toc { "include" | "exclude" | "default" }?, 2402 (t | figure | texttable | iref)*, 2403 section* 2404 } 2406 t = 2407 element t { 2408 attribute anchor { xsd:ID }?, 2409 attribute hangText { text }?, 2410 (text 2411 | \list 2412 | figure 2413 | xref 2414 | eref 2415 | iref 2416 | cref 2417 | spanx 2418 | vspace)* 2419 } 2421 \list = 2422 element list { 2423 attribute style { text }?, 2424 attribute hangIndent { text }?, 2425 attribute counter { text }?, 2426 t+ 2427 } 2429 xref = 2430 element xref { 2431 attribute target { xsd:IDREF }, 2432 [ a:defaultValue = "false" ] attribute pageno { "true" | "false" 2433 }?, 2434 [ a:defaultValue = "default" ] 2435 attribute format { "counter" | "title" | "none" | "default" }?, 2436 text 2437 } 2439 eref = 2440 element eref { 2441 attribute target { text }, 2442 text 2443 } 2445 iref = 2446 element iref { 2447 attribute item { text }, 2448 [ a:defaultValue = "" ] attribute subitem { text }?, 2449 [ a:defaultValue = "false" ] 2450 attribute primary { "true" | "false" }?, 2451 empty 2452 } 2454 cref = 2455 element cref { 2456 attribute anchor { xsd:ID }?, 2457 attribute source { text }?, 2458 text 2459 } 2461 spanx = 2462 element spanx { 2463 [ a:defaultValue = "preserve" ] 2464 attribute xml:space { "default" | "preserve" }?, 2465 [ a:defaultValue = "emph" ] attribute style { text }?, 2466 text 2467 } 2469 vspace = 2470 element vspace { 2471 [ a:defaultValue = "0" ] attribute blankLines { text }?, 2472 empty 2473 } 2475 figure = 2476 element figure { 2477 attribute anchor { xsd:ID }?, 2478 [ a:defaultValue = "" ] attribute title { text }?, 2479 [ a:defaultValue = "false" ] 2480 attribute suppress-title { "true" | "false" }?, 2481 attribute src { text }?, 2482 [ a:defaultValue = "left" ] 2483 attribute align { "left" | "center" | "right" }?, 2484 [ a:defaultValue = "" ] attribute alt { text }?, 2485 [ a:defaultValue = "" ] attribute width { text }?, 2486 [ a:defaultValue = "" ] attribute height { text }?, 2487 iref*, 2488 preamble?, 2489 artwork, 2490 postamble? 2491 } 2493 preamble = 2494 element preamble { (text | xref | eref | iref | cref | spanx)* } 2496 artwork = 2497 element artwork { 2499 [ a:defaultValue = "preserve" ] 2500 attribute xml:space { "default" | "preserve" }?, 2501 [ a:defaultValue = "" ] attribute name { text }?, 2502 [ a:defaultValue = "" ] attribute type { text }?, 2503 attribute src { text }?, 2504 [ a:defaultValue = "left" ] 2505 attribute align { "left" | "center" | "right" }?, 2506 [ a:defaultValue = "" ] attribute alt { text }?, 2507 [ a:defaultValue = "" ] attribute width { text }?, 2508 [ a:defaultValue = "" ] attribute height { text }?, 2509 text* 2510 } 2512 postamble = 2513 element postamble { (text | xref | eref | iref | cref | spanx)* } 2515 texttable = 2516 element texttable { 2517 attribute anchor { xsd:ID }?, 2518 [ a:defaultValue = "" ] attribute title { text }?, 2519 [ a:defaultValue = "false" ] 2520 attribute suppress-title { "true" | "false" }?, 2521 [ a:defaultValue = "center" ] 2522 attribute align { "left" | "center" | "right" }?, 2523 [ a:defaultValue = "full" ] 2524 attribute style { "all" | "none" | "headers" | "full" }?, 2525 preamble?, 2526 ttcol+, 2527 c*, 2528 postamble? 2529 } 2531 ttcol = 2532 element ttcol { 2533 attribute width { text }?, 2534 [ a:defaultValue = "left" ] 2535 attribute align { "left" | "center" | "right" }?, 2536 text 2537 } 2539 c = element c { (text | xref | eref | iref | cref | spanx)* } 2541 back = element back { references*, section* } 2543 references = 2544 element references { 2545 [ a:defaultValue = "References" ] attribute title { text }?, 2546 reference+ 2548 } 2550 reference = 2551 element reference { 2552 attribute anchor { xsd:ID }, 2553 attribute target { text }?, 2554 front, 2555 seriesInfo*, 2556 format*, 2557 annotation* 2558 } 2560 seriesInfo = 2561 element seriesInfo { 2562 attribute name { text }, 2563 attribute value { text }, 2564 empty 2565 } 2567 format = 2568 element format { 2569 attribute target { text }?, 2570 attribute type { text }, 2571 attribute octets { text }?, 2572 empty 2573 } 2575 annotation = 2576 element annotation { (text | xref | eref | iref | cref | spanx)* } 2578 start = rfc 2580 (This schema was derived from version 1.3.6 of the xml2rfc DTD 2581 ('Document Type Definition', [XML], Section 2.8), available from <htt 2582 p://svn.tools.ietf.org/svn/tools/xml2rfc/vocabulary/v2/03/ 2583 xml2rfcv2.dtd>). 2585 C.1. Checking Validity 2587 The validity of XML files can be checked with any tool that supports 2588 Relax NG ([RNC]). The reference implementation is the Java-based, 2589 open sourced "JING" ([JING]). 2591 To use JING, download the latest ZIP file from the "downloads" page 2592 (currently <https://code.google.com/p/jing-trang/downloads/ 2593 detail?name=jing-20091111.zip>), extract the archive, copy "jing.jar" 2594 from the "bin" folder, and make sure Java is installed). 2596 To check a file "test.xml" using the RNC file "schema.rnc", run (from 2597 a command line prompt): 2599 java -jar jing.jar -c schema.rnc test.xml 2601 In good Unix tradition, no output means the file is valid. 2603 Index 2605 A 2606 abbrev attribute 2607 in organization element 21 2608 in title element 33 2609 abstract element 5, 49 2610 inside front 16 2611 address element 5, 49 2612 inside author 9 2613 align attribute 2614 in artwork element 7 2615 in figure element 14 2616 in texttable element 32 2617 in ttcol element 34 2618 alt attribute 2619 in artwork element 7 2620 in figure element 14 2621 anchor attribute 2622 in cref element 11 2623 in figure element 14 2624 in reference element 23 2625 in section element 28 2626 in t element 31 2627 in texttable element 32 2628 annotation element 5, 49 2629 inside reference 23 2630 application/rfc+xml Media Type 39 2631 area element 6, 49 2632 inside front 16 2633 artwork element 6, 49 2634 align attribute 7 2635 alt attribute 7 2636 height attribute 7 2637 inside figure 14 2638 name attribute 7 2639 src attribute 8 2640 type attribute 8 2641 width attribute 8 2642 xml:space attribute 8 2643 Attributes 2644 abbrev 21, 33 2645 align 7, 14, 32, 34 2646 alt 7, 14 2647 anchor 11, 14, 23, 28, 31-32 2648 blankLines 34 2649 category 25 2650 consensus 25 2651 counter 18 2652 day 12 2653 docName 25 2654 format 35 2655 fullname 9 2656 hangIndent 18 2657 hangText 31 2658 height 7, 15 2659 initials 9 2660 ipr 26 2661 iprExtract 26 2662 item 17 2663 month 12 2664 name 7, 29 2665 number 27 2666 obsoletes 27 2667 octets 16 2668 pageno 36 2669 primary 17 2670 role 9 2671 seriesNo 27 2672 source 12 2673 src 8, 15 2674 style 18, 30, 32 2675 subitem 17 2676 submissionType 27 2677 suppress-title 15, 33 2678 surname 10 2679 target 13, 16, 23, 37 2680 title 15, 20, 24, 28, 33 2681 toc 28 2682 type 8, 16 2683 updates 27 2684 value 29 2685 width 8, 15, 34 2686 xml:lang 28 2687 xml:space 8, 30 2688 year 13 2689 author element 9, 49 2690 fullname attribute 9 2691 initials attribute 9 2692 inside front 16 2693 role attribute 9 2694 surname attribute 10 2696 B 2697 back element 10, 49 2698 inside rfc 24 2699 blankLines attribute 2700 in vspace element 34 2702 C 2703 c element 10, 49 2704 inside texttable 32 2705 category attribute 2706 in rfc element 25 2707 city element 11, 49 2708 inside postal 21 2709 code element 11, 49 2710 inside postal 21 2711 consensus attribute 2712 in rfc element 25 2713 counter attribute 2714 in list element 18 2715 country element 11, 49 2716 inside postal 21 2717 cref element 11, 49 2718 anchor attribute 11 2719 inside annotation 6 2720 inside c 10 2721 inside postamble 22 2722 inside preamble 22 2723 inside t 31 2724 source attribute 12 2726 D 2727 date element 12, 49 2728 day attribute 12 2729 inside front 16 2730 month attribute 12 2731 year attribute 13 2732 day attribute 2733 in date element 12 2734 docName attribute 2735 in rfc element 25 2737 E 2738 Elements 2739 abstract 5, 16 2740 address 5, 9 2741 annotation 5, 23 2742 area 6, 16 2743 artwork 6, 14 2744 author 9, 16 2745 back 10, 24 2746 c 10, 32 2747 city 11, 21 2748 code 11, 21 2749 country 11, 21 2750 cref 6, 10-11, 22, 31 2751 date 12, 16 2752 email 5, 13 2753 eref 6, 10, 13, 22, 31 2754 facsimile 5, 13 2755 figure 14, 28, 31 2756 format 15, 23 2757 front 16, 23-24 2758 iref 6, 10, 14, 16, 22, 28, 31 2759 keyword 16-17 2760 list 18, 31 2761 middle 20, 24 2762 note 16, 20 2763 organization 9, 20 2764 phone 5, 21 2765 postal 5, 21 2766 postamble 14, 22, 32 2767 preamble 14, 22, 32 2768 reference 23-24 2769 references 10, 23 2770 region 21, 24 2771 rfc 24 2772 section 10, 20, 28 2773 seriesInfo 23, 29 2774 spanx 6, 10, 22, 29, 31 2775 street 21, 30 2776 t 5, 18, 20, 28, 30 2777 texttable 28, 31 2778 title 16, 33 2779 ttcol 32-33 2780 uri 5, 34 2781 vspace 31, 34 2782 workgroup 16, 35 2783 xref 5, 10, 22, 31, 35 2784 email element 13, 49 2785 inside address 5 2786 eref element 13, 49 2787 inside annotation 6 2788 inside c 10 2789 inside postamble 22 2790 inside preamble 22 2791 inside t 31 2792 target attribute 13 2794 F 2795 facsimile element 13, 49 2796 inside address 5 2797 figure element 14, 49 2798 align attribute 14 2799 alt attribute 14 2800 anchor attribute 14 2801 height attribute 15 2802 inside section 28 2803 inside t 31 2804 src attribute 15 2805 suppress-title attribute 15 2806 title attribute 15 2807 width attribute 15 2808 format attribute 2809 in xref element 35 2810 format element 15, 49 2811 inside reference 23 2812 octets attribute 16 2813 target attribute 16 2814 type attribute 16 2815 front element 16, 49 2816 inside reference 23 2817 inside rfc 24 2818 fullname attribute 2819 in author element 9 2821 H 2822 hangIndent attribute 2823 in list element 18 2824 hangText attribute 2825 in t element 31 2826 height attribute 2827 in artwork element 7 2828 in figure element 15 2830 I 2831 initials attribute 2832 in author element 9 2833 ipr attribute 2834 '*2026' 46 2835 '*3667' 46 2836 '*3978' 46 2837 '*trust200811' 46 2838 '*trust200902' 44 2839 'noDerivativesTrust200902' 45 2840 'noModificationTrust200902' 45 2841 'pre5378Trust200902' 45 2842 'trust200902' 45 2843 in rfc element 26 2844 iprExtract attribute 2845 in rfc element 26 2846 iref element 16, 49 2847 inside annotation 6 2848 inside c 10 2849 inside figure 14 2850 inside postamble 22 2851 inside preamble 22 2852 inside section 28 2853 inside t 31 2854 item attribute 17 2855 primary attribute 17 2856 subitem attribute 17 2857 item attribute 2858 in iref element 17 2860 K 2861 keyword element 17, 49 2862 inside front 16 2864 L 2865 list element 18, 49 2866 counter attribute 18 2867 hangIndent attribute 18 2868 inside t 31 2869 style attribute 18 2870 list styles 2871 empty 18 2872 format ... 19 2873 hanging 19 2874 letters 19 2875 numbers 19 2876 symbols 19 2878 M 2879 Media Type 2880 application/rfc+xml 39 2881 middle element 20, 49 2882 inside rfc 24 2883 month attribute 2884 in date element 12 2886 N 2887 name attribute 2888 in artwork element 7 2889 in seriesInfo element 29 2890 note element 20, 49 2891 inside front 16 2892 title attribute 20 2893 number attribute 2894 in rfc element 27 2896 O 2897 obsoletes attribute 2898 in rfc element 27 2899 octets attribute 2900 in format element 16 2901 organization element 20, 49 2902 abbrev attribute 21 2903 inside author 9 2905 P 2906 pageno attribute 2907 in xref element 36 2908 phone element 21, 49 2909 inside address 5 2910 postal element 21, 49 2911 inside address 5 2912 postamble element 22, 49 2913 inside figure 14 2914 inside texttable 32 2915 preamble element 22, 49 2916 inside figure 14 2917 inside texttable 32 2918 primary attribute 2919 in iref element 17 2921 R 2922 reference element 23, 49 2923 anchor attribute 23 2924 inside references 24 2925 target attribute 23 2926 references element 23, 49 2927 inside back 10 2928 title attribute 24 2929 region element 24, 49 2930 inside postal 21 2931 rfc element 24, 49 2932 category attribute 25 2933 consensus attribute 25 2934 docName attribute 25 2935 ipr attribute 26 2936 iprExtract attribute 26 2937 number attribute 27 2938 obsoletes attribute 27 2939 seriesNo attribute 27 2940 submissionType attribute 27 2941 updates attribute 27 2942 xml:lang attribute 28 2943 role attribute 2944 in author element 9 2946 S 2947 section element 28, 49 2948 anchor attribute 28 2949 inside back 10 2950 inside middle 20 2951 inside section 28 2952 title attribute 28 2953 toc attribute 28 2954 seriesInfo element 29, 49 2955 inside reference 23 2956 name attribute 29 2957 value attribute 29 2958 seriesNo attribute 2959 in rfc element 27 2960 source attribute 2961 in cref element 12 2962 spanx element 29, 49 2963 inside annotation 6 2964 inside c 10 2965 inside postamble 22 2966 inside preamble 22 2967 inside t 31 2968 style attribute 30 2969 xml:space attribute 30 2970 src attribute 2971 in artwork element 8 2972 in figure element 15 2973 street element 30, 49 2974 inside postal 21 2975 style attribute 2976 in list element 18 2977 in spanx element 30 2978 in texttable element 32 2979 subitem attribute 2980 in iref element 17 2981 submissionType attribute 2982 in rfc element 27 2983 suppress-title attribute 2984 in figure element 15 2985 in texttable element 33 2986 surname attribute 2987 in author element 10 2989 T 2990 t element 30, 49 2991 anchor attribute 31 2992 hangText attribute 31 2993 inside abstract 5 2994 inside list 18 2995 inside note 20 2996 inside section 28 2997 target attribute 2998 in eref element 13 2999 in format element 16 3000 in reference element 23 3001 in xref element 37 3002 texttable element 31, 49 3003 align attribute 32 3004 anchor attribute 32 3005 inside section 28 3006 style attribute 32 3007 suppress-title attribute 33 3008 title attribute 33 3009 title attribute 3010 in figure element 15 3011 in note element 20 3012 in references element 24 3013 in section element 28 3014 in texttable element 33 3015 title element 33, 49 3016 abbrev attribute 33 3017 inside front 16 3018 toc attribute 3019 in section element 28 3020 ttcol element 33, 49 3021 align attribute 34 3022 inside texttable 32 3023 width attribute 34 3024 type attribute 3025 in artwork element 8 3026 in format element 16 3028 U 3029 updates attribute 3030 in rfc element 27 3031 uri element 34, 49 3032 inside address 5 3034 V 3035 value attribute 3036 in seriesInfo element 29 3037 vspace element 34, 49 3038 blankLines attribute 34 3039 inside t 31 3041 W 3042 width attribute 3043 in artwork element 8 3044 in figure element 15 3045 in ttcol element 34 3046 workgroup element 35, 49 3047 inside front 16 3049 X 3050 xml:lang attribute 3051 in rfc element 28 3052 xml:space attribute 3053 in artwork element 8 3054 in spanx element 30 3055 xref element 35, 49 3056 format attribute 35 3057 inside annotation 5 3058 inside c 10 3059 inside postamble 22 3060 inside preamble 22 3061 inside t 31 3062 pageno attribute 36 3063 target attribute 37 3064 xref formats 3065 counter 36 3066 default 36 3067 none 36 3068 title 36 3070 Y 3071 year attribute 3072 in date element 13 3074 Author's Address 3076 Julian F. Reschke 3077 greenbytes GmbH 3078 Hafenweg 16 3079 Muenster, NW 48155 3080 Germany 3082 EMail: julian.reschke@greenbytes.de 3083 URI: http://greenbytes.de/tech/webdav/