One document matched: draft-reschke-xml2rfc-02.txt
Differences from draft-reschke-xml2rfc-01.txt
Network Working Group J. Reschke
Internet-Draft greenbytes
Obsoletes: 2629 (if approved) November 26, 2013
Intended status: Standards Track
Expires: May 30, 2014
The 'XML2RFC' version 2 Vocabulary
draft-reschke-xml2rfc-02
Abstract
This document defines the 'XML2RFC' version 2 vocabulary; an XML-
based language used for writing Internet-Drafts and RFCs. This
vocabulary is used for current processing of XML into RFCs. A future
version of this vocabulary will be used as the canonical version of
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
<https://www.ietf.org/mailman/listinfo/xml2rfc>.
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 May 30, 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
Reschke Expires May 30, 2014 [Page 1]
Internet-Draft XML2RFC November 2013
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
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
1.1. Syntax Notation . . . . . . . . . . . . . . . . . . . . . 4
2. Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. <abstract> . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. <address> . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3. <annotation> . . . . . . . . . . . . . . . . . . . . . . . 5
2.4. <area> . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5. <artwork> . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6. <author> . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.7. <back> . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8. <c> . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.9. <city> . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.10. <code> . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.11. <country> . . . . . . . . . . . . . . . . . . . . . . . . 13
2.12. <cref> . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.13. <date> . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.14. <email> . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.15. <eref> . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.16. <facsimile> . . . . . . . . . . . . . . . . . . . . . . . 17
2.17. <figure> . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.18. <format> . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.19. <front> . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.20. <iref> . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.21. <keyword> . . . . . . . . . . . . . . . . . . . . . . . . 22
2.22. <list> . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.23. <middle> . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.24. <note> . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.25. <organization> . . . . . . . . . . . . . . . . . . . . . . 25
2.26. <phone> . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.27. <postal> . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.28. <postamble> . . . . . . . . . . . . . . . . . . . . . . . 26
2.29. <preamble> . . . . . . . . . . . . . . . . . . . . . . . . 27
2.30. <reference> . . . . . . . . . . . . . . . . . . . . . . . 28
2.31. <references> . . . . . . . . . . . . . . . . . . . . . . . 29
2.32. <region> . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.33. <rfc> . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.34. <section> . . . . . . . . . . . . . . . . . . . . . . . . 34
2.35. <seriesInfo> . . . . . . . . . . . . . . . . . . . . . . . 36
Reschke Expires May 30, 2014 [Page 2]
Internet-Draft XML2RFC November 2013
2.36. <spanx> . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.37. <street> . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.38. <t> . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.39. <texttable> . . . . . . . . . . . . . . . . . . . . . . . 39
2.40. <title> . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.41. <ttcol> . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.42. <uri> . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.43. <vspace> . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.44. <workgroup> . . . . . . . . . . . . . . . . . . . . . . . 44
2.45. <xref> . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3. Special Unicode Code Points . . . . . . . . . . . . . . . . . 45
4. Internationalization Considerations . . . . . . . . . . . . . 46
5. Security Considerations . . . . . . . . . . . . . . . . . . . 46
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 46
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 46
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.1. Normative References . . . . . . . . . . . . . . . . . . . 46
8.2. Informative References . . . . . . . . . . . . . . . . . . 46
Appendix A. Front Page Generation . . . . . . . . . . . . . . . . 47
A.1. The /rfc/@category Attribute . . . . . . . . . . . . . . . 48
A.2. The /rfc/@ipr Attribute . . . . . . . . . . . . . . . . . 48
A.2.1. Current Values: '*trust200902' . . . . . . . . . . . . 48
A.2.2. Historic Values . . . . . . . . . . . . . . . . . . . 50
Appendix B. Changes from RFC 2629 ('v1') . . . . . . . . . . . . 51
B.1. Removed Elements . . . . . . . . . . . . . . . . . . . . . 51
B.2. Changed Defaults . . . . . . . . . . . . . . . . . . . . . 51
B.3. Changed Elements . . . . . . . . . . . . . . . . . . . . . 51
B.4. New Elements . . . . . . . . . . . . . . . . . . . . . . . 52
Appendix C. Relax NG Schema . . . . . . . . . . . . . . . . . . . 52
Appendix D. Proposed Future Changes for 'v3' . . . . . . . . . . 57
D.1. Contact Information . . . . . . . . . . . . . . . . . . . 57
D.2. Figures . . . . . . . . . . . . . . . . . . . . . . . . . 58
D.3. Linking . . . . . . . . . . . . . . . . . . . . . . . . . 58
D.4. Lists . . . . . . . . . . . . . . . . . . . . . . . . . . 58
D.5. References . . . . . . . . . . . . . . . . . . . . . . . . 59
D.6. Archival Considerations . . . . . . . . . . . . . . . . . 59
D.7. Document Metadata . . . . . . . . . . . . . . . . . . . . 59
D.8. Misc. . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Appendix E. Comparison Of Vocabularies (to be removed before
publication as RFC) . . . . . . . . . . . . . . . . . 60
E.1. RFC 2629 ('v1') RelaxNG Grammar . . . . . . . . . . . . . 60
E.2. Current ('v2') RelaxNG Grammar . . . . . . . . . . . . . . 63
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Reschke Expires May 30, 2014 [Page 3]
Internet-Draft XML2RFC November 2013
1. Introduction
This document describes version 2 ('v2') of the 'XML2RFC' vocabulary;
an XML (Extensible Markup Language) language ([XML]) used for writing
RFCs ([RFCSTYLE]) and Internet-Drafts ([IDGUIDE]).
It obsoletes the original version ("v1") [RFC2629], which contained
the original language definition, and which was subsequently extended
("v2"). Furthermore, it discusses potential extensions in a future
revision ("v3").
Note that not the vocabulary contains certain constructs that might
not be used when generating the final text; however, they can provide
useful data for other uses (such index generation, populating a
keyword database, or syntax checks).
1.1. Syntax Notation
The XML vocabulary here is defined in prose, based on the Relax NG
schema ([RNC]) contained in Appendix C (specified in Relax NG Compact
Notation, "RNC").
Each element description also contains the RNC fragment for that
specific element in a slightly simplified form (for instance, leaving
out defaults). This is included as alternative for readers who
prefer formal syntax over prose. [[anchor2: This information is
redundant with the prose *and* repeated in the index; I'd like to
hear feedback whether it's more useful than distracting.]]
Note that the schema can be used for automated validity checks, but
certain constraints are only described in prose (example: the
conditionally required presence of the "abbrev" attribute).
2. Elements
[[anchor3: In the section below, some elements/attributes do not have
a prose description yet. This is because this is work-in-progress;
feedback with accurate descriptions is appreciated.]]
2.1. <abstract>
Contains the abstract of the document. The abstract ought to be
self-contained and thus should not contain references or unexpanded
abbreviations. See Section 4.3 of [RFCSTYLE] for more information.
This element appears as child element of: <front> (Section 2.19).
Content model:
Reschke Expires May 30, 2014 [Page 4]
Internet-Draft XML2RFC November 2013
One or more <t> elements (Section 2.38)
2.1.1. Grammar
abstract =
element abstract {
t+
}
2.2. <address>
Provides address information for the author.
This element appears as child element of: <author> (Section 2.6).
Content model:
1. One optional <postal> element (Section 2.27)
2. One optional <phone> element (Section 2.26)
3. One optional <facsimile> element (Section 2.16)
4. One optional <email> element (Section 2.14)
5. One optional <uri> element (Section 2.42)
2.2.1. Grammar
address =
element address {
postal?,
phone?,
facsimile?,
email?,
uri?
}
2.3. <annotation>
Provides additional prose augmenting a bibliographical reference.
Reschke Expires May 30, 2014 [Page 5]
Internet-Draft XML2RFC November 2013
For instance:
<annotation>
Latest version available at <eref
target='http://www.w3.org/TR/xml'/>.
</annotation>
...will generate the text used in the reference for [XML].
This element appears as child element of: <reference> (Section 2.30).
Content model:
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.3.1. Grammar
annotation =
element annotation {
(TEXT
| xref
| eref
| iref
| cref
| spanx)*
}
2.4. <area>
Provides information about the IETF area this document applies to
(currently not used when generating documents).
This element appears as child element of: <front> (Section 2.19).
Content model: only text content.
Reschke Expires May 30, 2014 [Page 6]
Internet-Draft XML2RFC November 2013
2.4.1. Grammar
area =
element area {
CTEXT
}
2.5. <artwork>
This element allows the inclusion of "artwork" into the document.
<artwork> is the only element in the vocabulary that provides full
control of horizontal whitespace and line breaks, and thus is used
for a variety of things, such as:
o diagrams ("line art"),
o source code,
o formal languages (such as ABNF or the RNC notation used in this
document),
o complex tables, or
o protocol unit diagrams.
Alternatively, the "src" attribute allows referencing an external
graphics file, such as a bitmap or a vector drawing. In this case,
the textual content ought to contain either a "line art" variant of
the graphics, or otherwise prose that describes the included image in
sufficient detail. Note that RFCs occasionally are published with
enhanced diagrams; a recent example is [RFC5598].
This element appears as child element of: <figure> (Section 2.17).
Content model:
Text
2.5.1. Attributes
2.5.1.1. align
(optional)
Controls whether the artwork appears left (default), centered, or
right.
Reschke Expires May 30, 2014 [Page 7]
Internet-Draft XML2RFC November 2013
Allowed values:
o "left" (default)
o "center"
o "right"
2.5.1.2. alt
(optional)
Alternative text description of the artwork (not just the caption).
2.5.1.3. height
(optional)
The suggested height of the graphics included using the "src"
attribute.
This attribute is format-dependent and ought to be avoided.
When generating HTML output, current implementations copy the
attribute "as is". For other output formats it is usually ignored.
2.5.1.4. name
(optional)
A filename suitable for the contents (such as for extraction to a
local file).
This attribute generally isn't used for document generation, but it
can be helpful for other kinds of tools (such as automated syntax
checkers which work by extracting the source code).
2.5.1.5. src
(optional)
The URI of a graphics file.
Note that this can be a "data" URI ([RFC2397]) as well, in which case
the graphics file essentially is in-lined.
Reschke Expires May 30, 2014 [Page 8]
Internet-Draft XML2RFC November 2013
2.5.1.6. type
(optional)
Specifies the type of the artwork.
The value either is a well-known keyword (such as "abnf"), or an
Internet Media Type (see [RFC2046]).
How it is used depends on context and application. For instance, a
formatter can attempt to syntax-highlight code in certain known
languages.
2.5.1.7. width
(optional)
The suggested width of the graphics included using the "src"
attribute.
This attribute is format-dependent and ought to be avoided.
When generating HTML output, current implementations copy the
attribute "as is". For other output formats it is usually ignored.
2.5.1.8. xml:space
(optional)
Determines whitespace handling.
"preserve" is both the default value and the only meaningful setting
anyway (because that's what the <artwork> element is for).
See also Section 2.10 of [XML].
Allowed values:
o "default"
o "preserve" (default)
2.5.2. Grammar
Reschke Expires May 30, 2014 [Page 9]
Internet-Draft XML2RFC November 2013
artwork =
element artwork {
attribute xml:space ( "default" | "preserve" )?,
attribute name { ATEXT }?,
attribute type { ATEXT }?,
attribute src { URI }?,
attribute align ( "left" | "center" | "right" )?,
attribute alt { ATEXT }?,
attribute width { ATEXT }?,
attribute height { ATEXT }?,
TEXT*
}
2.6. <author>
Provides information about a document author.
The <author> elements contained within the document's <front> element
are used to fill the boilerplate, and also to generate the "Author's
Address" section (see Section 4.9 of [RFCSTYLE]).
Note that an "author" can also be just an organization (by not
specifying any of the name attributes, but adding the <organization>
child element).
Furthermore, the "role" attribute can be used to mark an author as
"editor". This is reflected both on the front page and in
bibliographical references. Note that this specification does not
define a precise meaning for the term "editor".
See Section "Authors vs. Contributors" of [RFCPOLICY] for more
information.
This element appears as child element of: <front> (Section 2.19).
Content model:
1. One optional <organization> element (Section 2.25)
2. One optional <address> element (Section 2.2)
2.6.1. Attributes
2.6.1.1. fullname
(optional)
The full name (used in the automatically generated "Author's Address"
Reschke Expires May 30, 2014 [Page 10]
Internet-Draft XML2RFC November 2013
section).
2.6.1.2. initials
(optional)
Author initials (used on the front page and in references).
Initials should be provided as a whitespace separated list of pairs
of a letter and a dot.
2.6.1.3. role
(optional)
Specifies the role the author had in creating the document.
Allowed values:
o "editor"
2.6.1.4. surname
(optional)
The author's surname.
2.6.2. Grammar
author =
element author {
attribute initials { ATEXT }?,
attribute surname { ATEXT }?,
attribute fullname { ATEXT }?,
attribute role { "editor" }?,
organization?,
address?
}
2.7. <back>
Contains the "back" part of the document: the references and
appendices.
This element appears as child element of: <rfc> (Section 2.33).
Content model:
Reschke Expires May 30, 2014 [Page 11]
Internet-Draft XML2RFC November 2013
1. Optional <references> elements (Section 2.31)
2. Optional <section> elements (Section 2.34)
2.7.1. Grammar
back =
element back {
references*,
section*
}
2.8. <c>
Provides the content of a cell in a table.
This element appears as child element of: <texttable> (Section 2.39).
Content model:
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.8.1. Grammar
c =
element c {
(TEXT
| xref
| eref
| iref
| cref
| spanx)*
}
Reschke Expires May 30, 2014 [Page 12]
Internet-Draft XML2RFC November 2013
2.9. <city>
Gives the city name in a postal address.
This element appears as child element of: <postal> (Section 2.27).
Content model: only text content.
2.9.1. Grammar
city =
element city {
CTEXT
}
2.10. <code>
Gives the postal region code.
This element appears as child element of: <postal> (Section 2.27).
Content model: only text content.
2.10.1. Grammar
code =
element code {
CTEXT
}
2.11. <country>
Gives the country in a postal address.
This element appears as child element of: <postal> (Section 2.27).
Content model: only text content.
2.11.1. Grammar
country =
element country {
CTEXT
}
Reschke Expires May 30, 2014 [Page 13]
Internet-Draft XML2RFC November 2013
2.12. <cref>
Represents a comment.
Comments can be used in a document while it is work-in-progress.
They usually appear either visually highlighted, at the end of the
document (depending on file format and settings of the formatter), or
not at all (when generating an RFC).
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).
Content model: only text content.
2.12.1. Attributes
2.12.1.1. anchor
(optional)
[[element.cref.attribute.anchor.missing: attribute description
missing]]
2.12.1.2. source
(optional)
Holds the "source" of a comment, such as the name or the initials of
the person who made the comment.
2.12.2. Grammar
cref =
element cref {
attribute anchor { xsd:ID }?,
attribute source { ATEXT }?,
CTEXT
}
2.13. <date>
Provides information about the publication date.
Note that this element is used both for the boilerplate of the
document being produced, and also inside bibliographic references.
In the first case, it defines the publication date, which, when
Reschke Expires May 30, 2014 [Page 14]
Internet-Draft XML2RFC November 2013
producing Internet-Drafts, will be used for computing the expiration
date (see Section 8 of [IDGUIDE]). When "year", "month" or "day" are
left out, the processor will attempt to use the current system date
if the attributes that are specified do match the system date. Note
that month names need to match the full (English) month name
("January", "February", "March", "April", "May, "June", "July",
"August", "September", "October", "November", or "December") in order
for expiration calculations to work.
In the second case, the date information will be embedded as-is into
the reference text. Therefore, also vague dates ("ca. 2000"), date
ranges, and so on, are allowed.
This element appears as child element of: <front> (Section 2.19).
Content model: this element does not have any contents.
2.13.1. Attributes
2.13.1.1. day
(optional)
Day of publication.
2.13.1.2. month
(optional)
Month of publication.
2.13.1.3. year
(optional)
Year of publication.
2.13.2. Grammar
date =
element date {
attribute day { DAY }?,
attribute month { MONTH }?,
attribute year { YEAR }?,
empty
}
Reschke Expires May 30, 2014 [Page 15]
Internet-Draft XML2RFC November 2013
2.14. <email>
Provides an email address.
The value is expected to be the scheme-specific part of a "mailto"
URI (so does not include the prefix "mailto:"). See Section 2 of
[RFC6068] for details.
This element appears as child element of: <address> (Section 2.2).
Content model: only text content.
2.14.1. Grammar
email =
element email {
CTEXT
}
2.15. <eref>
Represents an "external" link (as specified in the "target"
attribute).
If the element has text content, that content will be used.
Otherwise, the value of the target attribute will be inserted in
angle brackets ([RFC3986], Appendix C).
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).
Content model: only text content.
2.15.1. Attributes
2.15.1.1. target
(mandatory)
URI of the link target (see Section 3 of [RFC3986]).
2.15.2. Grammar
Reschke Expires May 30, 2014 [Page 16]
Internet-Draft XML2RFC November 2013
eref =
element eref {
attribute target { URI },
CTEXT
}
2.16. <facsimile>
Represents the phone number of a fax machine.
The value is expected to be the scheme-specific part of a "tel" URI
(so does not include the prefix "tel:"), using the "global numbers"
syntax. See Section 3 of [RFC3966] for details.
This element appears as child element of: <address> (Section 2.2).
Content model: only text content.
2.16.1. Grammar
facsimile =
element facsimile {
CTEXT
}
2.17. <figure>
[[element.figure.missing: element description missing]]
This element appears as child element of: <section> (Section 2.34),
and <t> (Section 2.38).
Content model:
1. Optional <iref> elements (Section 2.20)
2. One optional <preamble> element (Section 2.29)
3. One <artwork> element (Section 2.5)
4. One optional <postamble> element (Section 2.28)
2.17.1. Attributes
2.17.1.1. align
(optional)
Reschke Expires May 30, 2014 [Page 17]
Internet-Draft XML2RFC November 2013
[[element.figure.attribute.align.missing: attribute description
missing]]
Allowed values:
o "left" (default)
o "center"
o "right"
2.17.1.2. alt
(optional)
[[element.figure.attribute.alt.missing: attribute description
missing]]
2.17.1.3. anchor
(optional)
[[element.figure.attribute.anchor.missing: attribute description
missing]]
2.17.1.4. height
(optional)
[[element.figure.attribute.height.missing: attribute description
missing]]
2.17.1.5. src
(optional)
[[element.figure.attribute.src.missing: attribute description
missing]]
2.17.1.6. suppress-title
(optional)
Figures that have an "anchor" attribute will automatically get an
autogenerated title (such as "Figure 1"). Setting this attribute to
"false" will prevent this.
Allowed values:
Reschke Expires May 30, 2014 [Page 18]
Internet-Draft XML2RFC November 2013
o "true"
o "false" (default)
2.17.1.7. title
(optional)
[[element.figure.attribute.title.missing: attribute description
missing]]
2.17.1.8. width
(optional)
[[element.figure.attribute.width.missing: attribute description
missing]]
2.17.2. Grammar
figure =
element figure {
attribute anchor { xsd:ID }?,
attribute title { ATEXT }?,
attribute suppress-title ( "true" | "false" )?,
attribute src { URI }?,
attribute align ( "left" | "center" | "right" )?,
attribute alt { ATEXT }?,
attribute width { ATEXT }?,
attribute height { ATEXT }?,
iref*,
preamble?,
artwork,
postamble?
}
2.18. <format>
Provides a link to an additional format variant for a reference.
Note that these additional links are neither used in published RFCs,
nor supported by all tools. If the goal is to provide a single URI
for a reference, the "target" attribute on <reference> can be used
instead.
This element appears as child element of: <reference> (Section 2.30).
Content model: this element does not have any contents.
Reschke Expires May 30, 2014 [Page 19]
Internet-Draft XML2RFC November 2013
2.18.1. Attributes
2.18.1.1. octets
(optional)
Octet length of linked-to document.
2.18.1.2. target
(optional)
URI of document.
[[anchor11: Why is this optional?]]
2.18.1.3. type
(mandatory)
The type of the linked-to document, such as "TXT", "HTML", or "PDF".
2.18.2. Grammar
format =
element format {
attribute target { URI }?,
attribute type { ATEXT },
attribute octets { NUMBER }?,
empty
}
2.19. <front>
Represent the "front matter": metadata (such as author information),
abstract, and additional notes.
This element appears as child element of: <reference> (Section 2.30),
and <rfc> (Section 2.33).
Content model:
1. One <title> element (Section 2.40)
2. One or more <author> elements (Section 2.6)
3. One <date> element (Section 2.13)
Reschke Expires May 30, 2014 [Page 20]
Internet-Draft XML2RFC November 2013
4. Optional <area> elements (Section 2.4)
5. Optional <workgroup> elements (Section 2.44)
6. Optional <keyword> elements (Section 2.21)
7. One optional <abstract> element (Section 2.1)
8. Optional <note> elements (Section 2.24)
2.19.1. Grammar
front =
element front {
title,
author+,
date,
area*,
workgroup*,
keyword*,
abstract?,
note*
}
2.20. <iref>
Provides terms for the document's index.
Index entries can be either single items (when just the "item"
attribute is given) or nested items (by specifying "subitem" as
well).
For instance:
<iref item="Grammar" subitem="item"/>
will produce an index entry for "Grammar, item".
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).
Content model: this element does not have any contents.
Reschke Expires May 30, 2014 [Page 21]
Internet-Draft XML2RFC November 2013
2.20.1. Attributes
2.20.1.1. item
(mandatory)
The item to include.
2.20.1.2. primary
(optional)
Setting this to "true" declares the occurrence as "primary", which
might cause it to be highlighted in the index.
Allowed values:
o "true"
o "false" (default)
2.20.1.3. subitem
(optional)
The subitem to include.
2.20.2. Grammar
iref =
element iref {
attribute item { ATEXT },
attribute subitem { ATEXT }?,
attribute primary ( "true" | "false" )?,
empty
}
2.21. <keyword>
Specifies a keyword applicable to the document.
Note that each element should only contain a single keyword; for
multiple keywords, the element can simply be repeated.
Keywords are used both in the RFC Index and in the metadata of
generated document formats.
This element appears as child element of: <front> (Section 2.19).
Reschke Expires May 30, 2014 [Page 22]
Internet-Draft XML2RFC November 2013
Content model: only text content.
2.21.1. Grammar
keyword =
element keyword {
CTEXT
}
2.22. <list>
Delineates a text list.
This element appears as child element of: <t> (Section 2.38).
Content model:
One or more <t> elements (Section 2.38)
2.22.1. Attributes
2.22.1.1. counter
(optional)
[[element.list.attribute.counter.missing: attribute description
missing]]
2.22.1.2. hangIndent
(optional)
[[element.list.attribute.hangIndent.missing: attribute description
missing]]
2.22.1.3. style
(optional)
[[element.list.attribute.style.missing: attribute description
missing]]
2.22.2. Grammar
Reschke Expires May 30, 2014 [Page 23]
Internet-Draft XML2RFC November 2013
\list =
element \list {
attribute style { ATEXT }?,
attribute hangIndent { NUMBER }?,
attribute counter { ATEXT }?,
t+
}
2.23. <middle>
Represents the main content of the document.
This element appears as child element of: <rfc> (Section 2.33).
Content model:
One or more <section> elements (Section 2.34)
2.23.1. Grammar
middle =
element middle {
section+
}
2.24. <note>
Creates an unnumbered section that appears after the abstract.
It is usually used for additional information to reviewers (working
group information, mailing list, ...), or for additional publication
information such as "IESG Notes".
This element appears as child element of: <front> (Section 2.19).
Content model:
One or more <t> elements (Section 2.38)
2.24.1. Attributes
2.24.1.1. title
(mandatory)
The title of the note.
Reschke Expires May 30, 2014 [Page 24]
Internet-Draft XML2RFC November 2013
2.24.2. Grammar
note =
element note {
attribute title { ATEXT },
t+
}
2.25. <organization>
Specifies the affiliation of an author.
This information appears in both the "Author's Address" section and
on the front page ([RFCSTYLE], Section 4.1.2). If the value is long,
an abbreviated variant can be specified in the "abbrev" attribute.
This element appears as child element of: <author> (Section 2.6).
Content model: only text content.
2.25.1. Attributes
2.25.1.1. abbrev
(optional)
Abbreviated variant.
2.25.2. Grammar
organization =
element organization {
attribute abbrev { ATEXT }?,
CTEXT
}
2.26. <phone>
Represents a phone number.
The value is expected to be the scheme-specific part of a "tel" URI
(so does not include the prefix "tel:"), using the "global numbers"
syntax. See Section 3 of [RFC3966] for details.
This element appears as child element of: <address> (Section 2.2).
Content model: only text content.
Reschke Expires May 30, 2014 [Page 25]
Internet-Draft XML2RFC November 2013
2.26.1. Grammar
phone =
element phone {
CTEXT
}
2.27. <postal>
Contains child elements providing postal information.
This element appears as child element of: <address> (Section 2.2).
Content model:
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.27.1. Grammar
postal =
element postal {
street+,
(city
| region
| code
| country)*
}
2.28. <postamble>
Gives text that appears at the bottom of a figure or table.
This element appears as child element of: <figure> (Section 2.17),
and <texttable> (Section 2.39).
Content model:
In any order:
Reschke Expires May 30, 2014 [Page 26]
Internet-Draft XML2RFC November 2013
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.28.1. Grammar
postamble =
element postamble {
(TEXT
| xref
| eref
| iref
| cref
| spanx)*
}
2.29. <preamble>
Gives text that appears at the top of a figure or table.
This element appears as child element of: <figure> (Section 2.17),
and <texttable> (Section 2.39).
Content model:
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)
Reschke Expires May 30, 2014 [Page 27]
Internet-Draft XML2RFC November 2013
2.29.1. Grammar
preamble =
element preamble {
(TEXT
| xref
| eref
| iref
| cref
| spanx)*
}
2.30. <reference>
Represents a bibliographical reference.
This element appears as child element of: <references>
(Section 2.31).
Content model:
1. One <front> element (Section 2.19)
2. Optional <seriesInfo> elements (Section 2.35)
3. Optional <format> elements (Section 2.18)
4. Optional <annotation> elements (Section 2.3)
2.30.1. Attributes
2.30.1.1. anchor
(optional)
[[element.reference.attribute.anchor.missing: attribute description
missing]]
2.30.1.2. target
(optional)
Holds the URI for the reference.
Note that depending on the <seriesInfo> element, a URI might not be
needed, nor desirable, as it can be automatically generated (for
instance, for RFCs).
Reschke Expires May 30, 2014 [Page 28]
Internet-Draft XML2RFC November 2013
2.30.2. Grammar
reference =
element reference {
attribute anchor { xsd:ID }?,
attribute target { URI }?,
front,
seriesInfo*,
format*,
annotation*
}
2.31. <references>
Contains a set of bibliographical references.
In the early days of the RFC series, there was only one "References"
section per RFC. This convention was later changed to group
references into two sets, "Normative" and "Informative"; see item x
of Section 4.8 of [RFCSTYLE]). This vocabulary supports the split
with the "title" attribute.
This element appears as child element of: <back> (Section 2.7).
Content model:
One or more <reference> elements (Section 2.30)
2.31.1. Attributes
2.31.1.1. title
(optional)
Provides the title for the References section (defaulting to
"References").
In general, the title should be either "Normative References" or
"Informative References".
2.31.2. Grammar
references =
element references {
attribute title { ATEXT }?,
reference+
}
Reschke Expires May 30, 2014 [Page 29]
Internet-Draft XML2RFC November 2013
2.32. <region>
Provides the region name in a postal address.
This element appears as child element of: <postal> (Section 2.27).
Content model: only text content.
2.32.1. Grammar
region =
element region {
CTEXT
}
2.33. <rfc>
This is the root element of the xml2rfc vocabulary.
Processors distinguish between RFC mode ("number" attribute being
present) and Internet-Draft mode ("docName" attribute being present):
it is invalid to specify both. Setting neither "number" nor
"docName" can be useful for producing other types of document but is
out-of-scope for this specification.
Content model:
1. One <front> element (Section 2.19)
2. One <middle> element (Section 2.23)
3. One optional <back> element (Section 2.7)
2.33.1. Attributes
2.33.1.1. category
(optional)
Document category (see Appendix A.1).
Allowed values:
o "std"
o "bcp"
Reschke Expires May 30, 2014 [Page 30]
Internet-Draft XML2RFC November 2013
o "info"
o "exp"
o "historic"
2.33.1.2. consensus
(optional)
Affects the generated boilerplate.
See [RFC5741] for more information.
Allowed values:
o "no"
o "yes"
2.33.1.3. docName
(optional)
For Internet-Drafts, this specifies the draft name (which appears
below the title).
Note that the file extension is not part of the draft, so in general
it should end with the current draft number ("-", plus two digits).
Furthermore, it is good practice to disambiguate current editor
copies from submitted drafts (for instance, by replacing the draft
number with the string "latest").
See Section 7 of [IDGUIDE] for further information.
2.33.1.4. ipr
(optional)
Represents the Intellectual Property status of the document. See
Appendix A.2 for details.
Allowed values:
o "full2026"
Reschke Expires May 30, 2014 [Page 31]
Internet-Draft XML2RFC November 2013
o "noDerivativeWorks2026"
o "none"
o "full3667"
o "noModification3667"
o "noDerivatives3667"
o "full3978"
o "noModification3978"
o "noDerivatives3978"
o "trust200811"
o "noModificationTrust200811"
o "noDerivativesTrust200811"
o "trust200902"
o "noModificationTrust200902"
o "noDerivativesTrust200902"
o "pre5378Trust200902"
2.33.1.5. iprExtract
(optional)
Identifies a Section within the document for which extraction "as-is"
is explicitly allowed (only relevant for historic values of the "ipr"
attribute).
2.33.1.6. number
(optional)
The number of the RFC to be produced.
2.33.1.7. obsoletes
(optional)
Reschke Expires May 30, 2014 [Page 32]
Internet-Draft XML2RFC November 2013
A comma-separated list of RFC _numbers_ or Internet-Draft names.
2.33.1.8. seriesNo
(optional)
When producing a document within document series (such as "STD"): the
number within that series.
2.33.1.9. submissionType
(optional)
The document stream.
See Section 2 of [RFC5741] for details.
Allowed values:
o "IETF" (default)
o "IAB"
o "IRTF"
o "independent"
2.33.1.10. updates
(optional)
A comma-separated list of RFC _numbers_ or Internet-Draft names.
2.33.1.11. xml:lang
(optional)
The natural language used in the document (defaults to "en").
See Section 2.12 of [XML] for more information.
2.33.2. Grammar
Reschke Expires May 30, 2014 [Page 33]
Internet-Draft XML2RFC November 2013
rfc =
element rfc {
attribute number { NUMBER }?,
attribute obsoletes { NUMBERS }?,
attribute updates { NUMBERS }?,
attribute category ( "std" | "bcp" | "info" | "exp" | "historic" )?,
attribute consensus ( "no" | "yes" )?,
attribute seriesNo { NUMBER }?,
attribute ipr (
"full2026"
| "noDerivativeWorks2026"
| "none"
| "full3667"
| "noModification3667"
| "noDerivatives3667"
| "full3978"
| "noModification3978"
| "noDerivatives3978"
| "trust200811"
| "noModificationTrust200811"
| "noDerivativesTrust200811"
| "trust200902"
| "noModificationTrust200902"
| "noDerivativesTrust200902"
| "pre5378Trust200902"
)?,
attribute iprExtract { xsd:IDREF }?,
attribute submissionType ( "IETF" | "IAB" | "IRTF" | "independent" )?,
attribute docName { ATEXT }?,
attribute xml:lang { ATEXT }?,
front,
middle,
back?
}
2.34. <section>
Represents a section (when inside a <middle> element) or an appendix
(when inside a <back> element).
Sub-sections are created by nesting <section> elements inside
<section> elements.
This element appears as child element of: <back> (Section 2.7),
<middle> (Section 2.23), and <section> (Section 2.34).
Content model:
Reschke Expires May 30, 2014 [Page 34]
Internet-Draft XML2RFC November 2013
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.34.1. Attributes
2.34.1.1. anchor
(optional)
[[element.section.attribute.anchor.missing: attribute description
missing]]
2.34.1.2. title
(mandatory)
The title of the section.
2.34.1.3. toc
(optional)
Determines whether the section is included in the Table Of Contents.
[[anchor20: Need to consider inheritance.]]
Allowed values:
o "include"
o "exclude"
o "default" (default)
2.34.2. Grammar
Reschke Expires May 30, 2014 [Page 35]
Internet-Draft XML2RFC November 2013
section =
element section {
attribute anchor { xsd:ID }?,
attribute title { ATEXT },
attribute toc ( "include" | "exclude" | "default" )?,
(t
| figure
| texttable
| iref)*,
section*
}
2.35. <seriesInfo>
Specifies the document series in which this document appears, and
also specifies an identifier within that series.
This element appears as child element of: <reference> (Section 2.30).
Content model: this element does not have any contents.
2.35.1. Attributes
2.35.1.1. name
(mandatory)
The name of the series.
The following names trigger specific processing (such as for auto-
generating links, and adding descriptions such as "work in
progress"): "BCP", "FYI", "Internet-Draft", "RFC", and "STD".
2.35.1.2. value
(mandatory)
The identifier within the series specified by the "name" attribute.
For BCPs, FYIs, RFCs, and STDs this is the number within the series.
For Internet-Drafts, it is the full draft name (ending with the two-
digit version number).
2.35.2. Grammar
Reschke Expires May 30, 2014 [Page 36]
Internet-Draft XML2RFC November 2013
seriesInfo =
element seriesInfo {
attribute name { ATEXT },
attribute value { ATEXT },
empty
}
2.36. <spanx>
[[element.spanx.missing: element description missing]]
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).
Content model: only text content.
2.36.1. Attributes
2.36.1.1. style
(optional)
[[element.spanx.attribute.style.missing: attribute description
missing]]
2.36.1.2. xml:space
(optional)
Determines whitespace handling.
The default value is "preserve", but that value isn't really suitable
for the use cases <spanx> is defined for (so this might change in
future versions).
See also Section 2.10 of [XML].
Allowed values:
o "default"
o "preserve" (default)
Reschke Expires May 30, 2014 [Page 37]
Internet-Draft XML2RFC November 2013
2.36.2. Grammar
spanx =
element spanx {
attribute xml:space ( "default" | "preserve" )?,
attribute style { ATEXT }?,
CTEXT
}
2.37. <street>
Provides a street address.
This element appears as child element of: <postal> (Section 2.27).
Content model: only text content.
2.37.1. Grammar
street =
element street {
CTEXT
}
2.38. <t>
Contains a paragraph of text.
This element appears as child element of: <abstract> (Section 2.1),
<list> (Section 2.22), <note> (Section 2.24), and <section>
(Section 2.34).
Content model:
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)
Reschke Expires May 30, 2014 [Page 38]
Internet-Draft XML2RFC November 2013
o <cref> elements (Section 2.12)
o <spanx> elements (Section 2.36)
o <vspace> elements (Section 2.43)
2.38.1. Attributes
2.38.1.1. anchor
(optional)
[[element.t.attribute.anchor.missing: attribute description missing]]
2.38.1.2. hangText
(optional)
[[element.t.attribute.hangText.missing: attribute description
missing]]
2.38.2. Grammar
t =
element t {
attribute anchor { xsd:ID }?,
attribute hangText { ATEXT }?,
(TEXT
| \list
| figure
| xref
| eref
| iref
| cref
| spanx
| vspace)*
}
2.39. <texttable>
Contains a table, consisting of an optional preamble, a header line,
rows, and an optional postamble.
This element appears as child element of: <section> (Section 2.34).
Content model:
Reschke Expires May 30, 2014 [Page 39]
Internet-Draft XML2RFC November 2013
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)
2.39.1. Attributes
2.39.1.1. align
(optional)
Determines the horizontal alignment of the table.
Allowed values:
o "left"
o "center" (default)
o "right"
2.39.1.2. anchor
(optional)
[[element.texttable.attribute.anchor.missing: attribute description
missing]]
2.39.1.3. style
(optional)
[[element.texttable.attribute.style.missing: attribute description
missing]]
Allowed values:
o "all"
o "none"
o "headers"
o "full" (default)
Reschke Expires May 30, 2014 [Page 40]
Internet-Draft XML2RFC November 2013
2.39.1.4. suppress-title
(optional)
[[element.texttable.attribute.suppress-title.missing: attribute
description missing]]
Allowed values:
o "true"
o "false" (default)
2.39.1.5. title
(optional)
[[element.texttable.attribute.title.missing: attribute description
missing]]
2.39.2. Grammar
texttable =
element texttable {
attribute anchor { xsd:ID }?,
attribute title { ATEXT }?,
attribute suppress-title ( "true" | "false" )?,
attribute align ( "left" | "center" | "right" )?,
attribute style ( "all" | "none" | "headers" | "full" )?,
preamble?,
ttcol+,
c*,
postamble?
}
2.40. <title>
Represents the document title.
When this element appears in the <front> element of the current
document, the title might also appear in page headers or footers. If
it's long (~40 characters), the "abbrev" attribute is used to
specified an abbreviated variant.
This element appears as child element of: <front> (Section 2.19).
Content model: only text content.
Reschke Expires May 30, 2014 [Page 41]
Internet-Draft XML2RFC November 2013
2.40.1. Attributes
2.40.1.1. abbrev
(optional)
Specifies an abbreviated variant of the document title.
2.40.2. Grammar
title =
element title {
attribute abbrev { ATEXT }?,
CTEXT
}
2.41. <ttcol>
Contains a column heading in a table.
This element appears as child element of: <texttable> (Section 2.39).
Content model: only text content.
2.41.1. Attributes
2.41.1.1. align
(optional)
Determines the horizontal alignment within the table column.
Allowed values:
o "left" (default)
o "center"
o "right"
2.41.1.2. width
(optional)
[[element.ttcol.attribute.width.missing: attribute description
missing]]
Reschke Expires May 30, 2014 [Page 42]
Internet-Draft XML2RFC November 2013
2.41.2. Grammar
ttcol =
element ttcol {
attribute width { ATEXT }?,
attribute align ( "left" | "center" | "right" )?,
CTEXT
}
2.42. <uri>
Contains a web address associated with the author.
The contents should be a valid URI (see Section 3 of [RFC3986]).
This element appears as child element of: <address> (Section 2.2).
Content model: only text content.
2.42.1. Grammar
uri =
element uri {
CTEXT
}
2.43. <vspace>
[[element.vspace.missing: element description missing]]
This element appears as child element of: <t> (Section 2.38).
Content model: this element does not have any contents.
2.43.1. Attributes
2.43.1.1. blankLines
(optional)
[[element.vspace.attribute.blankLines.missing: attribute description
missing]]
2.43.2. Grammar
Reschke Expires May 30, 2014 [Page 43]
Internet-Draft XML2RFC November 2013
vspace =
element vspace {
attribute blankLines { NUMBER }?,
empty
}
2.44. <workgroup>
This element is used to specify the Working Group the document
originates from, if any. The recommended format is the official name
of the Working Group (with some capitalization), plus the string
"Working Group".
In Internet-Drafts, this is used in the upper left corner of the
boilerplate, replacing the "Network Working Group" string.
This element appears as child element of: <front> (Section 2.19).
Content model: only text content.
2.44.1. Grammar
workgroup =
element workgroup {
CTEXT
}
2.45. <xref>
[[element.xref.missing: element description missing]]
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).
Content model: only text content.
2.45.1. Attributes
2.45.1.1. format
(optional)
[[element.xref.attribute.format.missing: attribute description
missing]]
Allowed values:
Reschke Expires May 30, 2014 [Page 44]
Internet-Draft XML2RFC November 2013
o "counter"
o "title"
o "none"
o "default" (default)
2.45.1.2. pageno
(optional)
Unused.
It's unclear what the purpose of this attribute is; processors seem
to ignore it and it never was documented.
Allowed values:
o "true"
o "false" (default)
2.45.1.3. target
(mandatory)
[[element.xref.attribute.target.missing: attribute description
missing]]
2.45.2. Grammar
xref =
element xref {
attribute target { xsd:IDREF },
attribute pageno ( "true" | "false" )?,
attribute format ( "counter" | "title" | "none" | "default" )?,
CTEXT
}
3. Special Unicode Code Points
[[anchor29: Explain those code points where the processors implement
something special, such as "nbsp".]]
Reschke Expires May 30, 2014 [Page 45]
Internet-Draft XML2RFC November 2013
4. Internationalization Considerations
[[anchor30: TBD]]
5. Security Considerations
[[anchor31: TBD]]
6. IANA Considerations
[[anchor32: Register application/xml2rfc+xml.]]
7. Acknowledgments
Thanks to everybody who reviewed this document and provided feedback
and/or specification text, in particular Brian Carpenter and Paul
Hoffman.
We also thank Marshall T. Rose for both the original design and the
reference implementation of the "xml2rfc" formatter.
8. References
8.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>.
8.2. Informative References
[IDGUIDE] Housley, R., "Guidelines to Authors of Internet-
Drafts", December 2010,
<http://www.ietf.org/id-info/guidelines.html>.
[RFC2026] Bradner, S., "The Internet Standards Process --
Revision 3", BCP 9, RFC 2026, October 1996.
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet
Mail Extensions (MIME) Part Two: Media Types", RFC 2046,
November 1996.
[RFC2397] Masinter, L., "The "data" URL scheme", RFC 2397,
August 1998.
Reschke Expires May 30, 2014 [Page 46]
Internet-Draft XML2RFC November 2013
[RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
June 1999.
[RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers",
RFC 3966, December 2004.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter,
"Uniform Resource Identifier (URI): Generic Syntax",
STD 66, RFC 3986, January 2005.
[RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598,
July 2009.
PDF version: <http://www.rfc-editor.org/rfc/rfc5598.pdf>
[RFC5741] Daigle, L. and O. Kolkman, "RFC Streams, Headers, and
Boilerplates", RFC 5741, December 2009.
[RFC6068] Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto'
URI Scheme", RFC 6068, October 2010.
[RFCPOLICY] RFC Editor, "RFC Editorial Guidelines and Procedures",
February 2012, <http://www.rfc-editor.org/policy.html>.
[RFCSTYLE] Braden, R., Ginoza, S., and A. Hagens, "RFC Document
Style (draft 09)", September 2009,
<http://www.rfc-editor.org/rfc-style-guide/rfc-style>.
[RNC] Clark, J., "RELAX NG Compact Syntax", OASIS ,
November 2002, <http://www.oasis-open.org/committees/
relax-ng/compact-20021121.html>.
[TLP2.0] IETF Trust, "Legal Provisions Relating to IETF
Documents", February 2009, <http://trustee.ietf.org/
license-info/IETF-Trust-License-Policy-20090215.htm>.
[TLP3.0] IETF Trust, "Legal Provisions Relating to IETF
Documents", September 2009, <http://trustee.ietf.org/
license-info/IETF-Trust-License-Policy-20090912.htm>.
[TLP4.0] IETF Trust, "Legal Provisions Relating to IETF
Documents", December 2009, <http://trustee.ietf.org/
license-info/IETF-Trust-License-Policy-20091228.htm>.
Appendix A. Front Page Generation
Reschke Expires May 30, 2014 [Page 47]
Internet-Draft XML2RFC November 2013
A.1. The /rfc/@category Attribute
For RFCs, the "category" determines the "maturity level" (see Section
4 of [RFC2026]). The allowed values are "std" for "Standards Track",
"bcp" for "BCP", "info" for "Informational", "exp" for
"Experimental", and "historic" for - surprise - "Historic".
For Internet-Drafts, the category attribute is not needed, but will
appear on the front page as "Intended Status". Supplying this
information can be useful to reviewers.
A.2. The /rfc/@ipr Attribute
This attribute value can take a long list of values, each of which
describes an IPR policy for the document. This attribute's values
are not the result of a grand plan, but remain simply for historic
reasons. Of these values, only a few are currently in use; all
others are supported by the various tools for backwards compatibility
with old source files.
Note: some variations of the boilerplate are selected based on the
document's date; therefore it is important to specify the "year",
"month" and "day" attributes of the "<date>" element when
archiving the XML source of an Internet-Draft on the day of
submission.
_Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION. IF YOU
NEED LEGAL ADVICE, PLEASE CONTACT A LAWYER._ For further information,
refer to <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf>.
For the current "Status Of This Memo" text, the "submissionType"
attribute determines whether a statement about "Code Components" is
inserted (which is the case for the value "IETF", which is the
default). Other values, such as "independent", suppress this part of
the text.
A.2.1. Current Values: '*trust200902'
The name for these values refers to the "IETF TRUST Legal Provisions
Relating to IETF Documents", sometimes simply called the "TLP, that
went into effect on February 15, 2009 ([TLP2.0]). Updates to this
document were published on September 12, 2009 ([TLP3.0]) and on
December 28, 2009 ([TLP4.0]), modifying the license for code
components (see <http://trustee.ietf.org/license-info/> for further
information). The actual text is located in Section 6 ("Text To Be
Included in IETF Documents") of these documents.
The tools will automatically produce the "correct" text depending on
Reschke Expires May 30, 2014 [Page 48]
Internet-Draft XML2RFC November 2013
the document's date information (see above):
+----------+--------------------------------+
| TLP | starting with publication date |
+----------+--------------------------------+
| [TLP3.0] | 2009-11-01 |
| [TLP4.0] | 2010-04-01 |
+----------+--------------------------------+
A.2.1.1. trust200902
This should be the default, unless one of the more specific
'*trust200902' values is a better fit. It produces the text in
Sections 6.a and 6.b of the TLP.
A.2.1.2. noModificationTrust200902
This produces additional text from Section 6.c.i of the TLP:
This document may not be modified, and derivative works of it may
not be created, except to format it for publication as an RFC or
to translate it into languages other than English.
Note: this clause is incompatible with RFCs that are published on
the Standards Track.
A.2.1.3. noDerivativesTrust200902
This produces the additional text from Section 6.c.ii of the TLP:
This document may not be modified, and derivative works of it may
not be created, and it may not be published except as an Internet-
Draft.
Note: this clause is incompatible with RFCs that are published on
the Standards Track.
A.2.1.4. pre5378Trust200902
This produces the additional text from Section 6.c.iii of the TLP,
frequently called the "pre-5378 escape clause":
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s)
Reschke Expires May 30, 2014 [Page 49]
Internet-Draft XML2RFC November 2013
controlling the copyright in such materials, this document may not
be modified outside the IETF Standards Process, and derivative
works of it may not be created outside the IETF Standards Process,
except to format it for publication as an RFC or to translate it
into languages other than English.
See Section 4 of
<http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf> for further
information about when to use this value.
Note: this text appears under "Copyright Notice", unless the
document was published before November 2009, in which case it
appears under "Status Of This Memo".
A.2.2. Historic Values
A.2.2.1. Historic Values: '*trust200811'
The attribute values "trust200811", "noModificationTrust200811" and
"noDerivativesTrust200811" are similar to their "trust200902"
counterparts, except that they use text specified in <http://
trustee.ietf.org/license-info/archive/
IETF-Trust-License-Policy_11-10-08.pdf>.
A.2.2.2. Historic Values: '*3978'
The attribute values "full3978", "noModification3978" and
"noDerivatives3978" are similar to their counterparts above, except
that they use text specified in RFC 3978 (March 2005).
A.2.2.3. Historic Values: '*3667'
The attribute values "full3667", "noModification3667" and
"noDerivatives3667" are similar to their counterparts above, except
that they use text specified in RFC 3667 (February 2004).
A.2.2.4. Historic Values: '*2026'
The attribute values "full2026" and "noDerivativeWorks2026" are
similar to their counterparts above, except that they use text
specified in RFC 2026 (October 1996).
The special value "none" was also used back then, and denied the IETF
any rights beyond publication as Internet-Draft.
Reschke Expires May 30, 2014 [Page 50]
Internet-Draft XML2RFC November 2013
Appendix B. Changes from RFC 2629 ('v1')
B.1. Removed Elements
The <appendix> element has been removed; to generate an appendix,
place a <section> inside <back>.
B.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
default value was specified before.
B.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)
Reschke Expires May 30, 2014 [Page 51]
Internet-Draft XML2RFC November 2013
<t>: The "anchor" attribute can now be used as well, however there
are restrictions on how they can be referred to. (Section 2.38)
B.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).
Appendix C. Relax NG Schema
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
NUMBER = string
NUMBERS = string
DAY = string
MONTH = string
YEAR = string
URI = string
ATEXT = string
CTEXT = text
TEXT = text
rfc =
element rfc {
attribute number { NUMBER }?,
[ a:defaultValue = "" ] attribute obsoletes { NUMBERS }?,
[ a:defaultValue = "" ] attribute updates { NUMBERS }?,
attribute category { "std" | "bcp" | "info" | "exp" | "historic"
}?,
attribute consensus { "no" | "yes" }?,
attribute seriesNo { NUMBER }?,
attribute ipr {
"full2026"
| "noDerivativeWorks2026"
| "none"
| "full3667"
| "noModification3667"
| "noDerivatives3667"
| "full3978"
| "noModification3978"
| "noDerivatives3978"
| "trust200811"
| "noModificationTrust200811"
| "noDerivativesTrust200811"
| "trust200902"
| "noModificationTrust200902"
| "noDerivativesTrust200902"
Reschke Expires May 30, 2014 [Page 52]
Internet-Draft XML2RFC November 2013
| "pre5378Trust200902"
}?,
attribute iprExtract { xsd:IDREF }?,
[ a:defaultValue = "IETF" ]
attribute submissionType {
"IETF" | "IAB" | "IRTF" | "independent"
}?,
attribute docName { ATEXT }?,
[ a:defaultValue = "en" ] attribute xml:lang { ATEXT }?,
front,
middle,
back?
}
front =
element front {
title, author+, date, area*, workgroup*, keyword*, abstract?,
note*
}
title =
element title {
attribute abbrev { ATEXT }?,
CTEXT
}
author =
element author {
attribute initials { ATEXT }?,
attribute surname { ATEXT }?,
attribute fullname { ATEXT }?,
attribute role { "editor" }?,
organization?,
address?
}
organization =
element organization {
attribute abbrev { ATEXT }?,
CTEXT
}
address = element address { postal?, phone?, facsimile?, email?,
uri? }
postal = element postal { street+, (city | region | code | country)*
}
street = element street { CTEXT }
city = element city { CTEXT }
region = element region { CTEXT }
code = element code { CTEXT }
country = element country { CTEXT }
phone = element phone { CTEXT }
facsimile = element facsimile { CTEXT }
Reschke Expires May 30, 2014 [Page 53]
Internet-Draft XML2RFC November 2013
email = element email { CTEXT }
uri = element uri { CTEXT }
date =
element date {
attribute day { DAY }?,
attribute month { MONTH }?,
attribute year { YEAR }?,
empty
}
area = element area { CTEXT }
workgroup = element workgroup { CTEXT }
keyword = element keyword { CTEXT }
abstract = element abstract { t+ }
note =
element note {
attribute title { ATEXT },
t+
}
middle = element middle { section+ }
section =
element section {
attribute anchor { xsd:ID }?,
attribute title { ATEXT },
[ a:defaultValue = "default" ]
attribute toc { "include" | "exclude" | "default" }?,
(t | figure | texttable | iref)*,
section*
}
t =
element t {
attribute anchor { xsd:ID }?,
attribute hangText { ATEXT }?,
(TEXT
| \list
| figure
| xref
| eref
| iref
| cref
| spanx
| vspace)*
}
\list =
element list {
attribute style { ATEXT }?,
attribute hangIndent { NUMBER }?,
attribute counter { ATEXT }?,
t+
Reschke Expires May 30, 2014 [Page 54]
Internet-Draft XML2RFC November 2013
}
xref =
element xref {
attribute target { xsd:IDREF },
[ a:defaultValue = "false" ] attribute pageno { "true" | "false"
}?,
[ a:defaultValue = "default" ]
attribute format { "counter" | "title" | "none" | "default" }?,
CTEXT
}
eref =
element eref {
attribute target { URI },
CTEXT
}
iref =
element iref {
attribute item { ATEXT },
[ a:defaultValue = "" ] attribute subitem { ATEXT }?,
[ a:defaultValue = "false" ]
attribute primary { "true" | "false" }?,
empty
}
cref =
element cref {
attribute anchor { xsd:ID }?,
attribute source { ATEXT }?,
CTEXT
}
spanx =
element spanx {
[ a:defaultValue = "preserve" ]
attribute xml:space { "default" | "preserve" }?,
[ a:defaultValue = "emph" ] attribute style { ATEXT }?,
CTEXT
}
vspace =
element vspace {
[ a:defaultValue = "0" ] attribute blankLines { NUMBER }?,
empty
}
figure =
element figure {
attribute anchor { xsd:ID }?,
[ a:defaultValue = "" ] attribute title { ATEXT }?,
[ a:defaultValue = "false" ]
attribute suppress-title { "true" | "false" }?,
attribute src { URI }?,
Reschke Expires May 30, 2014 [Page 55]
Internet-Draft XML2RFC November 2013
[ a:defaultValue = "left" ]
attribute align { "left" | "center" | "right" }?,
[ a:defaultValue = "" ] attribute alt { ATEXT }?,
[ a:defaultValue = "" ] attribute width { ATEXT }?,
[ a:defaultValue = "" ] attribute height { ATEXT }?,
iref*,
preamble?,
artwork,
postamble?
}
preamble =
element preamble { (TEXT | xref | eref | iref | cref | spanx)* }
artwork =
element artwork {
[ a:defaultValue = "preserve" ]
attribute xml:space { "default" | "preserve" }?,
[ a:defaultValue = "" ] attribute name { ATEXT }?,
[ a:defaultValue = "" ] attribute type { ATEXT }?,
attribute src { URI }?,
[ a:defaultValue = "left" ]
attribute align { "left" | "center" | "right" }?,
[ a:defaultValue = "" ] attribute alt { ATEXT }?,
[ a:defaultValue = "" ] attribute width { ATEXT }?,
[ a:defaultValue = "" ] attribute height { ATEXT }?,
TEXT*
}
postamble =
element postamble { (TEXT | xref | eref | iref | cref | spanx)* }
texttable =
element texttable {
attribute anchor { xsd:ID }?,
[ a:defaultValue = "" ] attribute title { ATEXT }?,
[ a:defaultValue = "false" ]
attribute suppress-title { "true" | "false" }?,
[ a:defaultValue = "center" ]
attribute align { "left" | "center" | "right" }?,
[ a:defaultValue = "full" ]
attribute style { "all" | "none" | "headers" | "full" }?,
preamble?,
ttcol+,
c*,
postamble?
}
ttcol =
element ttcol {
attribute width { ATEXT }?,
[ a:defaultValue = "left" ]
attribute align { "left" | "center" | "right" }?,
Reschke Expires May 30, 2014 [Page 56]
Internet-Draft XML2RFC November 2013
CTEXT
}
c = element c { (TEXT | xref | eref | iref | cref | spanx)* }
back = element back { references*, section* }
references =
element references {
[ a:defaultValue = "References" ] attribute title { ATEXT }?,
reference+
}
reference =
element reference {
attribute anchor { xsd:ID }?,
attribute target { URI }?,
front,
seriesInfo*,
format*,
annotation*
}
seriesInfo =
element seriesInfo {
attribute name { ATEXT },
attribute value { ATEXT },
empty
}
format =
element format {
attribute target { URI }?,
attribute type { ATEXT },
attribute octets { NUMBER }?,
empty
}
annotation =
element annotation { (TEXT | xref | eref | iref | cref | spanx)* }
start = rfc
Appendix D. Proposed Future Changes for 'v3'
[[anchor40: The list below is just a starting point, see
<https://www.rfc-editor.org/rse/wiki/doku.php?id=design:xml-tags> for
more.]]
D.1. Contact Information
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
Reschke Expires May 30, 2014 [Page 57]
Internet-Draft XML2RFC November 2013
most one of <city>, <region>, <code>, and <country>.
It should be possible to have multiple <uri> elements.
<facsimile> looks outdated, while a container for IM (messaging) URIs
is missing. Maybe this area needs to be aligned with vCard.
Section 4.8 of [RFCSTYLE] hints at a "Contributors" Section that
could supply contact information similar to the one in the auto-
generated "Authors' Address" Section. Consider how to capture
contributor contact information (probably not using <author> to avoid
confusion). Furthermore, consider ways to augment the contact
information section with prose.
D.2. Figures
Cleanup the set of overlapping attributes between <figure> and
<artwork>.
For artwork that consists of a sequence of items (such as messages in
a protocol example), it would be good if a <figure> element could
contain multiple <artwork> elements (to assist code to find good
places for page breaks).
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".
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>).
D.3. Linking
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.
D.4. Lists
Allow multiple paragraphs in list items; eliminating the need to use
<vspace> (see <http://greenbytes.de/tech/webdav/rfc2629xslt/
rfc2629xslt.html#ext.element.lt>).
Reschke Expires May 30, 2014 [Page 58]
Internet-Draft XML2RFC November 2013
D.5. References
Allow overriding the "anchor" attribute of an included <reference>
element.
Add a way to add prose to a reference that avoids abuse of
<seriesInfo>.
Allow <reference>s that identify a document set such as a BCP.
Deprecate or remove the <format> element; right now it's not used for
the generation of the plain text document anyway.
It is unclear why the "anchor" attribute is optional.
D.6. Archival Considerations
When this vocabulary becomes the canonical RFC format, it will need
to be able to capture all generated information, such as section/
figure/table numbers, plus any auto-generated boilerplate (copyright
statements etc.).
D.7. Document Metadata
Extend the concept of language tagging to at least examples and
contact information to address potential japanese/chinese font
confusion.
Provide a way to indicate the intended level on the standards track.
Include feedback information in a way so that generated documents can
provide usable feedback links (see <http://greenbytes.de/tech/webdav/
rfc2629xslt/rfc2629xslt.html#ext.element.feedback>).
D.8. Misc.
Make the <date> element optional; all of its content is optional
already.
<spanx> has both a weird whitespace model ("preserve") and
problematic styling. Consider to deprecate it in favor of elements
such as <em> and <code> (where the name "code" is already in use for
region codes).
Indented paragraphs currently can be created by abusing the <list>.
It would be good to have a special element for this purpose.
Provide a special element for generating citations.
Reschke Expires May 30, 2014 [Page 59]
Internet-Draft XML2RFC November 2013
The content model for <cref> should be extended to allow more flow
elements, such as <xref> and <eref>.
Appendix E. Comparison Of Vocabularies (to be removed before
publication as RFC)
With comments being stripped; using "diff -C100" to add change marks.
E.1. RFC 2629 ('v1') RelaxNG Grammar
(from Appendix B of [RFC2629], converted using "trang" into Relag NG
Compact Notation [RNC])
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
NUMBER = string
NUMBERS = string
DAY = string
MONTH = string
YEAR = string
URI = string
ATEXT = string
CTEXT = text
TEXT = text
rfc =
element rfc {
attribute number { NUMBER }?,
[ a:defaultValue = "" ] attribute obsoletes { NUMBERS }?,
[ a:defaultValue = "" ] attribute updates { NUMBERS }?,
- [ a:defaultValue = "info" ]
attribute category { "std" | "bcp" | "info" | "exp" | "historic" }?,
attribute seriesNo { NUMBER }?,
! attribute ipr { "full2026" | "noDerivativeWorks2026" | "none" }?,
attribute docName { ATEXT }?,
front,
middle,
back?
}
front =
element front {
title, author+, date, area*, workgroup*, keyword*, abstract?, note*
}
title =
element title {
attribute abbrev { ATEXT }?,
CTEXT
}
author =
Reschke Expires May 30, 2014 [Page 60]
Internet-Draft XML2RFC November 2013
element author {
attribute initials { ATEXT }?,
attribute surname { ATEXT }?,
attribute fullname { ATEXT }?,
! organization,
address?
}
organization =
element organization {
attribute abbrev { ATEXT }?,
CTEXT
}
address = element address { postal?, phone?, facsimile?, email?, uri? }
postal = element postal { street+, (city | region | code | country)* }
street = element street { CTEXT }
city = element city { CTEXT }
region = element region { CTEXT }
code = element code { CTEXT }
country = element country { CTEXT }
phone = element phone { CTEXT }
facsimile = element facsimile { CTEXT }
email = element email { CTEXT }
uri = element uri { CTEXT }
date =
element date {
attribute day { DAY }?,
! attribute month { MONTH },
! attribute year { YEAR },
empty
}
area = element area { CTEXT }
workgroup = element workgroup { CTEXT }
keyword = element keyword { CTEXT }
abstract = element abstract { t+ }
note =
element note {
attribute title { ATEXT },
t+
}
middle = element middle { section+ }
section =
element section {
attribute anchor { xsd:ID }?,
attribute title { ATEXT },
! (t | figure | section)*
}
t =
element t {
Reschke Expires May 30, 2014 [Page 61]
Internet-Draft XML2RFC November 2013
attribute hangText { ATEXT }?,
! (TEXT | \list | figure | xref | eref | iref | vspace)*
}
\list =
element list {
! [ a:defaultValue = "empty" ]
! attribute style { "numbers" | "symbols" | "hanging" | "empty" }?,
t+
}
xref =
element xref {
attribute target { xsd:IDREF },
[ a:defaultValue = "false" ] attribute pageno { "true" | "false" }?,
CTEXT
}
eref =
element eref {
attribute target { URI },
CTEXT
}
iref =
element iref {
attribute item { ATEXT },
[ a:defaultValue = "" ] attribute subitem { ATEXT }?,
empty
}
vspace =
element vspace {
[ a:defaultValue = "0" ] attribute blankLines { NUMBER }?,
empty
}
figure =
element figure {
attribute anchor { xsd:ID }?,
[ a:defaultValue = "" ] attribute title { ATEXT }?,
preamble?,
artwork,
postamble?
}
! preamble = element preamble { (TEXT | xref | eref | iref)* }
artwork =
element artwork {
[ a:defaultValue = "preserve" ]
attribute xml:space { "default" | "preserve" }?,
TEXT*
}
! postamble = element postamble { (TEXT | xref | eref | iref)* }
! back = element back { references?, section* }
Reschke Expires May 30, 2014 [Page 62]
Internet-Draft XML2RFC November 2013
! references = element references { reference+ }
reference =
element reference {
attribute anchor { xsd:ID }?,
attribute target { URI }?,
front,
! seriesInfo*
}
seriesInfo =
element seriesInfo {
attribute name { ATEXT },
attribute value { ATEXT },
empty
}
start = rfc
E.2. Current ('v2') RelaxNG Grammar
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
NUMBER = string
NUMBERS = string
DAY = string
MONTH = string
YEAR = string
URI = string
ATEXT = string
CTEXT = text
TEXT = text
rfc =
element rfc {
attribute number { NUMBER }?,
[ a:defaultValue = "" ] attribute obsoletes { NUMBERS }?,
[ a:defaultValue = "" ] attribute updates { NUMBERS }?,
attribute category { "std" | "bcp" | "info" | "exp" | "historic" }?,
+ attribute consensus { "no" | "yes" }?,
attribute seriesNo { NUMBER }?,
! attribute ipr {
! "full2026"
! | "noDerivativeWorks2026"
! | "none"
! | "full3667"
! | "noModification3667"
! | "noDerivatives3667"
! | "full3978"
! | "noModification3978"
! | "noDerivatives3978"
! | "trust200811"
Reschke Expires May 30, 2014 [Page 63]
Internet-Draft XML2RFC November 2013
! | "noModificationTrust200811"
! | "noDerivativesTrust200811"
! | "trust200902"
! | "noModificationTrust200902"
! | "noDerivativesTrust200902"
! | "pre5378Trust200902"
! }?,
! attribute iprExtract { xsd:IDREF }?,
! [ a:defaultValue = "IETF" ]
! attribute submissionType {
! "IETF" | "IAB" | "IRTF" | "independent"
! }?,
attribute docName { ATEXT }?,
+ [ a:defaultValue = "en" ] attribute xml:lang { ATEXT }?,
front,
middle,
back?
}
front =
element front {
title, author+, date, area*, workgroup*, keyword*, abstract?, note*
}
title =
element title {
attribute abbrev { ATEXT }?,
CTEXT
}
author =
element author {
attribute initials { ATEXT }?,
attribute surname { ATEXT }?,
attribute fullname { ATEXT }?,
! attribute role { "editor" }?,
! organization?,
address?
}
organization =
element organization {
attribute abbrev { ATEXT }?,
CTEXT
}
address = element address { postal?, phone?, facsimile?, email?, uri? }
postal = element postal { street+, (city | region | code | country)* }
street = element street { CTEXT }
city = element city { CTEXT }
region = element region { CTEXT }
code = element code { CTEXT }
country = element country { CTEXT }
Reschke Expires May 30, 2014 [Page 64]
Internet-Draft XML2RFC November 2013
phone = element phone { CTEXT }
facsimile = element facsimile { CTEXT }
email = element email { CTEXT }
uri = element uri { CTEXT }
date =
element date {
attribute day { DAY }?,
! attribute month { MONTH }?,
! attribute year { YEAR }?,
empty
}
area = element area { CTEXT }
workgroup = element workgroup { CTEXT }
keyword = element keyword { CTEXT }
abstract = element abstract { t+ }
note =
element note {
attribute title { ATEXT },
t+
}
middle = element middle { section+ }
section =
element section {
attribute anchor { xsd:ID }?,
attribute title { ATEXT },
! [ a:defaultValue = "default" ]
! attribute toc { "include" | "exclude" | "default" }?,
! (t | figure | texttable | iref)*,
! section*
}
t =
element t {
+ attribute anchor { xsd:ID }?,
attribute hangText { ATEXT }?,
! (TEXT
! | \list
! | figure
! | xref
! | eref
! | iref
! | cref
! | spanx
! | vspace)*
}
\list =
element list {
! attribute style { ATEXT }?,
! attribute hangIndent { NUMBER }?,
Reschke Expires May 30, 2014 [Page 65]
Internet-Draft XML2RFC November 2013
! attribute counter { ATEXT }?,
t+
}
xref =
element xref {
attribute target { xsd:IDREF },
[ a:defaultValue = "false" ] attribute pageno { "true" | "false" }?,
+ [ a:defaultValue = "default" ]
+ attribute format { "counter" | "title" | "none" | "default" }?,
CTEXT
}
eref =
element eref {
attribute target { URI },
CTEXT
}
iref =
element iref {
attribute item { ATEXT },
[ a:defaultValue = "" ] attribute subitem { ATEXT }?,
+ [ a:defaultValue = "false" ]
+ attribute primary { "true" | "false" }?,
empty
}
+ cref =
+ element cref {
+ attribute anchor { xsd:ID }?,
+ attribute source { ATEXT }?,
+ CTEXT
+ }
+ spanx =
+ element spanx {
+ [ a:defaultValue = "preserve" ]
+ attribute xml:space { "default" | "preserve" }?,
+ [ a:defaultValue = "emph" ] attribute style { ATEXT }?,
+ CTEXT
+ }
vspace =
element vspace {
[ a:defaultValue = "0" ] attribute blankLines { NUMBER }?,
empty
}
figure =
element figure {
attribute anchor { xsd:ID }?,
[ a:defaultValue = "" ] attribute title { ATEXT }?,
+ [ a:defaultValue = "false" ]
+ attribute suppress-title { "true" | "false" }?,
Reschke Expires May 30, 2014 [Page 66]
Internet-Draft XML2RFC November 2013
+ attribute src { URI }?,
+ [ a:defaultValue = "left" ]
+ attribute align { "left" | "center" | "right" }?,
+ [ a:defaultValue = "" ] attribute alt { ATEXT }?,
+ [ a:defaultValue = "" ] attribute width { ATEXT }?,
+ [ a:defaultValue = "" ] attribute height { ATEXT }?,
+ iref*,
preamble?,
artwork,
postamble?
}
! preamble =
! element preamble { (TEXT | xref | eref | iref | cref | spanx)* }
artwork =
element artwork {
[ a:defaultValue = "preserve" ]
attribute xml:space { "default" | "preserve" }?,
+ [ a:defaultValue = "" ] attribute name { ATEXT }?,
+ [ a:defaultValue = "" ] attribute type { ATEXT }?,
+ attribute src { URI }?,
+ [ a:defaultValue = "left" ]
+ attribute align { "left" | "center" | "right" }?,
+ [ a:defaultValue = "" ] attribute alt { ATEXT }?,
+ [ a:defaultValue = "" ] attribute width { ATEXT }?,
+ [ a:defaultValue = "" ] attribute height { ATEXT }?,
TEXT*
}
! postamble =
! element postamble { (TEXT | xref | eref | iref | cref | spanx)* }
! texttable =
! element texttable {
! attribute anchor { xsd:ID }?,
! [ a:defaultValue = "" ] attribute title { ATEXT }?,
! [ a:defaultValue = "false" ]
! attribute suppress-title { "true" | "false" }?,
! [ a:defaultValue = "center" ]
! attribute align { "left" | "center" | "right" }?,
! [ a:defaultValue = "full" ]
! attribute style { "all" | "none" | "headers" | "full" }?,
! preamble?,
! ttcol+,
! c*,
! postamble?
! }
! ttcol =
! element ttcol {
! attribute width { ATEXT }?,
! [ a:defaultValue = "left" ]
Reschke Expires May 30, 2014 [Page 67]
Internet-Draft XML2RFC November 2013
! attribute align { "left" | "center" | "right" }?,
! CTEXT
! }
! c = element c { (TEXT | xref | eref | iref | cref | spanx)* }
! back = element back { references*, section* }
! references =
! element references {
! [ a:defaultValue = "References" ] attribute title { ATEXT }?,
! reference+
! }
reference =
element reference {
attribute anchor { xsd:ID }?,
attribute target { URI }?,
front,
! seriesInfo*,
! format*,
! annotation*
}
seriesInfo =
element seriesInfo {
attribute name { ATEXT },
attribute value { ATEXT },
empty
}
+ format =
+ element format {
+ attribute target { URI }?,
+ attribute type { ATEXT },
+ attribute octets { NUMBER }?,
+ empty
+ }
+ annotation =
+ element annotation { (TEXT | xref | eref | iref | cref | spanx)* }
start = rfc
Index
A
abbrev attribute
in organization element 25
in title element 42
abstract element 4
inside front 21
address element 5
inside author 10
align attribute
in artwork element 7
Reschke Expires May 30, 2014 [Page 68]
Internet-Draft XML2RFC November 2013
in figure element 17
in texttable element 40
in ttcol element 42
alt attribute
in artwork element 8
in figure element 18
anchor attribute
in cref element 14
in figure element 18
in reference element 28
in section element 35
in t element 39
in texttable element 40
annotation element 5
inside reference 28
area element 6
inside front 21
artwork element 7
align attribute 7
alt attribute 8
height attribute 8
inside figure 17
name attribute 8
src attribute 8
type attribute 9
width attribute 9
xml:space attribute 9
Attributes
abbrev 25, 42
align 7, 17, 40, 42
alt 8, 18
anchor 14, 18, 28, 35, 39-40
blankLines 43
category 30
consensus 31
counter 23
day 15
docName 31
format 44
fullname 10
hangIndent 23
hangText 39
height 8, 18
initials 11
ipr 31
iprExtract 32
item 22
month 15
Reschke Expires May 30, 2014 [Page 69]
Internet-Draft XML2RFC November 2013
name 8, 36
number 32
obsoletes 32
octets 20
pageno 45
primary 22
role 11
seriesNo 33
source 14
src 8, 18
style 23, 37, 40
subitem 22
submissionType 33
suppress-title 18, 41
surname 11
target 16, 20, 28, 45
title 19, 24, 29, 35, 41
toc 35
type 9, 20
updates 33
value 36
width 9, 19, 42
xml:lang 33
xml:space 9, 37
year 15
author element 10
fullname attribute 10
initials attribute 11
inside front 20
role attribute 11
surname attribute 11
B
back element 11
inside rfc 30
blankLines attribute
in vspace element 43
C
c element 12
inside texttable 40
category attribute
in rfc element 30
city element 13
inside postal 26
code element 13
inside postal 26
consensus attribute
Reschke Expires May 30, 2014 [Page 70]
Internet-Draft XML2RFC November 2013
in rfc element 31
counter attribute
in list element 23
country element 13
inside postal 26
cref element 14
anchor attribute 14
inside annotation 6
inside c 12
inside postamble 27
inside preamble 27
inside t 39
source attribute 14
D
date element 14
day attribute 15
inside front 20
month attribute 15
year attribute 15
day attribute
in date element 15
docName attribute
in rfc element 31
E
Elements
abstract 4, 21
address 5, 10
annotation 5, 28
area 6, 21
artwork 7, 17
author 10, 20
back 11, 30
c 12, 40
city 13, 26
code 13, 26
country 13, 26
cref 6, 12, 14, 27, 39
date 14, 20
email 5, 16
eref 6, 12, 16, 27, 38
facsimile 5, 17
figure 17, 35, 38
format 19, 28
front 20, 28, 30
iref 6, 12, 17, 21, 27, 35, 38
keyword 21-22
Reschke Expires May 30, 2014 [Page 71]
Internet-Draft XML2RFC November 2013
list 23, 38
middle 24, 30
note 21, 24
organization 10, 25
phone 5, 25
postal 5, 26
postamble 17, 26, 40
preamble 17, 27, 40
reference 28-29
references 12, 29
region 26, 30
rfc 30
section 12, 24, 34-35
seriesInfo 28, 36
spanx 6, 12, 27, 37, 39
street 26, 38
t 5, 23-24, 35, 38
texttable 35, 39
title 20, 41
ttcol 40, 42
uri 5, 43
vspace 39, 43
workgroup 21, 44
xref 6, 12, 27, 38, 44
email element 16
inside address 5
eref element 16
inside annotation 6
inside c 12
inside postamble 27
inside preamble 27
inside t 38
target attribute 16
F
facsimile element 17
inside address 5
figure element 17
align attribute 17
alt attribute 18
anchor attribute 18
height attribute 18
inside section 35
inside t 38
src attribute 18
suppress-title attribute 18
title attribute 19
width attribute 19
Reschke Expires May 30, 2014 [Page 72]
Internet-Draft XML2RFC November 2013
format attribute
in xref element 44
format element 19
inside reference 28
octets attribute 20
target attribute 20
type attribute 20
front element 20
inside reference 28
inside rfc 30
fullname attribute
in author element 10
H
hangIndent attribute
in list element 23
hangText attribute
in t element 39
height attribute
in artwork element 8
in figure element 18
I
initials attribute
in author element 11
ipr attribute
'*2026' 50
'*3667' 50
'*3978' 50
'*trust200811' 50
'*trust200902' 48
'noDerivativesTrust200902' 49
'noModificationTrust200902' 49
'pre5378Trust200902' 49
'trust200902' 49
in rfc element 31
iprExtract attribute
in rfc element 32
iref element 21
inside annotation 6
inside c 12
inside figure 17
inside postamble 27
inside preamble 27
inside section 35
inside t 38
item attribute 22
primary attribute 22
Reschke Expires May 30, 2014 [Page 73]
Internet-Draft XML2RFC November 2013
subitem attribute 22
item attribute
in iref element 22
K
keyword element 22
inside front 21
L
list element 23
counter attribute 23
hangIndent attribute 23
inside t 38
style attribute 23
M
middle element 24
inside rfc 30
month attribute
in date element 15
N
name attribute
in artwork element 8
in seriesInfo element 36
note element 24
inside front 21
title attribute 24
number attribute
in rfc element 32
O
obsoletes attribute
in rfc element 32
octets attribute
in format element 20
organization element 25
abbrev attribute 25
inside author 10
P
pageno attribute
in xref element 45
phone element 25
inside address 5
postal element 26
inside address 5
postamble element 26
Reschke Expires May 30, 2014 [Page 74]
Internet-Draft XML2RFC November 2013
inside figure 17
inside texttable 40
preamble element 27
inside figure 17
inside texttable 40
primary attribute
in iref element 22
R
reference element 28
anchor attribute 28
inside references 29
target attribute 28
references element 29
inside back 12
title attribute 29
region element 30
inside postal 26
rfc element 30
category attribute 30
consensus attribute 31
docName attribute 31
ipr attribute 31
iprExtract attribute 32
number attribute 32
obsoletes attribute 32
seriesNo attribute 33
submissionType attribute 33
updates attribute 33
xml:lang attribute 33
role attribute
in author element 11
S
section element 34
anchor attribute 35
inside back 12
inside middle 24
inside section 35
title attribute 35
toc attribute 35
seriesInfo element 36
inside reference 28
name attribute 36
value attribute 36
seriesNo attribute
in rfc element 33
source attribute
Reschke Expires May 30, 2014 [Page 75]
Internet-Draft XML2RFC November 2013
in cref element 14
spanx element 37
inside annotation 6
inside c 12
inside postamble 27
inside preamble 27
inside t 39
style attribute 37
xml:space attribute 37
src attribute
in artwork element 8
in figure element 18
street element 38
inside postal 26
style attribute
in list element 23
in spanx element 37
in texttable element 40
subitem attribute
in iref element 22
submissionType attribute
in rfc element 33
suppress-title attribute
in figure element 18
in texttable element 41
surname attribute
in author element 11
T
t element 38
anchor attribute 39
hangText attribute 39
inside abstract 5
inside list 23
inside note 24
inside section 35
target attribute
in eref element 16
in format element 20
in reference element 28
in xref element 45
texttable element 39
align attribute 40
anchor attribute 40
inside section 35
style attribute 40
suppress-title attribute 41
title attribute 41
Reschke Expires May 30, 2014 [Page 76]
Internet-Draft XML2RFC November 2013
title attribute
in figure element 19
in note element 24
in references element 29
in section element 35
in texttable element 41
title element 41
abbrev attribute 42
inside front 20
toc attribute
in section element 35
ttcol element 42
align attribute 42
inside texttable 40
width attribute 42
type attribute
in artwork element 9
in format element 20
U
updates attribute
in rfc element 33
uri element 43
inside address 5
V
value attribute
in seriesInfo element 36
vspace element 43
blankLines attribute 43
inside t 39
W
width attribute
in artwork element 9
in figure element 19
in ttcol element 42
workgroup element 44
inside front 21
X
xml:lang attribute
in rfc element 33
xml:space attribute
in artwork element 9
in spanx element 37
xref element 44
format attribute 44
Reschke Expires May 30, 2014 [Page 77]
Internet-Draft XML2RFC November 2013
inside annotation 6
inside c 12
inside postamble 27
inside preamble 27
inside t 38
pageno attribute 45
target attribute 45
Y
year attribute
in date element 15
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 May 30, 2014 [Page 78]
| PAFTECH AB 2003-2026 | 2026-04-24 11:55:36 |