Network Working GroupJ. Reschke
Internet-Draftgreenbytes
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.

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 © 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 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.

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>.


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

[rfc.comment.1: Need to fill in element and attribute descriptions.]

2.1. abstract

This element appears as child element of: <front> (Section 2.19).

2.1.1. Contents

one or more <t> elements (Section 2.38)

2.2. address

This element appears as child element of: <author> (Section 2.6).

2.2.1. Contents

  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.3. annotation

This element appears as child element of: <reference> (Section 2.30).

2.3.1. Contents

In any order:

2.4. area

This element appears as child element of: <front> (Section 2.19).

2.4.1. Contents

text

2.5. artwork

This element appears as child element of: <figure> (Section 2.17).

2.5.1. Attributes

2.5.1.1. xml:space

(optional)

Allowed values:

  • "default"
  • "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)

Allowed values:

  • "left" (default)
  • "center"
  • "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: <front> (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:

  • "editor"

2.6.2. Contents

  1. one optional <organization> element (Section 2.25)
  2. one optional <address> element (Section 2.2)

2.7. back

This element appears as child element of: <rfc> (Section 2.33).

2.7.1. Contents

  1. optional <references> elements (Section 2.31)
  2. optional <section> elements (Section 2.34)

2.8. c

This element appears as child element of: <texttable> (Section 2.39).

2.8.1. Contents

In any order:

2.9. city

This element appears as child element of: <postal> (Section 2.27).

2.9.1. Contents

text

2.10. code

This element appears as child element of: <postal> (Section 2.27).

2.10.1. Contents

text

2.11. country

This element appears as child element of: <postal> (Section 2.27).

2.11.1. Contents

text

2.12. cref

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.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: <front> (Section 2.19).

2.13.1. Attributes

2.13.1.1. day

(optional)

2.13.1.2. month

(optional)

2.13.1.3. year

(optional)

2.14. email

This element appears as child element of: <address> (Section 2.2).

2.14.1. Contents

text

2.15. eref

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.15.1. Attributes

2.15.1.1. target

(mandatory)

2.15.2. Contents

text

2.16. facsimile

This element appears as child element of: <address> (Section 2.2).

2.16.1. Contents

text

2.17. figure

This element appears as child element of: <section> (Section 2.34), and <t> (Section 2.38).

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:

  • "true"
  • "false" (default)
2.17.1.4. src

(optional)

2.17.1.5. align

(optional)

Allowed values:

  • "left" (default)
  • "center"
  • "right"
2.17.1.6. alt

(optional)

2.17.1.7. width

(optional)

2.17.1.8. height

(optional)

2.17.2. Contents

  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.18. format

This element appears as child element of: <reference> (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: <reference> (Section 2.30), and <rfc> (Section 2.33).

2.19.1. Contents

  1. one <title> 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)
  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:

  • "true"
  • "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

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)

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:

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:

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:

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)
  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:

  • "std"
  • "bcp"
  • "info"
  • "exp"
  • "historic"
2.33.1.5. consensus

(optional)

Allowed values:

  • "no"
  • "yes"
2.33.1.6. seriesNo

(optional)

2.33.1.7. ipr

(optional)

Allowed values:

  • "full2026"
  • "noDerivativeWorks2026"
  • "none"
  • "full3667"
  • "noModification3667"
  • "noDerivatives3667"
  • "full3978"
  • "noModification3978"
  • "noDerivatives3978"
  • "trust200811"
  • "noModificationTrust200811"
  • "noDerivativesTrust200811"
  • "trust200902"
  • "noModificationTrust200902"
  • "noDerivativesTrust200902"
  • "pre5378Trust200902"
2.33.1.8. iprExtract

(optional)

2.33.1.9. submissionType

(optional)

Allowed values:

  • "IETF" (default)
  • "IAB"
  • "IRTF"
  • "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)

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:

  • "include"
  • "exclude"
  • "default" (default)

2.34.2. Contents

  1. In any order:
  2. optional <section> elements (Section 2.34)

2.35. seriesInfo

This element appears as child element of: <reference> (Section 2.30).

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:

  • "default"
  • "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> (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:

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)

2.39.1.3. suppress-title

(optional)

Allowed values:

  • "true"
  • "false" (default)
2.39.1.4. align

(optional)

Allowed values:

  • "left"
  • "center" (default)
  • "right"
2.39.1.5. style

(optional)

Allowed values:

  • "all"
  • "none"
  • "headers"
  • "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)

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:

  • "left" (default)
  • "center"
  • "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

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:

  • "true"
  • "false" (default)
2.45.1.3. format

(optional)

Allowed values:

  • "counter"
  • "title"
  • "none"
  • "default" (default)

2.45.2. Contents

text

3. IANA Considerations

[rfc.comment.2: 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.

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 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).

B. Proposed Future Changes

[rfc.comment.3: 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>.

C. Comparison Of DTDs

With comments being stripped; using "diff -C100" to add change marks:

C.1. RFC 2629 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
    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
    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)+>
  
  <!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; ''>
  
! <!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
    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;)>
  
  <!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
!   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'
!   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
    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 B C D E F H I K L M N O P R S T U V W X Y

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/