idnits 2.17.1 draft-reschke-xml2rfc-09.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- -- The document has an IETF Trust Provisions (28 Dec 2009) Section 6.c(i) Publication Limitation clause. -- The document has an IETF Trust Provisions (28 Dec 2009) Section 6.c(ii) Publication Limitation clause. If this document is intended for submission to the IESG for publication, this constitutes an error. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 1 instance of lines with non-RFC2606-compliant FQDNs in the document. -- The draft header indicates that this document obsoletes RFC2629, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to contain a disclaimer for pre-RFC5378 work, but was first submitted on or after 10 November 2008. The disclaimer is usually necessary only for documents that revise or obsolete older RFCs, and that take significant amounts of text from those RFCs. If you can contact all authors of the source material and they are willing to grant the BCP78 rights to the IETF Trust, you can and should remove the disclaimer. Otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (June 22, 2014) is 3595 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 3023 (Obsoleted by RFC 7303) -- Obsolete informational reference (is this intentional?): RFC 5741 (Obsoleted by RFC 7841) Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Reschke 3 Internet-Draft greenbytes 4 Obsoletes: 2629 (if approved) June 22, 2014 5 Intended status: Informational 6 Expires: December 24, 2014 8 The 'XML2RFC' version 2 Vocabulary 9 draft-reschke-xml2rfc-09 11 Abstract 13 This document defines the 'XML2RFC' version 2 vocabulary; an XML- 14 based language used for writing RFCs and Internet-Drafts. 16 Editorial Note (To be removed by RFC Editor) 18 Discussion of this draft takes place on the XML2RFC mailing list 19 (xml2rfc@ietf.org), which has its home page at 20 . 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at http://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on December 24, 2014. 39 Copyright Notice 41 Copyright (c) 2014 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (http://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 54 1.1. Syntax Notation . . . . . . . . . . . . . . . . . . . . . 4 55 2. Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 56 2.1. . . . . . . . . . . . . . . . . . . . . . . . . 4 57 2.2.
. . . . . . . . . . . . . . . . . . . . . . . . 5 58 2.3. . . . . . . . . . . . . . . . . . . . . . . . 5 59 2.4. . . . . . . . . . . . . . . . . . . . . . . . . . . 6 60 2.5. . . . . . . . . . . . . . . . . . . . . . . . . 6 61 2.6. . . . . . . . . . . . . . . . . . . . . . . . . . 8 62 2.7. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 63 2.8. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 64 2.9. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 65 2.10. . . . . . . . . . . . . . . . . . . . . . . . . . . 11 66 2.11. . . . . . . . . . . . . . . . . . . . . . . . . 11 67 2.12. . . . . . . . . . . . . . . . . . . . . . . . . . . 11 68 2.13. . . . . . . . . . . . . . . . . . . . . . . . . . . 11 69 2.14. . . . . . . . . . . . . . . . . . . . . . . . . . 12 70 2.15. . . . . . . . . . . . . . . . . . . . . . . . . . . 13 71 2.16. . . . . . . . . . . . . . . . . . . . . . . . 13 72 2.17.
. . . . . . . . . . . . . . . . . . . . . . . . . 13 73 2.18. . . . . . . . . . . . . . . . . . . . . . . . . . 15 74 2.19. . . . . . . . . . . . . . . . . . . . . . . . . . 15 75 2.20. . . . . . . . . . . . . . . . . . . . . . . . . . . 16 76 2.21. . . . . . . . . . . . . . . . . . . . . . . . . 17 77 2.22. . . . . . . . . . . . . . . . . . . . . . . . . . . 17 78 2.23. . . . . . . . . . . . . . . . . . . . . . . . . . 19 79 2.24. . . . . . . . . . . . . . . . . . . . . . . . . . . 19 80 2.25. . . . . . . . . . . . . . . . . . . . . . . 20 81 2.26. . . . . . . . . . . . . . . . . . . . . . . . . . 20 82 2.27. . . . . . . . . . . . . . . . . . . . . . . . . . 20 83 2.28. . . . . . . . . . . . . . . . . . . . . . . . 21 84 2.29. . . . . . . . . . . . . . . . . . . . . . . . . 21 85 2.30. . . . . . . . . . . . . . . . . . . . . . . . 22 86 2.31. . . . . . . . . . . . . . . . . . . . . . . . 23 87 2.32. . . . . . . . . . . . . . . . . . . . . . . . . . 23 88 2.33. . . . . . . . . . . . . . . . . . . . . . . . . . . 23 89 2.34.
. . . . . . . . . . . . . . . . . . . . . . . . 27 90 2.35. . . . . . . . . . . . . . . . . . . . . . . . 28 91 2.36. . . . . . . . . . . . . . . . . . . . . . . . . . 28 92 2.37. . . . . . . . . . . . . . . . . . . . . . . . . . 29 93 2.38. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 94 2.39. . . . . . . . . . . . . . . . . . . . . . . . 30 95 2.40. . . . . . . . . . . . . . . . . . . . . . . . . . 32 96 2.41. <ttcol> . . . . . . . . . . . . . . . . . . . . . . . . . 32 97 2.42. <uri> . . . . . . . . . . . . . . . . . . . . . . . . . . 33 98 2.43. <vspace> . . . . . . . . . . . . . . . . . . . . . . . . . 33 99 2.44. <workgroup> . . . . . . . . . . . . . . . . . . . . . . . 34 100 2.45. <xref> . . . . . . . . . . . . . . . . . . . . . . . . . . 34 101 3. Escaping for Use in XML . . . . . . . . . . . . . . . . . . . 36 102 4. Special Unicode Code Points . . . . . . . . . . . . . . . . . 36 103 5. Including Files . . . . . . . . . . . . . . . . . . . . . . . 37 104 6. Internationalization Considerations . . . . . . . . . . . . . 38 105 7. Security Considerations . . . . . . . . . . . . . . . . . . . 38 106 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38 107 8.1. Internet Media Type Registration . . . . . . . . . . . . . 38 108 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 39 109 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 40 110 10.1. Normative References . . . . . . . . . . . . . . . . . . . 40 111 10.2. Informative References . . . . . . . . . . . . . . . . . . 40 112 Appendix A. Front Page Generation . . . . . . . . . . . . . . . . 42 113 A.1. The /rfc/@category Attribute . . . . . . . . . . . . . . . 42 114 A.2. The /rfc/@ipr Attribute . . . . . . . . . . . . . . . . . 43 115 A.2.1. Current Values: '*trust200902' . . . . . . . . . . . . 43 116 A.2.2. Historic Values . . . . . . . . . . . . . . . . . . . 45 117 Appendix B. Changes from RFC 2629 ('v1') . . . . . . . . . . . . 45 118 B.1. Removed Elements . . . . . . . . . . . . . . . . . . . . . 45 119 B.2. Changed Defaults . . . . . . . . . . . . . . . . . . . . . 46 120 B.3. Changed Elements . . . . . . . . . . . . . . . . . . . . . 46 121 B.4. New Elements . . . . . . . . . . . . . . . . . . . . . . . 47 122 Appendix C. Relax NG Schema . . . . . . . . . . . . . . . . . . . 47 123 C.1. Checking Validity . . . . . . . . . . . . . . . . . . . . 52 124 Appendix D. Proposed Future Changes for 'v3' . . . . . . . . . . 53 125 D.1. Contact Information . . . . . . . . . . . . . . . . . . . 53 126 D.2. Figures . . . . . . . . . . . . . . . . . . . . . . . . . 53 127 D.3. Linking . . . . . . . . . . . . . . . . . . . . . . . . . 54 128 D.4. Lists . . . . . . . . . . . . . . . . . . . . . . . . . . 54 129 D.5. References . . . . . . . . . . . . . . . . . . . . . . . . 54 130 D.6. Archival Considerations . . . . . . . . . . . . . . . . . 54 131 D.7. Document Metadata . . . . . . . . . . . . . . . . . . . . 55 132 D.8. Including Material . . . . . . . . . . . . . . . . . . . . 55 133 D.9. Misc. . . . . . . . . . . . . . . . . . . . . . . . . . . 55 134 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 136 1. Introduction 138 This document describes version 2 ('v2') of the 'XML2RFC' vocabulary; 139 an XML-based language ('Extensible Markup Language', [XML]) used for 140 writing RFCs ([RFCSTYLE]) and Internet-Drafts ([IDGUIDE]). 142 It obsoletes the original version ("v1") [RFC2629], which contained 143 the original language definition, and which was subsequently extended 144 ("v2", [V1rev]). Furthermore, it discusses potential extensions in a 145 future revision ("v3"). 147 Processing Instructions (Section 2.6 of [XML]) generally are specific 148 to a given processor, and thus are not considered to be part of the 149 vocabulary. See Section 4.1 of [TCLReadme] for a list of the 150 processing instructions supported by the first implementation of an 151 xml2rfc processor. 153 Note that the vocabulary contains certain constructs that might not 154 be used when generating the final text; however, they can provide 155 useful data for other uses (such index generation, populating a 156 keyword database, or syntax checks). 158 1.1. Syntax Notation 160 The XML vocabulary here is defined in prose, based on the Relax NG 161 schema ([RNC]) contained in Appendix C (specified in Relax NG Compact 162 Notation, "RNC"). 164 Note that the schema can be used for automated validity checks, but 165 certain constraints are only described in prose (example: the 166 conditionally required presence of the "abbrev" attribute). 168 2. Elements 170 The sections below describe all elements and their attributes. 172 Note that attributes not labeled "mandatory" are optional. 174 2.1. <abstract> 176 Contains the abstract of the document. The abstract ought to be 177 self-contained and thus should not contain references or unexpanded 178 abbreviations. See Section 4.3 of [RFCSTYLE] for more information. 180 This element appears as child element of: <front> (Section 2.19). 182 Content model: 184 One or more <t> elements (Section 2.38) 186 2.2. <address> 188 Provides address information for the author. 190 This element appears as child element of: <author> (Section 2.6). 192 Content model: 194 In this order: 196 1. One optional <postal> element (Section 2.27) 198 2. One optional <phone> element (Section 2.26) 200 3. One optional <facsimile> element (Section 2.16) 202 4. One optional <email> element (Section 2.14) 204 5. One optional <uri> element (Section 2.42) 206 2.3. <annotation> 208 Provides additional prose augmenting a bibliographical reference. 210 For instance: 212 <annotation> 213 Latest version available at <eref 214 target='http://www.w3.org/TR/xml'/>. 215 </annotation> 217 ...will generate the text used in the reference for [XML]. 219 This element appears as child element of: <reference> (Section 2.30). 221 Content model: 223 In any order: 225 o Text 227 o <xref> elements (Section 2.45) 229 o <eref> elements (Section 2.15) 230 o <iref> elements (Section 2.20) 232 o <cref> elements (Section 2.12) 234 o <spanx> elements (Section 2.36) 236 2.4. <area> 238 Provides information about the IETF area to which this document 239 relates (currently not used when generating documents). 241 The value ought to be either the fullname or the abbreviation of one 242 of the IETF areas as listed on <http://www.ietf.org/iesg/area.html>. 243 The list at the time that this document is being published is: 244 "Applications", "app", "General", "gen", "Internet", "int", 245 "Operations and Management", "ops", "Real-time Applications and 246 Infrastructure", "rai", "Routing", "rtg", "Security", "sec", 247 "Transport", "tsv". 249 This element appears as child element of: <front> (Section 2.19). 251 Content model: only text content. 253 2.5. <artwork> 255 This element allows the inclusion of "artwork" into the document. 257 <artwork> is the only element in the vocabulary that provides full 258 control of horizontal whitespace and line breaks, and thus is used 259 for a variety of things, such as: 261 o diagrams ("line art"), 263 o source code, 265 o formal languages (such as ABNF or the RNC notation used in this 266 document), 268 o complex tables, or 270 o protocol unit diagrams. 272 Alternatively, the "src" attribute allows referencing an external 273 graphics file, such as a bitmap or a vector drawing, using a URI. In 274 this case, the textual content acts as fallback for output formats 275 that do not support graphics, and thus ought to contain either a 276 "line art" variant of the graphics, or otherwise prose that describes 277 the included image in sufficient detail. Note that RFCs occasionally 278 are published with enhanced diagrams; a recent example is [RFC5598]. 280 This element appears as child element of: <figure> (Section 2.17). 282 Content model: 284 Text 286 2.5.1. 'align' attribute 288 Controls whether the artwork appears left (default), centered, or 289 right. 291 Allowed values: 293 o "left" (default) 295 o "center" 297 o "right" 299 2.5.2. 'alt' attribute 301 Alternative text description of the artwork (not just the caption). 303 2.5.3. 'height' attribute 305 The suggested height of the graphics included using the "src" 306 attribute. 308 This attribute is format-dependent and ought to be avoided. 310 When generating HTML output, current implementations copy the 311 attribute "as is". For other output formats it is usually ignored. 313 2.5.4. 'name' attribute 315 A filename suitable for the contents (such as for extraction to a 316 local file). 318 This attribute generally isn't used for document generation, but it 319 can be helpful for other kinds of tools (such as automated syntax 320 checkers which work by extracting the source code). 322 2.5.5. 'src' attribute 324 The URI of a graphics file. 326 Note that this can be a "data" URI ([RFC2397]) as well, in which case 327 the graphics file is wholly part of the XML file. 329 2.5.6. 'type' attribute 331 Specifies the type of the artwork. 333 The value either is a well-known keyword (such as "abnf"), or an 334 Internet Media Type (see [RFC2046]). 336 How it is used depends on context and application. For instance, a 337 formatter can attempt to syntax-highlight code in certain known 338 languages. 340 2.5.7. 'width' attribute 342 The suggested width of the graphics included using the "src" 343 attribute. 345 This attribute is format-dependent and ought to be avoided. 347 When generating HTML output, current implementations copy the 348 attribute "as is". For other output formats it is usually ignored. 350 2.5.8. 'xml:space' attribute 352 Determines whitespace handling. 354 "preserve" is both the default value and the only meaningful setting 355 anyway (because that's what the <artwork> element is for). 357 See also Section 2.10 of [XML]. 359 Allowed values: 361 o "default" 363 o "preserve" (default) 365 2.6. <author> 367 Provides information about a document's author. This is used both 368 for the document itself (at the beginning of the document) and for 369 referenced documents (inside of <reference>). 371 The <author> elements contained within the document's <front> element 372 are used to fill the boilerplate, and also to generate the "Author's 373 Address" section (see Section 4.12 of [RFCSTYLE]). 375 Note that an "author" can also be just an organization (by not 376 specifying any of the name attributes, but adding the <organization> 377 child element). 379 Furthermore, the "role" attribute can be used to mark an author as 380 "editor". This is reflected both on the front page and in 381 bibliographical references. Note that this specification does not 382 define a precise meaning for the term "editor". 384 See Section "Authors vs. Contributors" of [RFCPOLICY] for more 385 information. 387 This element appears as child element of: <front> (Section 2.19). 389 Content model: 391 In this order: 393 1. One optional <organization> element (Section 2.25) 395 2. One optional <address> element (Section 2.2) 397 2.6.1. 'fullname' attribute 399 The full name (used in the automatically generated "Author's Address" 400 section). 402 2.6.2. 'initials' attribute 404 Author initials (used on the front page and in references). 406 Initials should be provided as a whitespace separated list of pairs 407 of a letter and a dot. 409 2.6.3. 'role' attribute 411 Specifies the role the author had in creating the document. 413 Allowed values: 415 o "editor" 417 2.6.4. 'surname' attribute 419 The author's surname. 421 2.7. <back> 423 Contains the "back" part of the document: the references and 424 appendices. In <back>, <section> elements indicate appendices. 426 This element appears as child element of: <rfc> (Section 2.33). 428 Content model: 430 In this order: 432 1. Optional <references> elements (Section 2.31) 434 2. Optional <section> elements (Section 2.34) 436 2.8. <c> 438 Provides the content of a cell in a table. 440 This element appears as child element of: <texttable> (Section 2.39). 442 Content model: 444 In any order: 446 o Text 448 o <xref> elements (Section 2.45) 450 o <eref> elements (Section 2.15) 452 o <iref> elements (Section 2.20) 454 o <cref> elements (Section 2.12) 456 o <spanx> elements (Section 2.36) 458 2.9. <city> 460 Gives the city name in a postal address. 462 This element appears as child element of: <postal> (Section 2.27). 464 Content model: only text content. 466 2.10. <code> 468 Gives the postal region code. 470 This element appears as child element of: <postal> (Section 2.27). 472 Content model: only text content. 474 2.11. <country> 476 Gives the country in a postal address. 478 This element appears as child element of: <postal> (Section 2.27). 480 Content model: only text content. 482 2.12. <cref> 484 Represents a comment. 486 Comments can be used in a document while it is work-in-progress. 487 They usually appear either inline and visually highlighted, at the 488 end of the document (depending on file format and settings of the 489 formatter), or not at all (when generating an RFC). 491 This element appears as child element of: <annotation> (Section 2.3), 492 <c> (Section 2.8), <postamble> (Section 2.28), <preamble> 493 (Section 2.29), and <t> (Section 2.38). 495 Content model: only text content. 497 2.12.1. 'anchor' attribute 499 Document-wide unique identifier for this comment. The processor will 500 auto-generate an identifier when none is given. 502 The value needs to be a valid XML "Name" (Section 2.3 of [XML]), 503 additionally constrained to US-ASCII characters ([USASCII]). 505 2.12.2. 'source' attribute 507 Holds the "source" of a comment, such as the name or the initials of 508 the person who made the comment. 510 2.13. <date> 512 Provides information about the publication date. 514 Note that this element is used both for the boilerplate of the 515 document being produced, and also inside bibliographic references. 517 In the boilerplate case, it defines the publication date, which, when 518 producing Internet-Drafts, will be used for computing the expiration 519 date (see Section 8 of [IDGUIDE]). When one or more of "year", 520 "month", or "day" are left out, the processor will attempt to use the 521 current system date if the attributes that are present are consistent 522 with that date. 524 Note that in this case, month names need to match the full (English) 525 month name ("January", "February", "March", "April", "May, "June", 526 "July", "August", "September", "October", "November", or "December") 527 in order for expiration calculations to work (some implementations 528 might support additional formats, though). 530 In the case of bibliographic references, the date information can 531 have prose text for the month or year. For example, vague dates 532 (year="ca. 2000"), date ranges (year="2012-2013") non-specific months 533 (month="Second quarter") and so on, are allowed. 535 This element appears as child element of: <front> (Section 2.19). 537 Content model: this element does not have any contents. 539 2.13.1. 'day' attribute 541 Day of publication; this is a number. 543 2.13.2. 'month' attribute 545 Month of publication; this is the English name of the month. 547 2.13.3. 'year' attribute 549 Year of publication. 551 2.14. <email> 553 Provides an email address. 555 The value is expected to be the scheme-specific part of a "mailto" 556 URI (so does not include the prefix "mailto:"). See Section 2 of 557 [RFC6068] for details. 559 This element appears as child element of: <address> (Section 2.2). 561 Content model: only text content. 563 2.15. <eref> 565 Represents an "external" link (as specified in the "target" 566 attribute). 568 If the element has text content, that content will be used. 569 Otherwise, the value of the target attribute will be inserted in 570 angle brackets ([RFC3986], Appendix C). 572 This element appears as child element of: <annotation> (Section 2.3), 573 <c> (Section 2.8), <postamble> (Section 2.28), <preamble> 574 (Section 2.29), and <t> (Section 2.38). 576 Content model: only text content. 578 2.15.1. 'target' attribute (mandatory) 580 URI of the link target (see Section 3 of [RFC3986]). 582 2.16. <facsimile> 584 Represents the phone number of a fax machine. 586 The value is expected to be the scheme-specific part of a "tel" URI 587 (so does not include the prefix "tel:"), using the "global numbers" 588 syntax. See Section 3 of [RFC3966] for details. 590 This element appears as child element of: <address> (Section 2.2). 592 Content model: only text content. 594 2.17. <figure> 596 This element is used to represent a figure, consisting of an optional 597 preamble, the actual figure, an optional postamble, and an optional 598 title. 600 This element appears as child element of: <section> (Section 2.34), 601 and <t> (Section 2.38). 603 Content model: 605 In this order: 607 1. Optional <iref> elements (Section 2.20) 609 2. One optional <preamble> element (Section 2.29) 610 3. One <artwork> element (Section 2.5) 612 4. One optional <postamble> element (Section 2.28) 614 2.17.1. 'align' attribute 616 Used to change the alignment of <preamble> and <postamble>. 618 Note: does not affect title or <artwork> alignment. 620 Allowed values: 622 o "left" (default) 624 o "center" 626 o "right" 628 2.17.2. 'alt' attribute 630 Duplicates functionality available on <artwork>; avoid it. 632 2.17.3. 'anchor' attribute 634 Document-wide unique identifier for this figure. 636 Furthermore, the presence of this attribute causes the figure to be 637 numbered. 639 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 641 2.17.4. 'height' attribute 643 Duplicates functionality available on <artwork>; avoid it. 645 2.17.5. 'src' attribute 647 Duplicates functionality available on <artwork>; avoid it. 649 2.17.6. 'suppress-title' attribute 651 Figures that have an "anchor" attribute will automatically get an 652 autogenerated title (such as "Figure 1"), even if the "title" 653 attribute is absent. Setting this attribute to "true" will prevent 654 this. 656 Allowed values: 658 o "true" 660 o "false" (default) 662 2.17.7. 'title' attribute 664 The title for the figure; this usually appears on a line after the 665 figure. 667 2.17.8. 'width' attribute 669 Duplicates functionality available on <artwork>; avoid it. 671 2.18. <format> 673 Provides a link to an additional format variant for a reference. 675 Note that these additional links are neither used in published RFCs, 676 nor supported by all tools. If the goal is to provide a single URI 677 for a reference, the "target" attribute on <reference> can be used 678 instead. 680 This element appears as child element of: <reference> (Section 2.30). 682 Content model: this element does not have any contents. 684 2.18.1. 'octets' attribute 686 Octet length of linked-to document. 688 2.18.2. 'target' attribute 690 URI of document. 692 2.18.3. 'type' attribute (mandatory) 694 The type of the linked-to document, such as "TXT", "HTML", or "PDF". 696 2.19. <front> 698 Represent the "front matter": metadata (such as author information), 699 abstract, and additional notes. 701 This element appears as child element of: <reference> (Section 2.30), 702 and <rfc> (Section 2.33). 704 Content model: 706 In this order: 708 1. One <title> element (Section 2.40) 710 2. One or more <author> elements (Section 2.6) 712 3. One <date> element (Section 2.13) 714 4. Optional <area> elements (Section 2.4) 716 5. Optional <workgroup> elements (Section 2.44) 718 6. Optional <keyword> elements (Section 2.21) 720 7. One optional <abstract> element (Section 2.1) 722 8. Optional <note> elements (Section 2.24) 724 2.20. <iref> 726 Provides terms for the document's index. 728 Index entries can be either single items (when just the "item" 729 attribute is given) or nested items (by specifying "subitem" as 730 well). 732 For instance: 734 <iref item="Grammar" subitem="item"/> 736 will produce an index entry for "Grammar, item". 738 This element appears as child element of: <annotation> (Section 2.3), 739 <c> (Section 2.8), <figure> (Section 2.17), <postamble> 740 (Section 2.28), <preamble> (Section 2.29), <section> (Section 2.34), 741 and <t> (Section 2.38). 743 Content model: this element does not have any contents. 745 2.20.1. 'item' attribute (mandatory) 747 The item to include. 749 2.20.2. 'primary' attribute 751 Setting this to "true" declares the occurrence as "primary", which 752 might cause it to be highlighted in the index. 754 Allowed values: 756 o "true" 758 o "false" (default) 760 2.20.3. 'subitem' attribute 762 The subitem to include. 764 2.21. <keyword> 766 Specifies a keyword applicable to the document. 768 Note that each element should only contain a single keyword; for 769 multiple keywords, the element can simply be repeated. 771 Keywords are used both in the RFC Index and in the metadata of 772 generated documents. 774 This element appears as child element of: <front> (Section 2.19). 776 Content model: only text content. 778 2.22. <list> 780 Delineates a text list. 782 Each list item is represented by a <t> element. The vocabulary 783 currently does not directly support list items consisting of multiple 784 paragraphs; if this is needed, <vspace> (Section 2.43) can be used as 785 workaround. 787 This element appears as child element of: <t> (Section 2.38). 789 Content model: 791 One or more <t> elements (Section 2.38) 793 2.22.1. 'counter' attribute 795 This attribute holds a token that serves as an identifier for a 796 counter. The intended use is continuation of lists. 798 Note that this attribute functions only when the style attribute is 799 using the "format..." syntax (Section 2.22.3); otherwise, it is 800 ignored. 802 2.22.2. 'hangIndent' attribute 804 For list styles with potentially wide labels, this attribute can 805 override the default indentation level, measured in characters. 807 Note that it only affects style with variable-width labels 808 ("format..." and "hanging", see below), and it may not affect formats 809 in which the list item text appears _below_ the label. 811 2.22.3. 'style' attribute 813 This attribute is used to control the display of a list. 815 The value of this attribute is inherited by any nested lists that do 816 not have this attribute set. It may be set to: 818 "empty" 820 For unlabeled list items; it can also be used for indentation 821 purposes (this is the default value when there is an enclosing 822 list where the style is specified). 824 "hanging" 826 For lists where the items are labeled with a piece of text. 828 The label text is specified in the 'hangText' attribute of the <t> 829 element (Section 2.38.2). 831 "letters" 833 For ordered lists using letters as labels (lowercase letters 834 followed by a period; after "z", it rolls over to a two-letter 835 format). For nested lists, processors usually flip between 836 uppercase and lowercase. 838 "numbers" 840 For ordered lists using numbers as labels. 842 "symbols" 844 For unordered (bulleted) lists. 846 The style of the bullets is chosen automatically be the processor 847 (some implementations allow overriding the default using a 848 processing instruction). 850 And, finally: 852 "format ..." 854 For lists with customized labels, consisting of fixed text and an 855 item counter in various formats. 857 The value is a free-form text that allows counter values to be 858 inserted using a "percent-letter" format. For instance, "[REQ%d]" 859 generates labels of the form "[REQ1]", where "%d" inserts the item 860 number as decimal number. 862 The following formats are supported: 864 %c lowercase letters (a, b, c, etc.) 866 %C uppercase letters (A, B, C, etc.) 868 %d decimal numbers (1, 2, 3, etc.) 870 %i lowercase Roman numerals (i, ii, iii, etc.) 872 %I uppercase Roman numerals (I, II, III, etc.) 874 %% represents a percent sign 876 Other formats are reserved for future use. 878 2.23. <middle> 880 Represents the main content of the document. 882 This element appears as child element of: <rfc> (Section 2.33). 884 Content model: 886 One or more <section> elements (Section 2.34) 888 2.24. <note> 890 Creates an unnumbered section that appears after the abstract. 892 It is usually used for additional information to reviewers (working 893 group information, mailing list, ...), or for additional publication 894 information such as "IESG Notes". 896 This element appears as child element of: <front> (Section 2.19). 898 Content model: 900 One or more <t> elements (Section 2.38) 902 2.24.1. 'title' attribute (mandatory) 904 The title of the note. 906 2.25. <organization> 908 Specifies the affiliation of an author. 910 This information appears in both the "Author's Address" section and 911 on the front page (see [RFCSTYLE], Section 4.1.1 for more 912 information). If the value is long, an abbreviated variant can be 913 specified in the "abbrev" attribute. 915 This element appears as child element of: <author> (Section 2.6). 917 Content model: only text content. 919 2.25.1. 'abbrev' attribute 921 Abbreviated variant. 923 2.26. <phone> 925 Represents a phone number. 927 The value is expected to be the scheme-specific part of a "tel" URI 928 (so does not include the prefix "tel:"), using the "global numbers" 929 syntax. See Section 3 of [RFC3966] for details. 931 This element appears as child element of: <address> (Section 2.2). 933 Content model: only text content. 935 2.27. <postal> 937 Contains child elements providing postal information. 939 This element appears as child element of: <address> (Section 2.2). 941 Content model: 943 In this order: 945 1. One or more <street> elements (Section 2.37) 947 2. In any order: 949 * <city> elements (Section 2.9) 951 * <region> elements (Section 2.32) 953 * <code> elements (Section 2.10) 955 * <country> elements (Section 2.11) 957 2.28. <postamble> 959 Gives text that appears at the bottom of a figure or table. 961 This element appears as child element of: <figure> (Section 2.17), 962 and <texttable> (Section 2.39). 964 Content model: 966 In any order: 968 o Text 970 o <xref> elements (Section 2.45) 972 o <eref> elements (Section 2.15) 974 o <iref> elements (Section 2.20) 976 o <cref> elements (Section 2.12) 978 o <spanx> elements (Section 2.36) 980 2.29. <preamble> 982 Gives text that appears at the top of a figure or table. 984 This element appears as child element of: <figure> (Section 2.17), 985 and <texttable> (Section 2.39). 987 Content model: 989 In any order: 991 o Text 992 o <xref> elements (Section 2.45) 994 o <eref> elements (Section 2.15) 996 o <iref> elements (Section 2.20) 998 o <cref> elements (Section 2.12) 1000 o <spanx> elements (Section 2.36) 1002 2.30. <reference> 1004 Represents a bibliographical reference. 1006 This element appears as child element of: <references> 1007 (Section 2.31). 1009 Content model: 1011 In this order: 1013 1. One <front> element (Section 2.19) 1015 2. Optional <seriesInfo> elements (Section 2.35) 1017 3. Optional <format> elements (Section 2.18) 1019 4. Optional <annotation> elements (Section 2.3) 1021 2.30.1. 'anchor' attribute (mandatory) 1023 Document-wide unique identifier for this reference. Usually, this 1024 will be used both to "label" the reference in the references section, 1025 and as an identifier in links to this reference entry. 1027 The value needs to be a valid XML "Name" (Section 2.3 of [XML]), 1028 additionally constrained to US-ASCII characters ([USASCII]). 1030 2.30.2. 'target' attribute 1032 Holds the URI for the reference. 1034 Note that depending on the <seriesInfo> element, a URI might not be 1035 needed, nor desirable, as it can be automatically generated (for 1036 instance, for RFCs). 1038 2.31. <references> 1040 Contains a set of bibliographical references. 1042 In the early days of the RFC series, there was only one "References" 1043 section per RFC. This convention was later changed to group 1044 references into two sets, "Normative" and "Informative" as described 1045 in Section 4.8.6 of [RFCSTYLE]). This vocabulary supports the split 1046 with the "title" attribute. 1048 This element appears as child element of: <back> (Section 2.7). 1050 Content model: 1052 One or more <reference> elements (Section 2.30) 1054 2.31.1. 'title' attribute 1056 Provides the title for the References section (defaulting to 1057 "References"). 1059 In general, the title should be either "Normative References" or 1060 "Informative References". 1062 2.32. <region> 1064 Provides the region name in a postal address. 1066 This element appears as child element of: <postal> (Section 2.27). 1068 Content model: only text content. 1070 2.33. <rfc> 1072 This is the root element of the xml2rfc vocabulary. 1074 Processors distinguish between RFC mode ("number" attribute being 1075 present) and Internet-Draft mode ("docName" attribute being present): 1076 it is invalid to specify both. Setting neither "number" nor 1077 "docName" can be useful for producing other types of document but is 1078 out-of-scope for this specification. 1080 Content model: 1082 In this order: 1084 1. One <front> element (Section 2.19) 1085 2. One <middle> element (Section 2.23) 1087 3. One optional <back> element (Section 2.7) 1089 2.33.1. 'category' attribute 1091 Document category (see Appendix A.1). 1093 Allowed values: 1095 o "std" 1097 o "bcp" 1099 o "info" 1101 o "exp" 1103 o "historic" 1105 2.33.2. 'consensus' attribute 1107 Affects the generated boilerplate. 1109 See [RFC5741] for more information. 1111 Allowed values: 1113 o "no" 1115 o "yes" 1117 2.33.3. 'docName' attribute 1119 For Internet-Drafts, this specifies the draft name (which appears 1120 below the title). 1122 A processor should give an error if both the "docName" and "number" 1123 attributes are given in the <rfc> element. 1125 Note that the file extension is not part of the draft, so in general 1126 it should end with the current draft number ("-", plus two digits). 1128 Furthermore, it is good practice to disambiguate current editor 1129 copies from submitted drafts (for instance, by replacing the draft 1130 number with the string "latest"). 1132 See Section 7 of [IDGUIDE] for further information. 1134 2.33.4. 'ipr' attribute 1136 Represents the Intellectual Property status of the document. See 1137 Appendix A.2 for details. 1139 Allowed values: 1141 o "full2026" 1143 o "noDerivativeWorks2026" 1145 o "none" 1147 o "full3667" 1149 o "noModification3667" 1151 o "noDerivatives3667" 1153 o "full3978" 1155 o "noModification3978" 1157 o "noDerivatives3978" 1159 o "trust200811" 1161 o "noModificationTrust200811" 1163 o "noDerivativesTrust200811" 1165 o "trust200902" 1167 o "noModificationTrust200902" 1169 o "noDerivativesTrust200902" 1171 o "pre5378Trust200902" 1173 2.33.5. 'iprExtract' attribute 1175 Identifies a single section within the document (by its 'anchor' 1176 attribute) for which extraction "as-is" is explicitly allowed (this 1177 is only relevant for historic values of the "ipr" attribute). 1179 2.33.6. 'number' attribute 1181 The number of the RFC to be produced. 1183 A processor should give an error if both the "docName" and "number" 1184 attributes are given in the <rfc> element. 1186 2.33.7. 'obsoletes' attribute 1188 A comma-separated list of RFC _numbers_ or Internet-Draft names. 1190 Processors ought to parse the attribute value, so that incorrect 1191 references can be detected and, depending on output format, 1192 hyperlinks can be generated. Also, the value ought to be reformatted 1193 to insert whitespace after each comma if not already present. 1195 2.33.8. 'seriesNo' attribute 1197 When producing a document within document series (such as "STD"): the 1198 number within that series. 1200 2.33.9. 'submissionType' attribute 1202 The document stream. 1204 See Section 2 of [RFC5741] for details. 1206 Allowed values: 1208 o "IETF" (default) 1210 o "IAB" 1212 o "IRTF" 1214 o "independent" 1216 2.33.10. 'updates' attribute 1218 A comma-separated list of RFC _numbers_ or Internet-Draft names. 1220 Processors ought to parse the attribute value, so that incorrect 1221 references can be detected and, depending on output format, 1222 hyperlinks can be generated. Also, the value ought to be reformatted 1223 to insert whitespace after each comma if not already present. 1225 2.33.11. 'xml:lang' attribute 1227 The natural language used in the document (defaults to "en"). 1229 See Section 2.12 of [XML] for more information. 1231 2.34. <section> 1233 Represents a section (when inside a <middle> element) or an appendix 1234 (when inside a <back> element). 1236 Sub-sections are created by nesting <section> elements inside 1237 <section> elements. 1239 This element appears as child element of: <back> (Section 2.7), 1240 <middle> (Section 2.23), and <section> (Section 2.34). 1242 Content model: 1244 In this order: 1246 1. In any order: 1248 * <t> elements (Section 2.38) 1250 * <figure> elements (Section 2.17) 1252 * <texttable> elements (Section 2.39) 1254 * <iref> elements (Section 2.20) 1256 2. Optional <section> elements (Section 2.34) 1258 2.34.1. 'anchor' attribute 1260 Document-wide unique identifier for this section. 1262 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 1264 2.34.2. 'title' attribute (mandatory) 1266 The title of the section. 1268 2.34.3. 'toc' attribute 1270 Determines whether the section is included in the Table Of Contents. 1272 The processor usually has defaults for whether a Table Of Contents 1273 will be produced at all, and sections of which maximal depth will be 1274 included (frequently: 3). "include" and "exclude" allow overriding 1275 the processor's default behavior for the element they are specified 1276 on (they do not affect nested elements). 1278 Allowed values: 1280 o "include" 1282 o "exclude" 1284 o "default" (default) 1286 2.35. <seriesInfo> 1288 Specifies the document series in which this document appears, and 1289 also specifies an identifier within that series. 1291 This element appears as child element of: <reference> (Section 2.30). 1293 Content model: this element does not have any contents. 1295 2.35.1. 'name' attribute (mandatory) 1297 The name of the series. 1299 The following names trigger specific processing (such as for auto- 1300 generating links, and adding descriptions such as "work in 1301 progress"): "BCP", "FYI", "Internet-Draft", "RFC", and "STD". 1303 2.35.2. 'value' attribute (mandatory) 1305 The identifier within the series specified by the "name" attribute. 1307 For BCPs, FYIs, RFCs, and STDs this is the number within the series. 1308 For Internet-Drafts, it is the full draft name (ending with the two- 1309 digit version number). 1311 2.36. <spanx> 1313 Wraps a piece of text, indicating special formatting styles. 1315 When generating plain text, processors usually emulate font changes 1316 using characters such as "*" and "_". 1318 The following styles are defined: 1320 emph Simple emphasis (this is the default). 1322 strong Strong emphasis. 1324 verb "Verbatim" text (usually displayed using a monospaced font 1325 face). 1327 This element appears as child element of: <annotation> (Section 2.3), 1328 <c> (Section 2.8), <postamble> (Section 2.28), <preamble> 1329 (Section 2.29), and <t> (Section 2.38). 1331 Content model: only text content. 1333 2.36.1. 'style' attribute 1335 The style to be used (defaults to "emph"). 1337 2.36.2. 'xml:space' attribute 1339 Determines whitespace handling. 1341 According to the DTD, the default value is "preserve". Tests however 1342 show that it doesn't have any effect on processing; thus this 1343 attribute will be removed in future versions of the vocabulary. 1345 See also Section 2.10 of [XML]. 1347 Allowed values: 1349 o "default" 1351 o "preserve" (default) 1353 2.37. <street> 1355 Provides a street address. 1357 This element appears as child element of: <postal> (Section 2.27). 1359 Content model: only text content. 1361 2.38. <t> 1363 Contains a paragraph of text. 1365 This element appears as child element of: <abstract> (Section 2.1), 1366 <list> (Section 2.22), <note> (Section 2.24), and <section> 1367 (Section 2.34). 1369 Content model: 1371 In any order: 1373 o Text 1375 o <list> elements (Section 2.22) 1377 o <figure> elements (Section 2.17) 1379 o <xref> elements (Section 2.45) 1381 o <eref> elements (Section 2.15) 1383 o <iref> elements (Section 2.20) 1385 o <cref> elements (Section 2.12) 1387 o <spanx> elements (Section 2.36) 1389 o <vspace> elements (Section 2.43) 1391 2.38.1. 'anchor' attribute 1393 Document-wide unique identifier for this paragraph. 1395 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 1397 2.38.2. 'hangText' attribute 1399 Holds the label ("hanging text") for items in lists using the 1400 "hanging" style (see Section 2.22.3). 1402 2.39. <texttable> 1404 Contains a table, consisting of an optional preamble, a header line, 1405 rows, an optional postamble, and an optional title. 1407 The number of columns in the table is determined by the number of 1408 <ttcol> elements. The number of rows in the table is determined by 1409 the number of <c> elements divided by the number of columns. There 1410 is no requirement that the number of <c> elements be evenly divisible 1411 by the number of columns. 1413 This element appears as child element of: <section> (Section 2.34). 1415 Content model: 1417 In this order: 1419 1. One optional <preamble> element (Section 2.29) 1421 2. One or more <ttcol> elements (Section 2.41) 1423 3. Optional <c> elements (Section 2.8) 1425 4. One optional <postamble> element (Section 2.28) 1427 2.39.1. 'align' attribute 1429 Determines the horizontal alignment of the table. 1431 Allowed values: 1433 o "left" 1435 o "center" (default) 1437 o "right" 1439 2.39.2. 'anchor' attribute 1441 Document-wide unique identifier for this table. 1443 Furthermore, the presence of this attribute causes the table to be 1444 numbered. 1446 The value needs to be a valid XML "Name" (Section 2.3 of [XML]). 1448 2.39.3. 'style' attribute 1450 Selects which borders should be drawn, where 1452 o "all" means borders around all table cells, 1454 o "full" is like "all" except no horizontal lines between table rows 1455 (except below the column titles), 1457 o "headers" adds just a separator between column titles and rows, 1458 and 1460 o "none" means no borders at all. 1462 Allowed values: 1464 o "all" 1466 o "none" 1468 o "headers" 1470 o "full" (default) 1472 2.39.4. 'suppress-title' attribute 1474 Tables that have an "anchor" attribute will automatically get an 1475 autogenerated title (such as "Table 1"), even if the "title" 1476 attribute is absent. Setting this attribute to "true" will prevent 1477 this. 1479 Allowed values: 1481 o "true" 1483 o "false" (default) 1485 2.39.5. 'title' attribute 1487 The title for the table; this usually appears on a line below the 1488 table body. 1490 2.40. <title> 1492 Represents the document title. 1494 When this element appears in the <front> element of the current 1495 document, the title might also appear in page headers or footers. If 1496 it's long (~40 characters), the "abbrev" attribute is used to specify 1497 an abbreviated variant. 1499 This element appears as child element of: <front> (Section 2.19). 1501 Content model: only text content. 1503 2.40.1. 'abbrev' attribute 1505 Specifies an abbreviated variant of the document title. 1507 2.41. <ttcol> 1509 Contains a column heading in a table. 1511 This element appears as child element of: <texttable> (Section 2.39). 1513 Content model: only text content. 1515 2.41.1. 'align' attribute 1517 Determines the horizontal alignment within the table column. 1519 Allowed values: 1521 o "left" (default) 1523 o "center" 1525 o "right" 1527 2.41.2. 'width' attribute 1529 The desired column width (as integer 0..100 followed by "%"). 1531 2.42. <uri> 1533 Contains a web address associated with the author. 1535 The contents should be a valid URI (see Section 3 of [RFC3986]). 1537 This element appears as child element of: <address> (Section 2.2). 1539 Content model: only text content. 1541 2.43. <vspace> 1543 This element can be used to force the inclusion of a single line 1544 break or multiple blank lines. 1546 Note that this is a purely presentational element and thus its use 1547 ought to be avoided. 1549 This element appears as child element of: <t> (Section 2.38). 1551 Content model: this element does not have any contents. 1553 2.43.1. 'blankLines' attribute 1555 Number of blank lines to be inserted, where "0" indicates a single 1556 line break (defaults to "0"). 1558 For paged output formats, no additional blank lines should be 1559 generated after a page break. 1561 2.44. <workgroup> 1563 This element is used to specify the Working Group (IETF) or Research 1564 Group (IRTF) from which the document originates, if any. The 1565 recommended format is the official name of the Working Group (with 1566 some capitalization). 1568 In Internet-Drafts, this is used in the upper left corner of the 1569 boilerplate, replacing the "Network Working Group" string. 1570 Formatting software can append the words "Working Group" or "Research 1571 Group", depending on the "submissionType" property on the <rfc> 1572 element (Section 2.33.9). 1574 This element appears as child element of: <front> (Section 2.19). 1576 Content model: only text content. 1578 2.45. <xref> 1580 Inserts a reference to a different part of a document. 1582 The generated text depends on whether the <xref> is empty (in which 1583 case the processor will try to generate a meaningful text fragment), 1584 and the nature of the referenced document part. 1586 Any element that allows the "anchor" attribute can be referenced, 1587 however there are restrictions with respect to the text content being 1588 generated. For instance, a <t> can be a reference target, however, 1589 because paragraphs are not (visibly) numbered, the author will have 1590 to make sure that the prose is sufficient for a reader to understand 1591 what is being referred to. 1593 [[anchor2: This needs to be expanded with examples and with a 1594 discussion how the autogenerated text differs when <xref> is not 1595 empty]] 1597 This element appears as child element of: <annotation> (Section 2.3), 1598 <c> (Section 2.8), <postamble> (Section 2.28), <preamble> 1599 (Section 2.29), and <t> (Section 2.38). 1601 Content model: only text content. 1603 2.45.1. 'format' attribute 1605 This attribute is used to control the format of the generated 1606 reference text. 1608 "counter" 1609 Inserts a counter, such as the number of a section, figure, or 1610 table. 1612 "default" 1614 Inserts a text fragment that describes the referenced part 1615 completely, such as "Section 2", "Table 4", or "[XML]". 1617 "none" 1619 There will be no auto-generated text. 1621 "title" 1623 Inserts a title for the referenced element (usually obtained from 1624 the referenced element's "title" attribute; some processors also 1625 use the <title> child element or a <reference> target). 1627 Allowed values: 1629 o "counter" 1631 o "title" 1633 o "none" 1635 o "default" (default) 1637 2.45.2. 'pageno' attribute 1639 Unused. 1641 It's unclear what the purpose of this attribute is; processors seem 1642 to ignore it and it never was documented. 1644 Allowed values: 1646 o "true" 1648 o "false" (default) 1650 2.45.3. 'target' attribute (mandatory) 1652 Identifies the document component being referenced. 1654 The value needs to match the value of the "anchor" attribute of 1655 another element in the document. 1657 3. Escaping for Use in XML 1659 Text in XML cannot use the literal characters "<" and "&", as they 1660 have special meaning to the XML processor (starting entities, 1661 elements, etc.). Usually, these characters will need to be 1662 substituted by "<" and "&" (see Section 4.6 of [XML]). 1664 ">" does not require escaping, unless it appears in the sequence 1665 "]]>" (which indicates the end of a CDATA section, see below). 1667 Escaping the indivual characters can be a lot of work (when done 1668 manually), and also messes up alignment in artwork. Another approach 1669 to escaping is to use CDATA sections ([XML], Section 2.7). Within 1670 these, no further escaping is needed, except when the "end-of-CDATA" 1671 marker needs to be used (in that case, the CDATA section needs to be 1672 closed, and a new one needs to be started). 1674 4. Special Unicode Code Points 1676 Although the current RFC format does not allow non-ASCII Unicode 1677 characters ([UNICODE]), some of them can be used to enforce certain 1678 behaviors of formatters. 1680 For instance: 1682 non-breaking space (U+00A0) 1684 Represents a space character where no line break should happen. 1685 This is frequenly used in titles (by excluding certain space 1686 characters from the line breaking algorithm, the processor will 1687 use the remaining whitespace ocurrences for line breaks). 1689 non-breaking hyphen (U+2011) 1691 Similarly, this represents a hyphen character where nevertheless 1692 no line breaking ought to occur. 1694 word joiner (U+2060) 1696 Also called "zero width non-breaking space" -- can be used to 1697 disallow line breaking between two non-whitespace characters. 1699 Note that in order to use these characters by name, they need to be 1700 declared either in the Document Type Definition (DTD, [XML], Section 1701 2.9), or in the "internal subset" ([XML], Section 2.8), like this: 1703 <?xml version="1.0"?> 1705 <!DOCTYPE rfc [ 1707 <!-- declare nbsp and friends --> 1708 <!ENTITY nbsp " "> 1709 <!ENTITY nbhy "‑"> 1710 <!ENTITY wj "⁠"> 1711 ]> 1713 5. Including Files 1715 This version of the vocabulary does not support an inclusion 1716 mechanism on its own -- thus, a document always needs to be self- 1717 contained. 1719 That being said, some processors do support file inclusion using 1720 processing instructions (Section 2.6 of [XML] and Section 4.1.2 of 1721 [TCLReadme]). 1723 Furthermore, XML itself allows inclusion of external content using 1724 the "internal subset" (Section 2.8 of [XML]). Unfortunately, this 1725 requires declaring the external data in the DTD upfront. 1727 For instance: 1729 <?xml version="1.0"?> 1731 <!DOCTYPE rfc [ 1733 <!-- allow later RFC2616 reference using "&rfc2616;" --> 1734 <!-- the data will be fetched from xml.resource.org --> 1735 <!ENTITY rfc2616 PUBLIC 1736 "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml"> 1737 ]> 1739 ...declares the entity "rfc2616", which then can be used in the 1740 "references" section: 1742 <references> 1743 &rfc2616; 1744 </references> 1746 Note that this mechanism only works for well-formed XML fragments; 1747 thus any plain text that would need to be escaped in XML can't be 1748 included as-is. 1750 6. Internationalization Considerations 1752 This format is based on [XML], thus does not have any issues 1753 representing arbitrary Unicode [UNICODE] characters in text content. 1755 However, the current canonical RFC format is restricted to US-ASCII 1756 characters ([USASCII] and Section 3 of [RFC2223]). Future versions 1757 are likely to relax this rule, and it is expected that the vocabulary 1758 will be extended so that US-ASCII alternatives can be provided when 1759 that makes sense (for instance, in contact information). 1761 7. Security Considerations 1763 The "name" attribute on the <artwork> element (Section 2.5.4) can be 1764 used to derive a filename for saving to a local file system. 1765 Trusting this kind of information without pre-processing is a known 1766 security risk; see Section 4.3 of [RFC6266] for more information. 1768 Furthermore, the nature of XML, plus vocabulary features such as 1769 typed artwork, make it attractive to extract content from documents 1770 for further processing, such for the purpose of checking syntax, or 1771 computing/verifying examples. In the latter case, care needs to be 1772 taken that only trusted content is processed. 1774 All security considerations related to XML processing are relevant as 1775 well (see Section 7 of [RFC3470]). 1777 8. IANA Considerations 1779 8.1. Internet Media Type Registration 1781 IANA maintains the registry of Internet media types [BCP13] at 1782 <http://www.iana.org/assignments/media-types>. 1784 This document serves as the specification for the Internet media type 1785 "application/rfc+xml". The following is to be registered with IANA. 1787 Type name: application 1789 Subtype name: rfc+xml 1791 Required parameters: There are no required parameters. 1793 Optional parameters: "charset": This parameter has identical 1794 semantics as the charset parameter of the "application/xml" media 1795 type specified in [RFC3023]. 1797 Encoding considerations: Identical to those of "application/xml" as 1798 described in Section 3.2 of [RFC3023]. 1800 Security considerations: As defined in Section 7. In addition, as 1801 this media type uses the "+xml" convention, it inherits the 1802 security considerations described in Section 10 of [RFC3023]. 1804 Interoperability considerations: N/A 1806 Published specification: This specification. 1808 Applications that use this media type: Applications that transform 1809 xml2rfc to output formats such as plain text or HTML, plus 1810 additional analysis tools. 1812 Fragment identifier considerations: The "anchor" attribute is used 1813 for assigning document-wide unique identifiers that can be used as 1814 shorthand pointers, as described in Section 2.8 of [XPOINTER]. 1816 Additional information: 1818 Deprecated alias names for this type: None. 1820 Magic number(s): As specified for "application/xml" in Section 1821 3.2 of [RFC3023]. 1823 File extension(s): .xml or .rfcxml when disambiguation from other 1824 XML files is needed 1826 Macintosh file type code(s): TEXT 1828 Person & email address to contact for further information: See 1829 Authors Section. 1831 Intended usage: COMMON 1833 Restrictions on usage: N/A 1835 Author: See Authors Section. 1837 Change controller: RFC Series Editor (rse@rfc-editor.org) 1839 9. Acknowledgments 1841 Thanks to everybody who reviewed this document and provided feedback 1842 and/or specification text, in particular Brian Carpenter, Tony 1843 Hansen, Paul Hoffman, Henrik Levkowetz, Alice Russo, Tom Taylor, Jim 1844 Schaad, and Nico Williams. 1846 We also thank Marshall T. Rose for both the original design and the 1847 reference implementation of the "xml2rfc" formatter. 1849 10. References 1851 10.1. Normative References 1853 [XML] Maler, E., Yergeau, F., Paoli, J., Sperberg-McQueen, M., 1854 and T. Bray, "Extensible Markup Language (XML) 1.0 1855 (Fifth Edition)", W3C Recommendation REC-xml-20081126, 1856 November 2008, 1857 <http://www.w3.org/TR/2008/REC-xml-20081126/>. 1859 Latest version available at <http://www.w3.org/TR/xml>. 1861 10.2. Informative References 1863 [BCP13] Freed, N., Klensin, J., and T. Hansen, "Media Type 1864 Specifications and Registration Procedures", BCP 13, 1865 RFC 6838, January 2013. 1867 [IDGUIDE] Housley, R., "Guidelines to Authors of Internet-Drafts", 1868 December 2010, 1869 <http://www.ietf.org/id-info/guidelines.html>. 1871 [JING] Thai Open Source Software Center Ltd, "Jing - A RELAX NG 1872 validator in Java", 2008, 1873 <http://www.thaiopensource.com/relaxng/jing.html>. 1875 Downloads: 1876 <https://code.google.com/p/jing-trang/downloads/list>. 1878 [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 1879 3", BCP 9, RFC 2026, October 1996. 1881 [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 1882 Extensions (MIME) Part Two: Media Types", RFC 2046, 1883 November 1996. 1885 [RFC2223] Postel, J. and J. Reynolds, "Instructions to RFC 1886 Authors", RFC 2223, October 1997. 1888 [RFC2397] Masinter, L., "The "data" URL scheme", RFC 2397, 1889 August 1998. 1891 [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, 1892 June 1999. 1894 [RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media 1895 Types", RFC 3023, January 2001. 1897 [RFC3470] Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines 1898 for the Use of Extensible Markup Language (XML) within 1899 IETF Protocols", BCP 70, RFC 3470, January 2003. 1901 [RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", 1902 RFC 3966, December 2004. 1904 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 1905 Resource Identifier (URI): Generic Syntax", STD 66, 1906 RFC 3986, January 2005. 1908 [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, 1909 July 2009. 1911 PDF version: <http://www.rfc-editor.org/rfc/rfc5598.pdf> 1913 [RFC5741] Daigle, L. and O. Kolkman, "RFC Streams, Headers, and 1914 Boilerplates", RFC 5741, December 2009. 1916 [RFC6068] Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto' 1917 URI Scheme", RFC 6068, October 2010. 1919 [RFC6266] Reschke, J., "Use of the Content-Disposition Header 1920 Field in the Hypertext Transfer Protocol (HTTP)", 1921 RFC 6266, June 2011. 1923 [RFCPOLICY] RFC Editor, "RFC Editorial Guidelines and Procedures", 1924 February 2012, <http://www.rfc-editor.org/policy.html>. 1926 [RFCSTYLE] Heather, H. and S. Ginoza, "RFC Style Guide", 1927 draft-iab-styleguide-02 (work in progress), April 2014. 1929 [RNC] Clark, J., "RELAX NG Compact Syntax", OASIS , 1930 November 2002, <http://www.oasis-open.org/committees/ 1931 relax-ng/compact-20021121.html>. 1933 [TCLReadme] Rose, M., Fenner, B., and C. Levert, "xml2rfc 1934 v1.35pre1", October 2009, <http://svn.tools.ietf.org/ 1935 svn/tools/xml2rfc/archive/README.html>. 1937 [TLP2.0] IETF Trust, "Legal Provisions Relating to IETF 1938 Documents", February 2009, 1939 <http://trustee.ietf.org/license-info/IETF-TLP-2.htm>. 1941 [TLP3.0] IETF Trust, "Legal Provisions Relating to IETF 1942 Documents", September 2009, 1943 <http://trustee.ietf.org/license-info/IETF-TLP-3.htm>. 1945 [TLP4.0] IETF Trust, "Legal Provisions Relating to IETF 1946 Documents", December 2009, 1947 <http://trustee.ietf.org/license-info/IETF-TLP-4.htm>. 1949 [UNICODE] The Unicode Consortium, "The Unicode Standard, Version 1950 6.3.0", September 2013, 1951 <http://www.unicode.org/versions/Unicode6.3.0/>. 1953 [USASCII] American National Standards Institute, "Coded Character 1954 Set -- 7-bit American Standard Code for Information 1955 Interchange", ANSI X3.4, 1986. 1957 [V1rev] Rose, M., "Writing I-Ds and RFCs using XML (revised)", 1958 February 2008, <http://svn.tools.ietf.org/svn/tools/ 1959 xml2rfc/archive/draft-mrose-writing-rfcs.html>. 1961 [XINCLUDE] Marsh, J., Orchard, D., and D. Veillard, "XML Inclusions 1962 (XInclude) Version 1.0 (Second Edition)", W3C 1963 Recommendation REC-xinclude-20061115, November 2006, 1964 <http://www.w3.org/TR/2006/REC-xinclude-20061115/>. 1966 Latest version available at 1967 <http://www.w3.org/TR/xinclude/>. 1969 [XPOINTER] Grosso, P., Maler, E., Marsh, J., and N. Walsh, 1970 "XPointer Framework", W3C Recommendation REC-xptr- 1971 framework-20030325, March 2003, 1972 <http://www.w3.org/TR/2003/ 1973 REC-xptr-framework-20030325/>. 1975 Latest version available at 1976 <http://www.w3.org/TR/xptr-framework/>. 1978 Appendix A. Front Page Generation 1980 A.1. The /rfc/@category Attribute 1982 For RFCs, the "category" determines the "maturity level" (see Section 1983 4 of [RFC2026]). The allowed values are "std" for "Standards Track", 1984 "bcp" for "BCP", "info" for "Informational", "exp" for 1985 "Experimental", and "historic" for "Historic". 1987 For Internet-Drafts, the category attribute is not needed, but will 1988 appear on the front page as "Intended Status". Supplying this 1989 information can be useful to reviewers. 1991 A.2. The /rfc/@ipr Attribute 1993 This attribute value can take a long list of values, each of which 1994 describes an IPR policy for the document. This attribute's values 1995 are not the result of a grand plan, but remain simply for historic 1996 reasons. Of these values, only a few are currently in use; all 1997 others are supported by the various tools for backwards compatibility 1998 with old source files. 2000 Note: some variations of the boilerplate are selected based on the 2001 document's date; therefore it is important to specify the "year", 2002 "month" and "day" attributes of the "<date>" element when 2003 archiving the XML source of an Internet-Draft on the day of 2004 submission. 2006 _Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION. IF YOU 2007 NEED LEGAL ADVICE, PLEASE CONTACT A LAWYER._ For further information, 2008 refer to <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf>. 2010 For the current "Status Of This Memo" text, the "submissionType" 2011 attribute determines whether a statement about "Code Components" is 2012 inserted (which is the case for the value "IETF", which is the 2013 default). Other values, such as "independent", suppress this part of 2014 the text. 2016 A.2.1. Current Values: '*trust200902' 2018 The name for these values refers to the "IETF TRUST Legal Provisions 2019 Relating to IETF Documents", sometimes simply called the "TLP, that 2020 went into effect on February 15, 2009 ([TLP2.0]). Updates to this 2021 document were published on September 12, 2009 ([TLP3.0]) and on 2022 December 28, 2009 ([TLP4.0]), modifying the license for code 2023 components (see <http://trustee.ietf.org/license-info/> for further 2024 information). The actual text is located in Section 6 ("Text To Be 2025 Included in IETF Documents") of these documents. 2027 The tools will automatically produce the "correct" text depending on 2028 the document's date information (see above): 2030 +----------+--------------------------------+ 2031 | TLP | starting with publication date | 2032 +----------+--------------------------------+ 2033 | [TLP3.0] | 2009-11-01 | 2034 | [TLP4.0] | 2010-04-01 | 2035 +----------+--------------------------------+ 2037 A.2.1.1. trust200902 2039 This should be the default, unless one of the more specific 2040 '*trust200902' values is a better fit. It produces the text in 2041 Sections 6.a and 6.b of the TLP. 2043 A.2.1.2. noModificationTrust200902 2045 This produces additional text from Section 6.c.i of the TLP: 2047 This document may not be modified, and derivative works of it may 2048 not be created, except to format it for publication as an RFC or 2049 to translate it into languages other than English. 2051 Note: this clause is incompatible with RFCs that are published on 2052 the Standards Track. 2054 A.2.1.3. noDerivativesTrust200902 2056 This produces the additional text from Section 6.c.ii of the TLP: 2058 This document may not be modified, and derivative works of it may 2059 not be created, and it may not be published except as an Internet- 2060 Draft. 2062 Note: this clause is incompatible with RFCs. 2064 A.2.1.4. pre5378Trust200902 2066 This produces the additional text from Section 6.c.iii of the TLP, 2067 frequently called the "pre-5378 escape clause": 2069 This document may contain material from IETF Documents or IETF 2070 Contributions published or made publicly available before November 2071 10, 2008. The person(s) controlling the copyright in some of this 2072 material may not have granted the IETF Trust the right to allow 2073 modifications of such material outside the IETF Standards Process. 2074 Without obtaining an adequate license from the person(s) 2075 controlling the copyright in such materials, this document may not 2076 be modified outside the IETF Standards Process, and derivative 2077 works of it may not be created outside the IETF Standards Process, 2078 except to format it for publication as an RFC or to translate it 2079 into languages other than English. 2081 See Section 4 of 2082 <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf> for further 2083 information about when to use this value. 2085 Note: this text appears under "Copyright Notice", unless the 2086 document was published before November 2009, in which case it 2087 appears under "Status Of This Memo". 2089 A.2.2. Historic Values 2091 A.2.2.1. Historic Values: '*trust200811' 2093 The attribute values "trust200811", "noModificationTrust200811" and 2094 "noDerivativesTrust200811" are similar to their "trust200902" 2095 counterparts, except that they use text specified in <http:// 2096 trustee.ietf.org/license-info/archive/ 2097 IETF-Trust-License-Policy_11-10-08.pdf>. 2099 A.2.2.2. Historic Values: '*3978' 2101 The attribute values "full3978", "noModification3978" and 2102 "noDerivatives3978" are similar to their counterparts above, except 2103 that they use text specified in RFC 3978 (March 2005). 2105 A.2.2.3. Historic Values: '*3667' 2107 The attribute values "full3667", "noModification3667" and 2108 "noDerivatives3667" are similar to their counterparts above, except 2109 that they use text specified in RFC 3667 (February 2004). 2111 A.2.2.4. Historic Values: '*2026' 2113 The attribute values "full2026" and "noDerivativeWorks2026" are 2114 similar to their counterparts above, except that they use text 2115 specified in RFC 2026 (October 1996). 2117 The special value "none" was also used back then, and denied the IETF 2118 any rights beyond publication as Internet-Draft. 2120 Appendix B. Changes from RFC 2629 ('v1') 2122 [[v1diff: See <http://greenbytes.de/tech/webdav/ 2123 draft-reschke-xml2rfc-02.html#rfc.section.E> for a comparison of the 2124 schemata.]] 2126 B.1. Removed Elements 2128 The <appendix> element has been removed; to generate an appendix, 2129 place a <section> inside <back>. 2131 B.2. Changed Defaults 2133 Many attributes have lost their "default" value; this is to avoid 2134 having document semantics differ based on whether a DTD was specified 2135 and evaluated. Processors will handle absent values the way the 2136 default value was specified before. 2138 B.3. Changed Elements 2140 <artwork>: Has a set of new attributes: "name", "type", "src", 2141 "align", "alt", "width", and "height". (Section 2.5) 2143 <author>: The <organization> element is now optional. The "role" 2144 attribute was added. (Section 2.6) 2146 <country>: The requirement to use ISO 3166 codes was removed. 2147 (Section 2.11) 2149 <date>: All attributes are now optional. (Section 2.13) 2151 <figure>: Has a set of new attributes: "suppress-title", "src", 2152 "align", "alt", "width", and "height". (Section 2.17) 2154 <iref>: Has a new "primary" attribute. (Section 2.20) 2156 <list>: The "style" attribute isn't restricted to a set of enumerated 2157 values anymore. The "hangIndent" and "counter" attributes have been 2158 added. (Section 2.22) 2160 <rfc>: The "ipr" attribute has gained additional values. The 2161 attributes "consensus", "iprExtract", "submissionType", and "xml: 2162 lang" have been added. (Section 2.33) 2164 <reference>: <annotation> allows adding prose to a reference. The 2165 "anchor" attribute has been made mandatory. (Section 2.30) 2167 <references>: Can now appear multiple times, and carry a "title" 2168 attribute (so that normative and informative references can be 2169 split). (Section 2.31) 2171 <section>: The new "toc" attribute controls whether it will appear in 2172 the Table Of Contents. <iref> can now appear as direct child element. 2173 (Section 2.34) 2175 <t>: The "anchor" attribute can now be used as well, however there 2176 are restrictions on how they can be referred to. (Section 2.38) 2178 B.4. New Elements 2180 The following elements have been added: <annotation> (Section 2.3), 2181 <c> (Section 2.8), <cref> (Section 2.12), <format> (Section 2.18), 2182 <spanx> (Section 2.36), <texttable> (Section 2.39). 2184 Appendix C. Relax NG Schema 2186 namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" 2188 rfc = 2189 element rfc { 2190 attribute number { text }?, 2191 [ a:defaultValue = "" ] attribute obsoletes { text }?, 2192 [ a:defaultValue = "" ] attribute updates { text }?, 2193 attribute category { "std" | "bcp" | "info" | "exp" | "historic" 2194 }?, 2195 attribute consensus { "no" | "yes" }?, 2196 attribute seriesNo { text }?, 2197 attribute ipr { 2198 "full2026" 2199 | "noDerivativeWorks2026" 2200 | "none" 2201 | "full3667" 2202 | "noModification3667" 2203 | "noDerivatives3667" 2204 | "full3978" 2205 | "noModification3978" 2206 | "noDerivatives3978" 2207 | "trust200811" 2208 | "noModificationTrust200811" 2209 | "noDerivativesTrust200811" 2210 | "trust200902" 2211 | "noModificationTrust200902" 2212 | "noDerivativesTrust200902" 2213 | "pre5378Trust200902" 2214 }?, 2215 attribute iprExtract { xsd:IDREF }?, 2216 [ a:defaultValue = "IETF" ] 2217 attribute submissionType { 2218 "IETF" | "IAB" | "IRTF" | "independent" 2219 }?, 2220 attribute docName { text }?, 2221 [ a:defaultValue = "en" ] attribute xml:lang { text }?, 2222 front, 2223 middle, 2224 back? 2225 } 2227 front = 2228 element front { 2229 title, author+, date, area*, workgroup*, keyword*, abstract?, 2230 note* 2231 } 2232 title = 2233 element title { 2234 attribute abbrev { text }?, 2235 text 2236 } 2237 author = 2238 element author { 2239 attribute initials { text }?, 2240 attribute surname { text }?, 2241 attribute fullname { text }?, 2242 attribute role { "editor" }?, 2243 organization?, 2244 address? 2245 } 2246 organization = 2247 element organization { 2248 attribute abbrev { text }?, 2249 text 2250 } 2251 address = element address { postal?, phone?, facsimile?, email?, 2252 uri? } 2253 postal = element postal { street+, (city | region | code | country)* 2254 } 2255 street = element street { text } 2256 city = element city { text } 2257 region = element region { text } 2258 code = element code { text } 2259 country = element country { text } 2260 phone = element phone { text } 2261 facsimile = element facsimile { text } 2262 email = element email { text } 2263 uri = element uri { text } 2264 date = 2265 element date { 2266 attribute day { text }?, 2267 attribute month { text }?, 2268 attribute year { text }?, 2269 empty 2270 } 2271 area = element area { text } 2272 workgroup = element workgroup { text } 2273 keyword = element keyword { text } 2274 abstract = element abstract { t+ } 2275 note = 2276 element note { 2277 attribute title { text }, 2278 t+ 2279 } 2280 middle = element middle { section+ } 2281 section = 2282 element section { 2283 attribute anchor { xsd:ID }?, 2284 attribute title { text }, 2285 [ a:defaultValue = "default" ] 2286 attribute toc { "include" | "exclude" | "default" }?, 2287 (t | figure | texttable | iref)*, 2288 section* 2289 } 2290 t = 2291 element t { 2292 attribute anchor { xsd:ID }?, 2293 attribute hangText { text }?, 2294 (text 2295 | \list 2296 | figure 2297 | xref 2298 | eref 2299 | iref 2300 | cref 2301 | spanx 2302 | vspace)* 2303 } 2304 \list = 2305 element list { 2306 attribute style { text }?, 2307 attribute hangIndent { text }?, 2308 attribute counter { text }?, 2309 t+ 2310 } 2311 xref = 2312 element xref { 2313 attribute target { xsd:IDREF }, 2314 [ a:defaultValue = "false" ] attribute pageno { "true" | "false" 2315 }?, 2316 [ a:defaultValue = "default" ] 2317 attribute format { "counter" | "title" | "none" | "default" }?, 2318 text 2319 } 2320 eref = 2321 element eref { 2322 attribute target { text }, 2323 text 2324 } 2325 iref = 2326 element iref { 2327 attribute item { text }, 2328 [ a:defaultValue = "" ] attribute subitem { text }?, 2329 [ a:defaultValue = "false" ] 2330 attribute primary { "true" | "false" }?, 2331 empty 2332 } 2333 cref = 2334 element cref { 2335 attribute anchor { xsd:ID }?, 2336 attribute source { text }?, 2337 text 2338 } 2339 spanx = 2340 element spanx { 2341 [ a:defaultValue = "preserve" ] 2342 attribute xml:space { "default" | "preserve" }?, 2343 [ a:defaultValue = "emph" ] attribute style { text }?, 2344 text 2345 } 2346 vspace = 2347 element vspace { 2348 [ a:defaultValue = "0" ] attribute blankLines { text }?, 2349 empty 2350 } 2351 figure = 2352 element figure { 2353 attribute anchor { xsd:ID }?, 2354 [ a:defaultValue = "" ] attribute title { text }?, 2355 [ a:defaultValue = "false" ] 2356 attribute suppress-title { "true" | "false" }?, 2357 attribute src { text }?, 2358 [ a:defaultValue = "left" ] 2359 attribute align { "left" | "center" | "right" }?, 2360 [ a:defaultValue = "" ] attribute alt { text }?, 2361 [ a:defaultValue = "" ] attribute width { text }?, 2362 [ a:defaultValue = "" ] attribute height { text }?, 2363 iref*, 2364 preamble?, 2365 artwork, 2366 postamble? 2367 } 2368 preamble = 2369 element preamble { (text | xref | eref | iref | cref | spanx)* } 2370 artwork = 2371 element artwork { 2372 [ a:defaultValue = "preserve" ] 2373 attribute xml:space { "default" | "preserve" }?, 2374 [ a:defaultValue = "" ] attribute name { text }?, 2375 [ a:defaultValue = "" ] attribute type { text }?, 2376 attribute src { text }?, 2377 [ a:defaultValue = "left" ] 2378 attribute align { "left" | "center" | "right" }?, 2379 [ a:defaultValue = "" ] attribute alt { text }?, 2380 [ a:defaultValue = "" ] attribute width { text }?, 2381 [ a:defaultValue = "" ] attribute height { text }?, 2382 text* 2383 } 2384 postamble = 2385 element postamble { (text | xref | eref | iref | cref | spanx)* } 2386 texttable = 2387 element texttable { 2388 attribute anchor { xsd:ID }?, 2389 [ a:defaultValue = "" ] attribute title { text }?, 2390 [ a:defaultValue = "false" ] 2391 attribute suppress-title { "true" | "false" }?, 2392 [ a:defaultValue = "center" ] 2393 attribute align { "left" | "center" | "right" }?, 2394 [ a:defaultValue = "full" ] 2395 attribute style { "all" | "none" | "headers" | "full" }?, 2396 preamble?, 2397 ttcol+, 2398 c*, 2399 postamble? 2400 } 2401 ttcol = 2402 element ttcol { 2403 attribute width { text }?, 2404 [ a:defaultValue = "left" ] 2405 attribute align { "left" | "center" | "right" }?, 2406 text 2407 } 2408 c = element c { (text | xref | eref | iref | cref | spanx)* } 2409 back = element back { references*, section* } 2410 references = 2411 element references { 2412 [ a:defaultValue = "References" ] attribute title { text }?, 2413 reference+ 2414 } 2415 reference = 2416 element reference { 2417 attribute anchor { xsd:ID }, 2418 attribute target { text }?, 2419 front, 2420 seriesInfo*, 2421 format*, 2422 annotation* 2423 } 2424 seriesInfo = 2425 element seriesInfo { 2426 attribute name { text }, 2427 attribute value { text }, 2428 empty 2429 } 2430 format = 2431 element format { 2432 attribute target { text }?, 2433 attribute type { text }, 2434 attribute octets { text }?, 2435 empty 2436 } 2437 annotation = 2438 element annotation { (text | xref | eref | iref | cref | spanx)* } 2439 start = rfc 2441 (This schema was derived from version 1.3.6 of the xml2rfc DTD 2442 ('Document Type Definition', [XML], Section 2.8), available from <htt 2443 p://svn.tools.ietf.org/svn/tools/xml2rfc/vocabulary/v2/03/ 2444 xml2rfcv2.dtd>). 2446 C.1. Checking Validity 2448 The validity of XML files can be checked with any tool that supports 2449 Relax NG ([RNC]). The reference implementation is the Java-based, 2450 open sourced "JING" ([JING]). 2452 To use JING, download the latest ZIP file from the downloads page 2453 (currently <https://code.google.com/p/jing-trang/downloads/ 2454 detail?name=jing-20091111.zip>), extract the archive, copy "jing.jar" 2455 from the "bin" folder, and make sure Java is installed). 2457 To check a file "test.xml" using the RNC file "schema.rnc", run (from 2458 a command line prompt): 2460 java -jar jing.jar -c schema.rnc test.xml 2462 In good Unix tradition, no output means the file is valid. 2464 Appendix D. Proposed Future Changes for 'v3' 2466 Discussion of "v3" changes takes place on the rfc-interest mailing 2467 list (rfc-interest@rfc-editor.org), which has its home page at 2468 <http://www.rfc-editor.org/mailman/listinfo/rfc-interest>. See also 2469 <https://www.rfc-editor.org/rse/wiki/doku.php?id=design:xml-tags> for 2470 a related Wiki page. 2472 D.1. Contact Information 2474 If contact information is changed to allow non-ASCII characters: add 2475 a place for a ASCII fallback (probably just for the author names). 2477 The content model for <postal> ought to be more strict to allow at 2478 most one of <city>, <region>, <code>, and <country>. 2480 It should be possible to have multiple <email> and <uri> elements 2481 (see also <http://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/36>). 2483 <facsimile> looks outdated, while a container for IM (messaging) URIs 2484 is missing. Maybe this area needs to be aligned with vCard. 2486 Section 4.11 of [RFCSTYLE] hints at a "Contributors" Section that 2487 could supply contact information similar to the one in the auto- 2488 generated "Authors' Address" Section. Consider how to capture 2489 contributor contact information (probably not using <author> to avoid 2490 confusion). Furthermore, consider ways to augment the contact 2491 information section with prose. 2493 D.2. Figures 2495 Cleanup the set of overlapping attributes between <figure> and 2496 <artwork>. 2498 For artwork that consists of a sequence of items (such as messages in 2499 a protocol example), it would be good if a <figure> element could 2500 contain multiple <artwork> elements (to assist code to find good 2501 places for page breaks). 2503 Extend <figure> to support different types of artwork (such as by 2504 specifying certain type attribute values, see <http://greenbytes.de/ 2505 tech/webdav/rfc2629xslt/rfc2629xslt.html#artwork.types>), and also 2506 avoid having to markup code (such as ABNF) as "artwork". 2508 It would be good if "code components" could be marked as such. 2510 Finally, even in preformatted text use of markup could be useful to 2511 support (a) references, or (b) highlighting the important bits (<http 2512 ://greenbytes.de/tech/webdav/rfc2629xslt/ 2513 rfc2629xslt.html#ext-rfc2629.artwork>). 2515 D.3. Linking 2517 Extend <xref> so that subsection/anchors can be specified (see <http: 2518 //greenbytes.de/tech/webdav/rfc2629xslt/ 2519 rfc2629xslt.html#ext-rfc2629.xref>). 2521 Remove the "pageno" attribute which seems to be both undocumented and 2522 non-functional. 2524 D.4. Lists 2526 Allow multiple paragraphs in list items; eliminating the need to use 2527 <vspace> -- this could be achieved by adding a list item container 2528 element ("<lt>", see <http://greenbytes.de/tech/webdav/rfc2629xslt/ 2529 rfc2629xslt.html#ext.element.lt> and 2530 <http://www.ietf.org/mail-archive/web/xml2rfc/current/ 2531 msg02010.html>). 2533 Add support for a "dictionary" style; eliminating the need to combine 2534 "hanging" with <vspace> to force new lines (see thread around <http:/ 2535 /www.rfc-editor.org/pipermail/rfc-interest/2013-December/ 2536 005876.html>). 2538 D.5. References 2540 Allow overriding the "anchor" attribute of an included <reference> 2541 element. 2543 Add a way to add prose to a reference that avoids abuse of 2544 <seriesInfo>. 2546 Allow <reference>s that identify a document set such as a BCP. 2548 Deprecate or remove the <format> element; right now it's not used for 2549 the generation of the plain text document anyway. 2551 The "anchor" attribute is optional because it is not needed when 2552 using numeric references (symrefs processing instruction), and the 2553 reference actually is not in use. This is an edge case that doesn't 2554 need special support in the vocabulary and thus should be removed. 2556 D.6. Archival Considerations 2558 When this vocabulary becomes the canonical RFC format, it will need 2559 to be able to capture all generated information, such as section/ 2560 figure/table numbers, plus any auto-generated boilerplate (copyright 2561 statements etc.). 2563 D.7. Document Metadata 2565 Extend the concept of language tagging to at least examples and 2566 contact information to address potential japanese/chinese font 2567 confusion. 2569 Provide a way to indicate the intended level on the standards track. 2571 Include feedback information in a way so that generated documents can 2572 provide usable feedback links (see <http://greenbytes.de/tech/webdav/ 2573 rfc2629xslt/rfc2629xslt.html#ext.element.feedback>). 2575 D.8. Including Material 2577 As discussed in Section 5, file inclusion currently uses out-of-the- 2578 box XML mechanisms or processor-specific directives. 2580 We need to decide whether the vocabulary should have its own 2581 inclusion mechanism, or whether it would be better to use a generic 2582 solution such as [XINCLUDE] instead. 2584 D.9. Misc. 2586 Make the <date> element optional; all of its content is optional 2587 already. 2589 <spanx> has both a weird whitespace model ("preserve") and 2590 problematic styling. Consider to deprecate it in favor of elements 2591 such as <b>, <i>, and <tt>. 2593 Indented paragraphs currently can be created by abusing the <list>. 2594 It would be good to have a special element for this purpose. 2596 Provide a special element for inserting block quotes (<http:// 2597 greenbytes.de/tech/webdav/rfc2629xslt/ 2598 rfc2629xslt.html#ext.element.blockquote>). 2600 The content model for <cref> should be extended to allow more flow 2601 elements, such as <xref> and <eref>. 2603 Section titles should really be elements, not attributes (this would 2604 allow them to contain markup). 2606 Text tables are currently very constrained. For instance, it would 2607 be good if alignment of headers and table cells could be de-coupled 2608 (<http://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/69>). 2610 Counters are currently restricted to lists, figures, and tables. 2611 Maybe there should be a generic mechanism that is not directly tied 2612 to other elements 2613 (<http://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/68>). 2615 Index 2617 A 2618 abbrev attribute 2619 in organization element 20 2620 in title element 32 2621 abstract element 4 2622 inside front 16 2623 address element 5 2624 inside author 9 2625 align attribute 2626 in artwork element 7 2627 in figure element 14 2628 in texttable element 31 2629 in ttcol element 33 2630 alt attribute 2631 in artwork element 7 2632 in figure element 14 2633 anchor attribute 2634 in cref element 11 2635 in figure element 14 2636 in reference element 22 2637 in section element 27 2638 in t element 30 2639 in texttable element 31 2640 annotation element 5 2641 inside reference 22 2642 application/rfc+xml Media Type 38 2643 area element 6 2644 inside front 16 2645 artwork element 6 2646 align attribute 7 2647 alt attribute 7 2648 height attribute 7 2649 inside figure 14 2650 name attribute 7 2651 src attribute 7 2652 type attribute 8 2653 width attribute 8 2654 xml:space attribute 8 2655 Attributes 2656 abbrev 20, 32 2657 align 7, 14, 31, 33 2658 alt 7, 14 2659 anchor 11, 14, 22, 27, 30-31 2660 blankLines 33 2661 category 24 2662 consensus 24 2663 counter 17 2664 day 12 2665 docName 24 2666 format 34 2667 fullname 9 2668 hangIndent 18 2669 hangText 30 2670 height 7, 14 2671 initials 9 2672 ipr 25 2673 iprExtract 25 2674 item 16 2675 month 12 2676 name 7, 28 2677 number 26 2678 obsoletes 26 2679 octets 15 2680 pageno 35 2681 primary 16 2682 role 9 2683 seriesNo 26 2684 source 11 2685 src 7, 14 2686 style 18, 29, 31 2687 subitem 17 2688 submissionType 26 2689 suppress-title 14, 32 2690 surname 9 2691 target 13, 15, 22, 35 2692 title 15, 20, 23, 27, 32 2693 toc 27 2694 type 8, 15 2695 updates 26 2696 value 28 2697 width 8, 15, 33 2698 xml:lang 27 2699 xml:space 8, 29 2700 year 12 2701 author element 8 2702 fullname attribute 9 2703 initials attribute 9 2704 inside front 16 2705 role attribute 9 2706 surname attribute 9 2708 B 2709 back element 10 2710 inside rfc 24 2711 blankLines attribute 2712 in vspace element 33 2714 C 2715 c element 10 2716 inside texttable 31 2717 category attribute 2718 in rfc element 24 2719 city element 10 2720 inside postal 21 2721 code element 11 2722 inside postal 21 2723 consensus attribute 2724 in rfc element 24 2725 counter attribute 2726 in list element 17 2727 country element 11 2728 inside postal 21 2729 cref element 11 2730 anchor attribute 11 2731 inside annotation 6 2732 inside c 10 2733 inside postamble 21 2734 inside preamble 22 2735 inside t 30 2736 source attribute 11 2738 D 2739 date element 11 2740 day attribute 12 2741 inside front 16 2742 month attribute 12 2743 year attribute 12 2744 day attribute 2745 in date element 12 2746 docName attribute 2747 in rfc element 24 2749 E 2750 Elements 2751 abstract 4, 16 2752 address 5, 9 2753 annotation 5, 22 2754 area 6, 16 2755 artwork 6, 14 2756 author 8, 16 2757 back 10, 24 2758 c 10, 31 2759 city 10, 21 2760 code 11, 21 2761 country 11, 21 2762 cref 6, 10-11, 21-22, 30 2763 date 11, 16 2764 email 5, 12 2765 eref 5, 10, 13, 21-22, 30 2766 facsimile 5, 13 2767 figure 13, 27, 30 2768 format 15, 22 2769 front 15, 22-23 2770 iref 6, 10, 13, 16, 21-22, 27, 30 2771 keyword 16-17 2772 list 17, 30 2773 middle 19, 24 2774 note 16, 19 2775 organization 9, 20 2776 phone 5, 20 2777 postal 5, 20 2778 postamble 14, 21, 31 2779 preamble 13, 21, 31 2780 reference 22-23 2781 references 10, 23 2782 region 21, 23 2783 rfc 23 2784 section 10, 19, 27 2785 seriesInfo 22, 28 2786 spanx 6, 10, 21-22, 28, 30 2787 street 21, 29 2788 t 5, 17, 20, 27, 29 2789 texttable 27, 30 2790 title 16, 32 2791 ttcol 31-32 2792 uri 5, 33 2793 vspace 30, 33 2794 workgroup 16, 34 2795 xref 5, 10, 21-22, 30, 34 2796 email element 12 2797 inside address 5 2798 eref element 13 2799 inside annotation 5 2800 inside c 10 2801 inside postamble 21 2802 inside preamble 22 2803 inside t 30 2804 target attribute 13 2806 F 2807 facsimile element 13 2808 inside address 5 2809 figure element 13 2810 align attribute 14 2811 alt attribute 14 2812 anchor attribute 14 2813 height attribute 14 2814 inside section 27 2815 inside t 30 2816 src attribute 14 2817 suppress-title attribute 14 2818 title attribute 15 2819 width attribute 15 2820 format attribute 2821 in xref element 34 2822 format element 15 2823 inside reference 22 2824 octets attribute 15 2825 target attribute 15 2826 type attribute 15 2827 front element 15 2828 inside reference 22 2829 inside rfc 23 2830 fullname attribute 2831 in author element 9 2833 H 2834 hangIndent attribute 2835 in list element 18 2836 hangText attribute 2837 in t element 30 2838 height attribute 2839 in artwork element 7 2840 in figure element 14 2842 I 2843 initials attribute 2844 in author element 9 2845 ipr attribute 2846 '*2026' 45 2847 '*3667' 45 2848 '*3978' 45 2849 '*trust200811' 45 2850 '*trust200902' 43 2851 'noDerivativesTrust200902' 44 2852 'noModificationTrust200902' 44 2853 'pre5378Trust200902' 44 2854 'trust200902' 44 2855 in rfc element 25 2856 iprExtract attribute 2857 in rfc element 25 2858 iref element 16 2859 inside annotation 6 2860 inside c 10 2861 inside figure 13 2862 inside postamble 21 2863 inside preamble 22 2864 inside section 27 2865 inside t 30 2866 item attribute 16 2867 primary attribute 16 2868 subitem attribute 17 2869 item attribute 2870 in iref element 16 2872 K 2873 keyword element 17 2874 inside front 16 2876 L 2877 list element 17 2878 counter attribute 17 2879 hangIndent attribute 18 2880 inside t 30 2881 style attribute 18 2882 list styles 2883 empty 18 2884 format ... 19 2885 hanging 18 2886 letters 18 2887 numbers 18 2888 symbols 18 2890 M 2891 Media Type 2892 application/rfc+xml 38 2893 middle element 19 2894 inside rfc 24 2895 month attribute 2896 in date element 12 2898 N 2899 name attribute 2900 in artwork element 7 2901 in seriesInfo element 28 2902 note element 19 2903 inside front 16 2904 title attribute 20 2905 number attribute 2906 in rfc element 26 2908 O 2909 obsoletes attribute 2910 in rfc element 26 2911 octets attribute 2912 in format element 15 2913 organization element 20 2914 abbrev attribute 20 2915 inside author 9 2917 P 2918 pageno attribute 2919 in xref element 35 2920 phone element 20 2921 inside address 5 2922 postal element 20 2923 inside address 5 2924 postamble element 21 2925 inside figure 14 2926 inside texttable 31 2927 preamble element 21 2928 inside figure 13 2929 inside texttable 31 2930 primary attribute 2931 in iref element 16 2933 R 2934 reference element 22 2935 anchor attribute 22 2936 inside references 23 2937 target attribute 22 2938 references element 23 2939 inside back 10 2940 title attribute 23 2941 region element 23 2942 inside postal 21 2943 rfc element 23 2944 category attribute 24 2945 consensus attribute 24 2946 docName attribute 24 2947 ipr attribute 25 2948 iprExtract attribute 25 2949 number attribute 26 2950 obsoletes attribute 26 2951 seriesNo attribute 26 2952 submissionType attribute 26 2953 updates attribute 26 2954 xml:lang attribute 27 2955 role attribute 2956 in author element 9 2958 S 2959 section element 27 2960 anchor attribute 27 2961 inside back 10 2962 inside middle 19 2963 inside section 27 2964 title attribute 27 2965 toc attribute 27 2966 seriesInfo element 28 2967 inside reference 22 2968 name attribute 28 2969 value attribute 28 2970 seriesNo attribute 2971 in rfc element 26 2972 source attribute 2973 in cref element 11 2974 spanx element 28 2975 inside annotation 6 2976 inside c 10 2977 inside postamble 21 2978 inside preamble 22 2979 inside t 30 2980 style attribute 29 2981 xml:space attribute 29 2982 src attribute 2983 in artwork element 7 2984 in figure element 14 2985 street element 29 2986 inside postal 21 2987 style attribute 2988 in list element 18 2989 in spanx element 29 2990 in texttable element 31 2991 subitem attribute 2992 in iref element 17 2993 submissionType attribute 2994 in rfc element 26 2995 suppress-title attribute 2996 in figure element 14 2997 in texttable element 32 2998 surname attribute 2999 in author element 9 3001 T 3002 t element 29 3003 anchor attribute 30 3004 hangText attribute 30 3005 inside abstract 5 3006 inside list 17 3007 inside note 20 3008 inside section 27 3009 target attribute 3010 in eref element 13 3011 in format element 15 3012 in reference element 22 3013 in xref element 35 3014 texttable element 30 3015 align attribute 31 3016 anchor attribute 31 3017 inside section 27 3018 style attribute 31 3019 suppress-title attribute 32 3020 title attribute 32 3021 title attribute 3022 in figure element 15 3023 in note element 20 3024 in references element 23 3025 in section element 27 3026 in texttable element 32 3027 title element 32 3028 abbrev attribute 32 3029 inside front 16 3030 toc attribute 3031 in section element 27 3032 ttcol element 32 3033 align attribute 33 3034 inside texttable 31 3035 width attribute 33 3036 type attribute 3037 in artwork element 8 3038 in format element 15 3040 U 3041 updates attribute 3042 in rfc element 26 3043 uri element 33 3044 inside address 5 3046 V 3047 value attribute 3048 in seriesInfo element 28 3049 vspace element 33 3050 blankLines attribute 33 3051 inside t 30 3053 W 3054 width attribute 3055 in artwork element 8 3056 in figure element 15 3057 in ttcol element 33 3058 workgroup element 34 3059 inside front 16 3061 X 3062 xml:lang attribute 3063 in rfc element 27 3064 xml:space attribute 3065 in artwork element 8 3066 in spanx element 29 3067 xref element 34 3068 format attribute 34 3069 inside annotation 5 3070 inside c 10 3071 inside postamble 21 3072 inside preamble 22 3073 inside t 30 3074 pageno attribute 35 3075 target attribute 35 3076 xref formats 3077 counter 34 3078 default 35 3079 none 35 3080 title 35 3082 Y 3083 year attribute 3084 in date element 12 3086 Author's Address 3088 Julian F. Reschke 3089 greenbytes GmbH 3090 Hafenweg 16 3091 Muenster, NW 48155 3092 Germany 3094 EMail: julian.reschke@greenbytes.de 3095 URI: http://greenbytes.de/tech/webdav/