Network Working Group J. Reschke Internet-Draft greenbytes Obsoletes: 2629 (if approved) October 16, 2013 Intended status: Standards Track Expires: April 19, 2014 The 'XML2RFC' Vocabulary draft-reschke-xml2rfc-00 Abstract This document defines the 'XML2RFC' vocabulary; an XML-based (Extensible Markup Language) language used for writing Internet Drafts and RFCs. Editorial Note (To be removed by RFC Editor) Discussion of this draft takes place on the XML2RFC mailing list (xml2rfc@ietf.org), which has its home page at . Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on April 19, 2014. Copyright Notice Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents Reschke Expires April 19, 2014 [Page 1] Internet-Draft XML2RFC October 2013 carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1. abstract . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2. address . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3. annotation . . . . . . . . . . . . . . . . . . . . . . . . 4 2.4. area . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.5. artwork . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.6. author . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.7. back . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.8. c . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.9. city . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.10. code . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.11. country . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.12. cref . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.13. date . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.14. email . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.15. eref . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.16. facsimile . . . . . . . . . . . . . . . . . . . . . . . . 9 2.17. figure . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.18. format . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.19. front . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.20. iref . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.21. keyword . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.22. list . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.23. middle . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.24. note . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.25. organization . . . . . . . . . . . . . . . . . . . . . . . 13 2.26. phone . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.27. postal . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.28. postamble . . . . . . . . . . . . . . . . . . . . . . . . 14 2.29. preamble . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.30. reference . . . . . . . . . . . . . . . . . . . . . . . . 15 2.31. references . . . . . . . . . . . . . . . . . . . . . . . . 16 2.32. region . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.33. rfc . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.34. section . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.35. seriesInfo . . . . . . . . . . . . . . . . . . . . . . . . 19 2.36. spanx . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.37. street . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.38. t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Reschke Expires April 19, 2014 [Page 2] Internet-Draft XML2RFC October 2013 2.39. texttable . . . . . . . . . . . . . . . . . . . . . . . . 21 2.40. title . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.41. ttcol . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.42. uri . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.43. vspace . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.44. workgroup . . . . . . . . . . . . . . . . . . . . . . . . 24 2.45. xref . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 4. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.1. Normative References . . . . . . . . . . . . . . . . . . . 25 5.2. Informative References . . . . . . . . . . . . . . . . . . 25 Appendix A. Changes from RFC 2629 . . . . . . . . . . . . . . . . 25 A.1. Removed Elements . . . . . . . . . . . . . . . . . . . . . 25 A.2. Changed Defaults . . . . . . . . . . . . . . . . . . . . . 25 A.3. Changed Elements . . . . . . . . . . . . . . . . . . . . . 26 A.4. New Elements . . . . . . . . . . . . . . . . . . . . . . . 26 Appendix B. Proposed Future Changes . . . . . . . . . . . . . . . 27 Appendix C. Comparison Of DTDs . . . . . . . . . . . . . . . . . 28 C.1. RFC 2629 DTD . . . . . . . . . . . . . . . . . . . . . . . 28 C.2. Current DTD . . . . . . . . . . . . . . . . . . . . . . . 31 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Reschke Expires April 19, 2014 [Page 3] Internet-Draft XML2RFC October 2013 1. Introduction This document defines the 'XML2RFC' vocabulary; an XML language ([XML]) used for writing Internet Drafts and RFCs. It obsoletes [RFC2629], which contained the original language definition, and which was subsequently extended. 2. Elements [[anchor2: Need to fill in element and attribute descriptions.]] 2.1. abstract This element appears as child element of: (Section 2.19). 2.1.1. Contents one or more elements (Section 2.38) 2.2. address This element appears as child element of: (Section 2.6). 2.2.1. Contents 1. one optional element (Section 2.27) 2. one optional element (Section 2.26) 3. one optional element (Section 2.16) 4. one optional element (Section 2.14) 5. one optional element (Section 2.42) 2.3. annotation This element appears as child element of: (Section 2.30). 2.3.1. Contents In any order: o text o elements (Section 2.45) Reschke Expires April 19, 2014 [Page 4] Internet-Draft XML2RFC October 2013 o elements (Section 2.15) o elements (Section 2.20) o elements (Section 2.12) o elements (Section 2.36) 2.4. area This element appears as child element of: (Section 2.19). 2.4.1. Contents text 2.5. artwork This element appears as child element of:
(Section 2.17). 2.5.1. Attributes 2.5.1.1. xml:space (optional) Allowed values: o "default" o "preserve" (default) 2.5.1.2. name (optional) 2.5.1.3. type (optional) 2.5.1.4. src (optional) 2.5.1.5. align (optional) Reschke Expires April 19, 2014 [Page 5] Internet-Draft XML2RFC October 2013 Allowed values: o "left" (default) o "center" o "right" 2.5.1.6. alt (optional) 2.5.1.7. width (optional) 2.5.1.8. height (optional) 2.5.2. Contents text 2.6. author This element appears as child element of: (Section 2.19). 2.6.1. Attributes 2.6.1.1. initials (optional) 2.6.1.2. surname (optional) 2.6.1.3. fullname (optional) 2.6.1.4. role (optional) Allowed values: Reschke Expires April 19, 2014 [Page 6] Internet-Draft XML2RFC October 2013 o "editor" 2.6.2. Contents 1. one optional element (Section 2.25) 2. one optional
element (Section 2.2) 2.7. back This element appears as child element of: (Section 2.33). 2.7.1. Contents 1. optional elements (Section 2.31) 2. optional
elements (Section 2.34) 2.8. c This element appears as child element of: (Section 2.39). 2.8.1. Contents In any order: o text o elements (Section 2.45) o elements (Section 2.15) o elements (Section 2.20) o elements (Section 2.12) o elements (Section 2.36) 2.9. city This element appears as child element of: (Section 2.27). 2.9.1. Contents text Reschke Expires April 19, 2014 [Page 7] Internet-Draft XML2RFC October 2013 2.10. code This element appears as child element of: (Section 2.27). 2.10.1. Contents text 2.11. country This element appears as child element of: (Section 2.27). 2.11.1. Contents text 2.12. cref This element appears as child element of: (Section 2.3), (Section 2.8), (Section 2.28), (Section 2.29), and (Section 2.38). 2.12.1. Attributes 2.12.1.1. anchor (optional) 2.12.1.2. source (optional) 2.12.2. Contents text 2.13. date This element appears as child element of: (Section 2.19). 2.13.1. Attributes 2.13.1.1. day (optional) Reschke Expires April 19, 2014 [Page 8] Internet-Draft XML2RFC October 2013 2.13.1.2. month (optional) 2.13.1.3. year (optional) 2.14. email This element appears as child element of:
(Section 2.2). 2.14.1. Contents text 2.15. eref This element appears as child element of: (Section 2.3), (Section 2.8), (Section 2.28), (Section 2.29), and (Section 2.38). 2.15.1. Attributes 2.15.1.1. target (mandatory) 2.15.2. Contents text 2.16. facsimile This element appears as child element of:
(Section 2.2). 2.16.1. Contents text 2.17. figure This element appears as child element of:
(Section 2.34), and (Section 2.38). Reschke Expires April 19, 2014 [Page 9] Internet-Draft XML2RFC October 2013 2.17.1. Attributes 2.17.1.1. anchor (optional) 2.17.1.2. title (optional) 2.17.1.3. suppress-title (optional) Allowed values: o "true" o "false" (default) 2.17.1.4. src (optional) 2.17.1.5. align (optional) Allowed values: o "left" (default) o "center" o "right" 2.17.1.6. alt (optional) 2.17.1.7. width (optional) 2.17.1.8. height (optional) Reschke Expires April 19, 2014 [Page 10] Internet-Draft XML2RFC October 2013 2.17.2. Contents 1. optional elements (Section 2.20) 2. one optional element (Section 2.29) 3. one element (Section 2.5) 4. one optional element (Section 2.28) 2.18. format This element appears as child element of: (Section 2.30). 2.18.1. Attributes 2.18.1.1. target (optional) 2.18.1.2. type (mandatory) 2.18.1.3. octets (optional) 2.19. front This element appears as child element of: (Section 2.30), and (Section 2.33). 2.19.1. Contents 1. one element (Section 2.40) 2. one or more <author> elements (Section 2.6) 3. one <date> element (Section 2.13) 4. optional <area> elements (Section 2.4) 5. optional <workgroup> elements (Section 2.44) 6. optional <keyword> elements (Section 2.21) Reschke Expires April 19, 2014 [Page 11] Internet-Draft XML2RFC October 2013 7. one optional <abstract> element (Section 2.1) 8. optional <note> elements (Section 2.24) 2.20. iref This element appears as child element of: <annotation> (Section 2.3), <c> (Section 2.8), <figure> (Section 2.17), <postamble> (Section 2.28), <preamble> (Section 2.29), <section> (Section 2.34), and <t> (Section 2.38). 2.20.1. Attributes 2.20.1.1. item (mandatory) 2.20.1.2. subitem (optional) 2.20.1.3. primary (optional) Allowed values: o "true" o "false" (default) 2.21. keyword This element appears as child element of: <front> (Section 2.19). 2.21.1. Contents text 2.22. list This element appears as child element of: <t> (Section 2.38). 2.22.1. Attributes Reschke Expires April 19, 2014 [Page 12] Internet-Draft XML2RFC October 2013 2.22.1.1. style (optional) 2.22.1.2. hangIndent (optional) 2.22.1.3. counter (optional) 2.22.2. Contents one or more <t> elements (Section 2.38) 2.23. middle This element appears as child element of: <rfc> (Section 2.33). 2.23.1. Contents one or more <section> elements (Section 2.34) 2.24. note This element appears as child element of: <front> (Section 2.19). 2.24.1. Attributes 2.24.1.1. title (mandatory) 2.24.2. Contents one or more <t> elements (Section 2.38) 2.25. organization This element appears as child element of: <author> (Section 2.6). 2.25.1. Attributes 2.25.1.1. abbrev (optional) Reschke Expires April 19, 2014 [Page 13] Internet-Draft XML2RFC October 2013 2.25.2. Contents text 2.26. phone This element appears as child element of: <address> (Section 2.2). 2.26.1. Contents text 2.27. postal This element appears as child element of: <address> (Section 2.2). 2.27.1. Contents 1. one or more <street> elements (Section 2.37) 2. In any order: * <city> elements (Section 2.9) * <region> elements (Section 2.32) * <code> elements (Section 2.10) * <country> elements (Section 2.11) 2.28. postamble This element appears as child element of: <figure> (Section 2.17), and <texttable> (Section 2.39). 2.28.1. Contents In any order: o text o <xref> elements (Section 2.45) o <eref> elements (Section 2.15) o <iref> elements (Section 2.20) Reschke Expires April 19, 2014 [Page 14] Internet-Draft XML2RFC October 2013 o <cref> elements (Section 2.12) o <spanx> elements (Section 2.36) 2.29. preamble This element appears as child element of: <figure> (Section 2.17), and <texttable> (Section 2.39). 2.29.1. Contents In any order: o text o <xref> elements (Section 2.45) o <eref> elements (Section 2.15) o <iref> elements (Section 2.20) o <cref> elements (Section 2.12) o <spanx> elements (Section 2.36) 2.30. reference This element appears as child element of: <references> (Section 2.31). 2.30.1. Attributes 2.30.1.1. anchor (optional) 2.30.1.2. target (optional) 2.30.2. Contents 1. one <front> element (Section 2.19) 2. optional <seriesInfo> elements (Section 2.35) 3. optional <format> elements (Section 2.18) Reschke Expires April 19, 2014 [Page 15] Internet-Draft XML2RFC October 2013 4. optional <annotation> elements (Section 2.3) 2.31. references This element appears as child element of: <back> (Section 2.7). 2.31.1. Attributes 2.31.1.1. title (optional) 2.31.2. Contents one or more <reference> elements (Section 2.30) 2.32. region This element appears as child element of: <postal> (Section 2.27). 2.32.1. Contents text 2.33. rfc 2.33.1. Attributes 2.33.1.1. number (optional) 2.33.1.2. obsoletes (optional) 2.33.1.3. updates (optional) 2.33.1.4. category (optional) Allowed values: o "std" Reschke Expires April 19, 2014 [Page 16] Internet-Draft XML2RFC October 2013 o "bcp" o "info" o "exp" o "historic" 2.33.1.5. consensus (optional) Allowed values: o "no" o "yes" 2.33.1.6. seriesNo (optional) 2.33.1.7. ipr (optional) Allowed values: o "full2026" o "noDerivativeWorks2026" o "none" o "full3667" o "noModification3667" o "noDerivatives3667" o "full3978" o "noModification3978" o "noDerivatives3978" o "trust200811" Reschke Expires April 19, 2014 [Page 17] Internet-Draft XML2RFC October 2013 o "noModificationTrust200811" o "noDerivativesTrust200811" o "trust200902" o "noModificationTrust200902" o "noDerivativesTrust200902" o "pre5378Trust200902" 2.33.1.8. iprExtract (optional) 2.33.1.9. submissionType (optional) Allowed values: o "IETF" (default) o "IAB" o "IRTF" o "independent" 2.33.1.10. docName (optional) 2.33.1.11. xml:lang (optional) 2.33.2. Contents 1. one <front> element (Section 2.19) 2. one <middle> element (Section 2.23) 3. one optional <back> element (Section 2.7) Reschke Expires April 19, 2014 [Page 18] Internet-Draft XML2RFC October 2013 2.34. section This element appears as child element of: <back> (Section 2.7), <middle> (Section 2.23), and <section> (Section 2.34). 2.34.1. Attributes 2.34.1.1. anchor (optional) 2.34.1.2. title (mandatory) 2.34.1.3. toc (optional) Allowed values: o "include" o "exclude" o "default" (default) 2.34.2. Contents 1. In any order: * <t> elements (Section 2.38) * <figure> elements (Section 2.17) * <texttable> elements (Section 2.39) * <iref> elements (Section 2.20) 2. optional <section> elements (Section 2.34) 2.35. seriesInfo This element appears as child element of: <reference> (Section 2.30). Reschke Expires April 19, 2014 [Page 19] Internet-Draft XML2RFC October 2013 2.35.1. Attributes 2.35.1.1. name (mandatory) 2.35.1.2. value (mandatory) 2.36. spanx This element appears as child element of: <annotation> (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), <preamble> (Section 2.29), and <t> (Section 2.38). 2.36.1. Attributes 2.36.1.1. xml:space (optional) Allowed values: o "default" o "preserve" (default) 2.36.1.2. style (optional) 2.36.2. Contents text 2.37. street This element appears as child element of: <postal> (Section 2.27). 2.37.1. Contents text 2.38. t This element appears as child element of: <abstract> (Section 2.1), <list> (Section 2.22), <note> (Section 2.24), and <section> Reschke Expires April 19, 2014 [Page 20] Internet-Draft XML2RFC October 2013 (Section 2.34). 2.38.1. Attributes 2.38.1.1. anchor (optional) 2.38.1.2. hangText (optional) 2.38.2. Contents In any order: o text o <list> elements (Section 2.22) o <figure> elements (Section 2.17) o <xref> elements (Section 2.45) o <eref> elements (Section 2.15) o <iref> elements (Section 2.20) o <cref> elements (Section 2.12) o <spanx> elements (Section 2.36) o <vspace> elements (Section 2.43) 2.39. texttable This element appears as child element of: <section> (Section 2.34). 2.39.1. Attributes 2.39.1.1. anchor (optional) 2.39.1.2. title (optional) Reschke Expires April 19, 2014 [Page 21] Internet-Draft XML2RFC October 2013 2.39.1.3. suppress-title (optional) Allowed values: o "true" o "false" (default) 2.39.1.4. align (optional) Allowed values: o "left" o "center" (default) o "right" 2.39.1.5. style (optional) Allowed values: o "all" o "none" o "headers" o "full" (default) 2.39.2. Contents 1. one optional <preamble> element (Section 2.29) 2. one or more <ttcol> elements (Section 2.41) 3. optional <c> elements (Section 2.8) 4. one optional <postamble> element (Section 2.28) Reschke Expires April 19, 2014 [Page 22] Internet-Draft XML2RFC October 2013 2.40. title This element appears as child element of: <front> (Section 2.19). 2.40.1. Attributes 2.40.1.1. abbrev (optional) 2.40.2. Contents text 2.41. ttcol This element appears as child element of: <texttable> (Section 2.39). 2.41.1. Attributes 2.41.1.1. width (optional) 2.41.1.2. align (optional) Allowed values: o "left" (default) o "center" o "right" 2.41.2. Contents text 2.42. uri This element appears as child element of: <address> (Section 2.2). 2.42.1. Contents text Reschke Expires April 19, 2014 [Page 23] Internet-Draft XML2RFC October 2013 2.43. vspace This element appears as child element of: <t> (Section 2.38). 2.43.1. Attributes 2.43.1.1. blankLines (optional) 2.44. workgroup This element appears as child element of: <front> (Section 2.19). 2.44.1. Contents text 2.45. xref This element appears as child element of: <annotation> (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), <preamble> (Section 2.29), and <t> (Section 2.38). 2.45.1. Attributes 2.45.1.1. target (mandatory) 2.45.1.2. pageno (optional) Allowed values: o "true" o "false" (default) 2.45.1.3. format (optional) Allowed values: o "counter" Reschke Expires April 19, 2014 [Page 24] Internet-Draft XML2RFC October 2013 o "title" o "none" o "default" (default) 2.45.2. Contents text 3. IANA Considerations [[anchor66: Register application/xml2rfc+xml.]] 4. Acknowledgments We thank Marshall T. Rose for both the original design and the reference implementation of the "xml2rfc" formatter. 5. References 5.1. Normative References [XML] Maler, E., Yergeau, F., Paoli, J., Sperberg-McQueen, M., and T. Bray, "Extensible Markup Language (XML) 1.0 (Fifth Edition)", W3C Recommendation REC-xml-20081126, November 2008, <http://www.w3.org/TR/2008/REC-xml-20081126/>. Latest version available at <http://www.w3.org/TR/xml>. 5.2. Informative References [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, June 1999. Appendix A. Changes from RFC 2629 A.1. Removed Elements The <appendix> element has been removed; to generate an appendix, place a <section> inside <back>. A.2. Changed Defaults Many attributes have lost their "default" value; this is to avoid having document semantics differ based on whether a DTD was specified and evaluated. Processors will handle absent values the way the Reschke Expires April 19, 2014 [Page 25] Internet-Draft XML2RFC October 2013 default value was specified before. A.3. Changed Elements <artwork>: Has a set of new attributes: "name", "type", "src", "align", "alt", "width", and "height". (Section 2.5) <author>: The <organization> element is now optional. The "role" attribute was added. (Section 2.6) <date>: All attributes are now optional. (Section 2.13) <figure>: Has a set of new attributes: "suppress-title", "src", "align", "alt", "width", and "height". (Section 2.17) <iref>: Has a new "primary" attribute. (Section 2.20) <list>: The "style" attribute isn't restricted to a set of enumerated values anymore. The "hangIndent" and "counter" attributes have been added. (Section 2.22) <rfc>: The "ipr" attribute has gained additional values. The attributes "consensus", "iprExtract", "submissionType", and "xml: lang" have been added. (Section 2.33) <reference>: <annotation> allows adding prose to a reference. (Section 2.30) <references>: Can now appear multiple times, and carry a "title" attribute (so that normative and informative references can be split). (Section 2.31) <section>: The new "toc" attribute controls whether it will appear in the Table Of Contents. <iref> can now appear as direct child element. (Section 2.34) <t>: The "anchor" attribute can now be used as well, however there are restrictions on how they can be referred to. (Section 2.38) A.4. New Elements The following elements have been added: <annotation> (Section 2.3), <c> (Section 2.8), <cref> (Section 2.12), <format> (Section 2.18), <spanx> (Section 2.36), <texttable> (Section 2.39). Reschke Expires April 19, 2014 [Page 26] Internet-Draft XML2RFC October 2013 Appendix B. Proposed Future Changes [[anchor73: The list below is just a starting point.]] Allow multiple paragraphs in list items; eliminating the need to use <vspace> (see <http://greenbytes.de/tech/webdav/rfc2629xslt/ rfc2629xslt.html#ext.element.lt>). Make the <date> element optional; all of its content is optional already. Deprecate or remove the <format> element; right now it's not used for the generation of the plain text document anyway. Allow <reference>s that identify a document set such as a STD. Allow overriding the "anchor" attribute of an included <reference> element. Add a way to add prose to a reference that avoids abuse of <seriesInfo>. Extend <xref> so that subsection/anchors can be specified (see <http: //greenbytes.de/tech/webdav/rfc2629xslt/ rfc2629xslt.html#ext-rfc2629.xref>). Remove the "pageno" attribute which seems to be both undocumented and non-functional. Extend <figure> to support different types of artwork (such as by specifying certain type attribute values, see <http://greenbytes.de/ tech/webdav/rfc2629xslt/rfc2629xslt.html#artwork.types>), and also avoid having to markup code (such as ABNF) as "artwork". Also, it would be good if "code components" could be marked as such. Finally, even in preformatted text use of markup could be useful to support (a) references, or (b) highlighting the important bits (<http:// greenbytes.de/tech/webdav/rfc2629xslt/ rfc2629xslt.html#ext-rfc2629.artwork>). If contact information is changed to allow non-ASCII characters: add a place for a ASCII fallback (probably just for the author names). The content model for <postal> ought to be more strict to allow at most one of <city>, <region>, <code>, and <country>. Cleanup the set of overlapping attributes between <figure> and <artwork>. Reschke Expires April 19, 2014 [Page 27] Internet-Draft XML2RFC October 2013 Appendix C. Comparison Of DTDs With comments being stripped; using "diff -C100" to add change marks: C.1. RFC 2629 DTD (from Appendix B of [RFC2629]) <!ENTITY % NUMBER "CDATA"> <!ENTITY % NUMBERS "CDATA"> <!ENTITY % DAY "CDATA"> <!ENTITY % MONTH "CDATA"> <!ENTITY % YEAR "CDATA"> <!ENTITY % URI "CDATA"> <!ENTITY % ATEXT "CDATA"> <!ENTITY % CTEXT "#PCDATA"> <!ENTITY % TEXT "#PCDATA"> <!ELEMENT rfc (front,middle,back?)> <!ATTLIST rfc number %NUMBER; #IMPLIED obsoletes %NUMBERS; '' updates %NUMBERS; '' ! category (std|bcp|info|exp|historic) 'info' seriesNo %NUMBER; #IMPLIED ! ipr (full2026|noDerivativeWorks2026|none) #IMPLIED ! docName %ATEXT; #IMPLIED> <!ELEMENT front (title,author+,date,area*,workgroup*,keyword*,abstract?, note*)> <!ELEMENT title (%CTEXT;)> <!ATTLIST title abbrev %ATEXT; #IMPLIED> ! <!ELEMENT author (organization,address?)> <!ATTLIST author Reschke Expires April 19, 2014 [Page 28] Internet-Draft XML2RFC October 2013 initials %ATEXT; #IMPLIED surname %ATEXT; #IMPLIED ! fullname %ATEXT; #IMPLIED> <!ELEMENT organization (%CTEXT;)> <!ATTLIST organization abbrev %ATEXT; #IMPLIED> <!ELEMENT address (postal?,phone?,facsimile?,email?,uri?)> <!ELEMENT postal (street+,(city|region|code|country)*)> <!ELEMENT street (%CTEXT;)> <!ELEMENT city (%CTEXT;)> <!ELEMENT region (%CTEXT;)> <!ELEMENT code (%CTEXT;)> <!ELEMENT country (%CTEXT;)> <!ELEMENT phone (%CTEXT;)> <!ELEMENT facsimile (%CTEXT;)> <!ELEMENT email (%CTEXT;)> <!ELEMENT uri (%CTEXT;)> <!ELEMENT date EMPTY> <!ATTLIST date day %DAY; #IMPLIED ! month %MONTH; #REQUIRED ! year %YEAR; #REQUIRED> <!ELEMENT area (%CTEXT;)> <!ELEMENT workgroup (%CTEXT;)> <!ELEMENT keyword (%CTEXT;)> <!ELEMENT abstract (t)+> <!ELEMENT note (t)+> Reschke Expires April 19, 2014 [Page 29] Internet-Draft XML2RFC October 2013 <!ATTLIST note title %ATEXT; #REQUIRED> <!ELEMENT middle (section)+> ! <!ELEMENT section (t|figure|section)*> <!ATTLIST section anchor ID #IMPLIED ! title %ATEXT; #REQUIRED> ! <!ELEMENT t (%TEXT;|list|figure|xref|eref|iref|vspace)*> <!ATTLIST t hangText %ATEXT; #IMPLIED> <!ELEMENT list (t)+> <!ATTLIST list ! style (numbers|symbols|hanging|empty) 'empty'> <!ELEMENT xref (%CTEXT;)> <!ATTLIST xref target IDREF #REQUIRED ! pageno (true|false) 'false'> <!ELEMENT eref (%CTEXT;)> <!ATTLIST eref target %URI; #REQUIRED> <!ELEMENT iref EMPTY> <!ATTLIST iref item %ATEXT; #REQUIRED ! subitem %ATEXT; ''> <!ELEMENT vspace EMPTY> <!ATTLIST vspace blankLines %NUMBER; '0'> ! <!ELEMENT figure (preamble?,artwork,postamble?)> <!ATTLIST figure anchor ID #IMPLIED ! title %ATEXT; ''> Reschke Expires April 19, 2014 [Page 30] Internet-Draft XML2RFC October 2013 ! <!ELEMENT preamble (%TEXT;|xref|eref|iref)*> <!ELEMENT artwork (%TEXT;)*> <!ATTLIST artwork ! xml:space (default|preserve) 'preserve'> ! <!ELEMENT postamble (%TEXT;|xref|eref|iref)*> ! <!ELEMENT back (references?,section*)> <!ELEMENT references (reference)+> ! <!ELEMENT reference (front,seriesInfo*)> <!ATTLIST reference anchor ID #IMPLIED target %URI; #IMPLIED> <!ELEMENT seriesInfo EMPTY> <!ATTLIST seriesInfo name %ATEXT; #REQUIRED value %ATEXT; #REQUIRED> C.2. Current DTD <!ENTITY % NUMBER "CDATA"> <!ENTITY % NUMBERS "CDATA"> <!ENTITY % DAY "CDATA"> <!ENTITY % MONTH "CDATA"> <!ENTITY % YEAR "CDATA"> <!ENTITY % URI "CDATA"> <!ENTITY % ATEXT "CDATA"> <!ENTITY % CTEXT "#PCDATA"> <!ENTITY % TEXT "#PCDATA"> <!ELEMENT rfc (front,middle,back?)> <!ATTLIST rfc Reschke Expires April 19, 2014 [Page 31] Internet-Draft XML2RFC October 2013 number %NUMBER; #IMPLIED obsoletes %NUMBERS; '' updates %NUMBERS; '' ! category (std|bcp|info|exp|historic) #IMPLIED ! consensus (no|yes) #IMPLIED seriesNo %NUMBER; #IMPLIED ! ipr (full2026|noDerivativeWorks2026|none|full3667|noModification3667 ! |noDerivatives3667|full3978|noModification3978|noDerivatives3978 ! |trust200811|noModificationTrust200811|noDerivativesTrust200811 ! |trust200902|noModificationTrust200902|noDerivativesTrust200902 ! |pre5378Trust200902) #IMPLIED ! iprExtract IDREF #IMPLIED ! submissionType (IETF|IAB|IRTF|independent) 'IETF' ! docName %ATEXT; #IMPLIED ! xml:lang %ATEXT; 'en'> <!ELEMENT front (title,author+,date,area*,workgroup*,keyword*,abstract?, note*)> <!ELEMENT title (%CTEXT;)> <!ATTLIST title abbrev %ATEXT; #IMPLIED> ! <!ELEMENT author (organization?,address?)> <!ATTLIST author initials %ATEXT; #IMPLIED surname %ATEXT; #IMPLIED ! fullname %ATEXT; #IMPLIED ! role (editor) #IMPLIED> <!ELEMENT organization (%CTEXT;)> <!ATTLIST organization abbrev %ATEXT; #IMPLIED> <!ELEMENT address (postal?,phone?,facsimile?,email?,uri?)> <!ELEMENT postal (street+,(city|region|code|country)*)> <!ELEMENT street (%CTEXT;)> <!ELEMENT city (%CTEXT;)> <!ELEMENT region (%CTEXT;)> <!ELEMENT code (%CTEXT;)> Reschke Expires April 19, 2014 [Page 32] Internet-Draft XML2RFC October 2013 <!ELEMENT country (%CTEXT;)> <!ELEMENT phone (%CTEXT;)> <!ELEMENT facsimile (%CTEXT;)> <!ELEMENT email (%CTEXT;)> <!ELEMENT uri (%CTEXT;)> <!ELEMENT date EMPTY> <!ATTLIST date day %DAY; #IMPLIED ! month %MONTH; #IMPLIED ! year %YEAR; #IMPLIED> <!ELEMENT area (%CTEXT;)> <!ELEMENT workgroup (%CTEXT;)> <!ELEMENT keyword (%CTEXT;)> <!ELEMENT abstract (t)+> <!ELEMENT note (t)+> <!ATTLIST note title %ATEXT; #REQUIRED> <!ELEMENT middle (section)+> ! <!ELEMENT section ((t|figure|texttable|iref)*,section*)> <!ATTLIST section anchor ID #IMPLIED ! title %ATEXT; #REQUIRED ! toc (include|exclude|default) 'default'> ! <!ELEMENT t (%TEXT;|list|figure|xref|eref|iref|cref|spanx|vspace)*> <!ATTLIST t + anchor ID #IMPLIED hangText %ATEXT; #IMPLIED> <!ELEMENT list (t)+> <!ATTLIST list Reschke Expires April 19, 2014 [Page 33] Internet-Draft XML2RFC October 2013 ! style %ATEXT; #IMPLIED ! hangIndent %NUMBER; #IMPLIED ! counter %ATEXT; #IMPLIED> <!ELEMENT xref (%CTEXT;)> <!ATTLIST xref target IDREF #REQUIRED ! pageno (true|false) 'false' ! format (counter|title|none|default) 'default'> <!ELEMENT eref (%CTEXT;)> <!ATTLIST eref target %URI; #REQUIRED> <!ELEMENT iref EMPTY> <!ATTLIST iref item %ATEXT; #REQUIRED ! subitem %ATEXT; '' ! primary (true|false) 'false'> ! ! <!ELEMENT cref (%CTEXT;)> ! ! <!ATTLIST cref ! anchor ID #IMPLIED ! source %ATEXT; #IMPLIED> ! ! <!ELEMENT spanx (%CTEXT;)> ! ! <!ATTLIST spanx ! xml:space (default|preserve) 'preserve' ! style %ATEXT; 'emph'> <!ELEMENT vspace EMPTY> <!ATTLIST vspace blankLines %NUMBER; '0'> ! <!ELEMENT figure (iref*,preamble?,artwork,postamble?)> <!ATTLIST figure anchor ID #IMPLIED ! title %ATEXT; '' ! suppress-title (true|false) 'false' ! src %URI; #IMPLIED ! align (left|center|right) 'left' Reschke Expires April 19, 2014 [Page 34] Internet-Draft XML2RFC October 2013 ! alt %ATEXT; '' ! width %ATEXT; '' ! height %ATEXT; ''> ! <!ELEMENT preamble (%TEXT;|xref|eref|iref|cref|spanx)*> <!ELEMENT artwork (%TEXT;)*> <!ATTLIST artwork ! xml:space (default|preserve) 'preserve' ! name %ATEXT; '' ! type %ATEXT; '' ! src %URI; #IMPLIED ! align (left|center|right) 'left' ! alt %ATEXT; '' ! width %ATEXT; '' ! height %ATEXT; ''> ! <!ELEMENT postamble (%TEXT;|xref|eref|iref|cref|spanx)*> ! <!ELEMENT texttable (preamble?,ttcol+,c*,postamble?)> ! ! <!ATTLIST texttable ! anchor ID #IMPLIED ! title %ATEXT; '' ! suppress-title (true|false) 'false' ! align (left|center|right) 'center' ! style (all|none|headers|full) 'full'> ! ! <!ELEMENT ttcol (%CTEXT;)> ! ! <!ATTLIST ttcol ! width %ATEXT; #IMPLIED ! align (left|center|right) 'left'> ! ! <!ELEMENT c (%TEXT;|xref|eref|iref|cref|spanx)*> ! ! <!ELEMENT back (references*,section*)> <!ELEMENT references (reference)+> ! <!ATTLIST references ! title %ATEXT; 'References'> ! ! <!ELEMENT reference (front,seriesInfo*,format*,annotation*)> <!ATTLIST reference anchor ID #IMPLIED Reschke Expires April 19, 2014 [Page 35] Internet-Draft XML2RFC October 2013 target %URI; #IMPLIED> <!ELEMENT seriesInfo EMPTY> <!ATTLIST seriesInfo name %ATEXT; #REQUIRED value %ATEXT; #REQUIRED> + + <!ELEMENT format EMPTY> + + <!ATTLIST format + target %URI; #IMPLIED + type %ATEXT; #REQUIRED + octets %NUMBER; #IMPLIED> + + <!ELEMENT annotation (%TEXT;|xref|eref|iref|cref|spanx)*> Index A abbrev attribute in organization element 13 in title element 23 abstract element 4 inside front 12 address element 4 inside author 7 align attribute in artwork element 5 in figure element 10 in texttable element 22 in ttcol element 23 alt attribute in artwork element 6 in figure element 10 anchor attribute in cref element 8 in figure element 10 in reference element 15 in section element 19 in t element 21 in texttable element 21 annotation element 4 inside reference 16 area element 5 inside front 11 artwork element 5 align attribute 5 Reschke Expires April 19, 2014 [Page 36] Internet-Draft XML2RFC October 2013 alt attribute 6 height attribute 6 inside figure 11 name attribute 5 src attribute 5 type attribute 5 width attribute 6 xml:space attribute 5 Attributes abbrev 13, 23 align 5, 10, 22-23 alt 6, 10 anchor 8, 10, 15, 19, 21 blankLines 24 category 16 consensus 17 counter 13 day 8 docName 18 format 24 fullname 6 hangIndent 13 hangText 21 height 6, 10 initials 6 ipr 17 iprExtract 18 item 12 month 9 name 5, 20 number 16 obsoletes 16 octets 11 pageno 24 primary 12 role 6 seriesNo 17 source 8 src 5, 10 style 13, 20, 22 subitem 12 submissionType 18 suppress-title 10, 22 surname 6 target 9, 11, 15, 24 title 10, 13, 16, 19, 21 toc 19 type 5, 11 Reschke Expires April 19, 2014 [Page 37] Internet-Draft XML2RFC October 2013 updates 16 value 20 width 6, 10, 23 xml:lang 18 xml:space 5, 20 year 9 author element 6 fullname attribute 6 initials attribute 6 inside front 11 role attribute 6 surname attribute 6 B back element 7 inside rfc 18 blankLines attribute in vspace element 24 C c element 7 inside texttable 22 category attribute in rfc element 16 city element 7 inside postal 14 code element 8 inside postal 14 consensus attribute in rfc element 17 counter attribute in list element 13 country element 8 inside postal 14 cref element 8 anchor attribute 8 inside annotation 5 inside c 7 inside postamble 15 inside preamble 15 inside t 21 source attribute 8 D date element 8 day attribute 8 inside front 11 month attribute 9 Reschke Expires April 19, 2014 [Page 38] Internet-Draft XML2RFC October 2013 year attribute 9 day attribute in date element 8 docName attribute in rfc element 18 E Elements abstract 4, 12 address 4, 7 annotation 4, 16 area 5, 11 artwork 5, 11 author 6, 11 back 7, 18 c 7, 22 city 7, 14 code 8, 14 country 8, 14 cref 5, 7-8, 15, 21 date 8, 11 email 4, 9 eref 5, 7, 9, 14-15, 21 facsimile 4, 9 figure 9, 19, 21 format 11, 15 front 11, 15, 18 iref 5, 7, 11-12, 14-15, 19, 21 keyword 11-12 list 12, 21 middle 13, 18 note 12-13 organization 7, 13 phone 4, 14 postal 4, 14 postamble 11, 14, 22 preamble 11, 15, 22 reference 15-16 references 7, 16 region 14, 16 rfc 16 section 7, 13, 19 seriesInfo 15, 19 spanx 5, 7, 15, 20-21 street 14, 20 t 4, 13, 19-20 texttable 19, 21 title 11, 23 Reschke Expires April 19, 2014 [Page 39] Internet-Draft XML2RFC October 2013 ttcol 22-23 uri 4, 23 vspace 21, 24 workgroup 11, 24 xref 4, 7, 14-15, 21, 24 email element 9 inside address 4 eref element 9 inside annotation 5 inside c 7 inside postamble 14 inside preamble 15 inside t 21 target attribute 9 F facsimile element 9 inside address 4 figure element 9 align attribute 10 alt attribute 10 anchor attribute 10 height attribute 10 inside section 19 inside t 21 src attribute 10 suppress-title attribute 10 title attribute 10 width attribute 10 format attribute in xref element 24 format element 11 inside reference 15 octets attribute 11 target attribute 11 type attribute 11 front element 11 inside reference 15 inside rfc 18 fullname attribute in author element 6 H hangIndent attribute in list element 13 hangText attribute in t element 21 height attribute Reschke Expires April 19, 2014 [Page 40] Internet-Draft XML2RFC October 2013 in artwork element 6 in figure element 10 I initials attribute in author element 6 ipr attribute in rfc element 17 iprExtract attribute in rfc element 18 iref element 12 inside annotation 5 inside c 7 inside figure 11 inside postamble 14 inside preamble 15 inside section 19 inside t 21 item attribute 12 primary attribute 12 subitem attribute 12 item attribute in iref element 12 K keyword element 12 inside front 11 L list element 12 counter attribute 13 hangIndent attribute 13 inside t 21 style attribute 13 M middle element 13 inside rfc 18 month attribute in date element 9 N name attribute in artwork element 5 in seriesInfo element 20 note element 13 inside front 12 title attribute 13 Reschke Expires April 19, 2014 [Page 41] Internet-Draft XML2RFC October 2013 number attribute in rfc element 16 O obsoletes attribute in rfc element 16 octets attribute in format element 11 organization element 13 abbrev attribute 13 inside author 7 P pageno attribute in xref element 24 phone element 14 inside address 4 postal element 14 inside address 4 postamble element 14 inside figure 11 inside texttable 22 preamble element 15 inside figure 11 inside texttable 22 primary attribute in iref element 12 R reference element 15 anchor attribute 15 inside references 16 target attribute 15 references element 16 inside back 7 title attribute 16 region element 16 inside postal 14 rfc element 16 category attribute 16 consensus attribute 17 docName attribute 18 ipr attribute 17 iprExtract attribute 18 number attribute 16 obsoletes attribute 16 seriesNo attribute 17 submissionType attribute 18 Reschke Expires April 19, 2014 [Page 42] Internet-Draft XML2RFC October 2013 updates attribute 16 xml:lang attribute 18 role attribute in author element 6 S section element 19 anchor attribute 19 inside back 7 inside middle 13 inside section 19 title attribute 19 toc attribute 19 seriesInfo element 19 inside reference 15 name attribute 20 value attribute 20 seriesNo attribute in rfc element 17 source attribute in cref element 8 spanx element 20 inside annotation 5 inside c 7 inside postamble 15 inside preamble 15 inside t 21 style attribute 20 xml:space attribute 20 src attribute in artwork element 5 in figure element 10 street element 20 inside postal 14 style attribute in list element 13 in spanx element 20 in texttable element 22 subitem attribute in iref element 12 submissionType attribute in rfc element 18 suppress-title attribute in figure element 10 in texttable element 22 surname attribute in author element 6 Reschke Expires April 19, 2014 [Page 43] Internet-Draft XML2RFC October 2013 T t element 20 anchor attribute 21 hangText attribute 21 inside abstract 4 inside list 13 inside note 13 inside section 19 target attribute in eref element 9 in format element 11 in reference element 15 in xref element 24 texttable element 21 align attribute 22 anchor attribute 21 inside section 19 style attribute 22 suppress-title attribute 22 title attribute 21 title attribute in figure element 10 in note element 13 in references element 16 in section element 19 in texttable element 21 title element 23 abbrev attribute 23 inside front 11 toc attribute in section element 19 ttcol element 23 align attribute 23 inside texttable 22 width attribute 23 type attribute in artwork element 5 in format element 11 U updates attribute in rfc element 16 uri element 23 inside address 4 V value attribute in seriesInfo element 20 Reschke Expires April 19, 2014 [Page 44] Internet-Draft XML2RFC October 2013 vspace element 24 blankLines attribute 24 inside t 21 W width attribute in artwork element 6 in figure element 10 in ttcol element 23 workgroup element 24 inside front 11 X xml:lang attribute in rfc element 18 xml:space attribute in artwork element 5 in spanx element 20 xref element 24 format attribute 24 inside annotation 4 inside c 7 inside postamble 14 inside preamble 15 inside t 21 pageno attribute 24 target attribute 24 Y year attribute in date element 9 Author's Address Julian F. Reschke greenbytes GmbH Hafenweg 16 Muenster, NW 48155 Germany EMail: julian.reschke@greenbytes.de URI: http://greenbytes.de/tech/webdav/ Reschke Expires April 19, 2014 [Page 45]