source: rfc2629xslt/rfc2629xslt.xml @ 566

Last change on this file since 566 was 566, checked in by julian.reschke@…, 11 years ago

Update to latest version of rfc2629.xslt.

  • Property svn:eol-style set to native
File size: 109.0 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
3
4<?rfc header="Documentation"?>
5<?rfc private="RFC2629 through XSLT"?>
6<?rfc toc="yes"?>
7<!-- <?rfc topblock="no"?>  -->
8<?rfc strict="yes"?>
9<?rfc symrefs="yes"?>
10<?rfc sortrefs="yes"?>
11<?rfc-ext allow-markup-in-artwork="yes" ?>
12<?rfc-ext include-references-in-index="yes" ?>
13
14<rfc xmlns:x="http://purl.org/net/xml2rfc/ext">
15        <front>
16        <title abbrev="RFC2629 through XSLT">Transforming RFC2629-formatted XML through XSLT</title>
17
18        <author initials="J. F." surname="Reschke" fullname="Julian F. Reschke">
19                <organization abbrev="greenbytes">greenbytes GmbH</organization>
20        <address>
21                <postal>
22                <street>Hafenweg 16</street>
23            <city>Muenster</city><region>NW</region><code>48155</code>
24                <country>Germany</country>
25                </postal>
26                  <phone>+49 251 2807760</phone>       
27                  <email>julian.reschke@greenbytes.de</email>   
28                  <uri>http://greenbytes.de/tech/webdav/</uri> 
29                </address>
30        </author>
31     
32    <date month="March" year="2009"/>
33
34    <keyword>RFC2629</keyword>
35    <keyword>xml2rfc</keyword>
36    <keyword>XSLT</keyword>
37    <keyword>hCard</keyword>
38    <keyword>XSL-FO</keyword>
39    <keyword>PDF</keyword>
40    <keyword>GRDDL</keyword>
41    <keyword>Dublin Core</keyword>
42        </front>
43
44        <middle>
45
46<section title="Introduction">
47<t>
48  This document describes a set of XSLT transformations that can be used to
49  transform RFC2629-compliant XML (see <xref target="RFC2629"/>) to various
50  output formats, such as HTML and PDF. The main topics are 
51  <list style="symbols">
52    <t>compliance to the xml2rfc XML element set (<xref target="supported.elements"/>),</t>
53    <t>support for xml2rfc processing instructions (<xref target="processing.instructions"/>),</t>
54    <t>the names of anchor elements generated in HTML and PDF output (<xref target="anchors"/>),</t>
55    <t>various XSLT engines that can be used (<xref target="xslt.engines"/>),</t>
56    <t>outputting HTML (<xref target="output.html"/>) and XHTML (<xref target="output.xhtml"/>),</t>
57    <t>outputting CHM (Compiled Microsoft Help, <xref target="output.chm"/>),</t>
58    <t>outputting PDF (<xref target="output.pdf"/>),</t>
59    <t>extensions to the xml2rfc vocabulary (<xref target="extensions"/>).</t>
60    <t>various utilities (<xref target="utilities"/>).</t>
61  </list>
62</t>
63<t>
64  The full distribution is available at <eref target="http://greenbytes.de/tech/webdav/rfc2629xslt.zip"/>.
65</t>
66</section>
67
68<section title="Supported RFC2629 elements" anchor="supported.elements">
69<t>
70  <spanx style="verb">rfc2629.xslt</spanx> supports both all RFC2629 grammar elements and the extensions
71  implemented in xml2rfc 1.21.
72</t>
73<section title="Extension elements">
74<t>
75  <spanx style="verb">rfc2629.xslt</spanx> supports two kind of extension
76  elements, using different XML namespaces.
77</t>
78<t>
79  The first set contains (hopefully) generally useful extensions, see
80  <xref target="extensions"/>.
81</t>
82<t>
83  The second set is used for change and issue tracking and currently is not
84  documented here. Please email the author in case
85  you're interested in using these extensions.
86</t>
87</section>
88</section>
89
90<section title="Processing Instructions" anchor="processing.instructions">
91<t>
92  All PIs can be set as XSLT parameter as well, overriding any value that
93  is found in the source file to be transformed.
94</t>
95<figure>
96<preamble>Using processing instructions:</preamble>
97<artwork type="example">
98&lt;?rfc toc="yes"?>
99&lt;?rfc-ext support-rfc2731="no"?>
100</artwork>
101</figure>
102<figure>
103<preamble>Using XSLT parameters (Saxon):</preamble>
104<artwork type="example">
105java -cp saxon.jar com.icl.saxon.StyleSheet source.xml rfc2629.xslt \
106  xml2rfc-toc=yes xml2rfc-ext-support-rfc2731=no > result.html
107</artwork>
108</figure>
109<figure>
110<preamble>Using XSLT parameters (xsltproc):</preamble>
111<artwork type="example">
112xsltproc --param xml2rfc-toc '"yes"' \
113   --param xml2rfc-ext-support-rfc2731 '"no"' \
114   rfc2629.xslt source.xml > result.html
115</artwork>
116<postamble>(note the required quoting of string parameters)<iref item="xsltproc" subitem="passing parameters"/></postamble>
117</figure>
118
119<section title="Supported xml2rfc-compatible PIs">
120<texttable>
121  <ttcol>PI target</ttcol>
122  <ttcol>PI pseudo-attribute</ttcol>
123  <ttcol>XSLT parameter name</ttcol>
124  <ttcol>default</ttcol>
125  <ttcol>comment</ttcol>
126
127  <c>rfc</c>
128  <c>background<iref item="background PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="background"/></c>
129  <c>xml2rfc-background<iref item="xml2rfc-background parameter"/> <iref item="Parameters" subitem="xml2rfc-background"/></c>
130  <c>(not set)</c>
131  <c/>
132 
133  <c>rfc</c>
134  <c>compact<iref item="compact PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="compact"/></c>
135  <c>xml2rfc-compact<iref item="xml2rfc-editing parameter"/> <iref item="Parameters" subitem="xml2rfc-compact"/></c>
136  <c>"no"</c>
137  <c>only applies to HTML output method when printing</c>
138
139  <c>rfc</c>
140  <c>comments<iref item="comments PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="comments"/></c>
141  <c>xml2rfc-comments<iref item="xml2rfc-comments parameter"/> <iref item="Parameters" subitem="xml2rfc-comments"/></c>
142  <c>(not set)</c>
143  <c/>
144
145  <c>rfc</c>
146  <c>editing<iref item="editing PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="editing"/></c>
147  <c>xml2rfc-editing<iref item="xml2rfc-editing parameter"/> <iref item="Parameters" subitem="xml2rfc-editing"/></c>
148  <c>"no"</c>
149  <c/>
150 
151  <c>rfc</c>
152  <c>footer<iref item="footer PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="footer"/></c>
153  <c>xml2rfc-footer<iref item="xml2rfc-footer parameter"/> <iref item="Parameters" subitem="xml2rfc-footer"/></c>
154  <c>(not set)</c>
155  <c/>
156 
157  <c>rfc</c>
158  <c>header<iref item="header PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="header"/></c>
159  <c>xml2rfc-header<iref item="xml2rfc-header parameter"/> <iref item="Parameters" subitem="xml2rfc-header"/></c>
160  <c>(not set)</c>
161  <c/>
162
163  <c>rfc</c>
164  <c>inline<iref item="inline PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="inline"/></c>
165  <c>xml2rfc-inline<iref item="xml2rfc-inline parameter"/> <iref item="Parameters" subitem="xml2rfc-inline"/></c>
166  <c>(not set)</c>
167  <c/>
168
169  <c>rfc</c>
170  <c>iprnotified<iref item="iprnotified PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="iprnotified"/></c>
171  <c>xml2rfc-iprnotified<iref item="xml2rfc-iprnotified parameter"/> <iref item="Parameters" subitem="xml2rfc-iprnotified"/></c>
172  <c>"no"</c>
173  <c/>
174
175  <c>rfc</c>
176  <c>linkmailto<iref item="linkmailto PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="linkmailto"/></c>
177  <c>xml2rfc-linkmailto<iref item="xml2rfc-linkmailto parameter"/> <iref item="Parameters" subitem="xml2rfc-linkmailto"/></c>
178  <c>"yes"</c>
179  <c/>
180 
181  <c>rfc</c>
182  <c>private<iref item="private PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="private"/></c>
183  <c>xml2rfc-private<iref item="xml2rfc-private parameter"/> <iref item="Parameters" subitem="xml2rfc-private"/></c>
184  <c>(not set)</c>
185  <c/>
186 
187  <c>rfc</c>
188  <c>rfcedstyle<iref item="rfcedstyle PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="rfcedstyle"/></c>
189  <c>xml2rfc-rfcedstyle<iref item="xml2rfc-rfcedstyle parameter"/> <iref item="Parameters" subitem="xml2rfc-rfcedstyle"/></c>
190  <c>(not set)</c>
191  <c>(limited support)</c>
192
193  <c>rfc</c>
194  <c>sortrefs<iref item="sortrefs PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="sortrefs"/></c>
195  <c>xml2rfc-sortrefs<iref item="xml2rfc-sortrefs parameter"/> <iref item="Parameters" subitem="xml2rfc-sortrefs"/></c>
196  <c>"no"</c>
197  <c/>
198 
199  <c>rfc</c>
200  <c>symrefs<iref item="symrefs PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="symrefs"/></c>
201  <c>xml2rfc-symrefs<iref item="xml2rfc-symrefs parameter"/> <iref item="Parameters" subitem="xml2rfc-symrefs"/></c>
202  <c>"yes"</c>
203  <c>The default has changed from "no" to "yes" as of June 6, 2007 and xml2rfc 1.33pre4.</c>
204 
205  <c>rfc</c>
206  <c>toc<iref item="toc PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="toc"/></c>
207  <c>xml2rfc-toc<iref item="xml2rfc-toc parameter"/> <iref item="Parameters" subitem="xml2rfc-toc"/></c>
208  <c>"no"</c>
209  <c/>
210 
211  <c>rfc</c>
212  <c>tocdepth<iref item="tocdepth PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="tocdepth"/></c>
213  <c>xml2rfc-tocdepth<iref item="xml2rfc-tocdepth parameter"/> <iref item="Parameters" subitem="xml2rfc-tocdepth"/></c>
214  <c>99</c>
215  <c/>
216
217  <c>rfc</c>
218  <c>topblock<iref item="topblock PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="topblock"/></c>
219  <c>xml2rfc-topblock<iref item="xml2rfc-topblock parameter"/> <iref item="Parameters" subitem="xml2rfc-topblock"/></c>
220  <c>"yes"</c>
221  <c/>
222
223</texttable>
224</section>
225
226<section title="Unsupported xml2rfc-compatible PIs">
227<texttable>
228  <ttcol>PI target</ttcol>
229  <ttcol>PI pseudo-attribute</ttcol>
230  <ttcol>comment</ttcol>
231
232  <c>rfc</c>
233  <c>include<iref item="include PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="include"/></c>
234  <c>incompatible with XML/XSLT processing model</c>
235
236  <c>rfc</c>
237  <c>needLines<iref item="needLines PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="needLines"/></c>
238  <c/>
239
240  <c>rfc</c>
241  <c>slides<iref item="slides PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="slides"/></c>
242  <c/>
243
244  <c>rfc</c>
245  <c>strict<iref item="strict PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="strict"/></c>
246  <c/>
247
248  <c>rfc</c>
249  <c>subcompact<iref item="subcompact PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="subcompact"/></c>
250  <c/>
251
252  <c>rfc</c>
253  <c>tocindent<iref item="tocindent PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="tocindent"/></c>
254  <c>(defaults to "yes")</c>
255
256 <c>rfc</c>
257  <c>tocompact<iref item="tocompact PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="tocompact"/></c>
258  <c/>
259
260</texttable>
261</section>
262
263<section title="Extension PIs">
264<texttable>
265  <ttcol>PI target</ttcol>
266  <ttcol>PI pseudo-attribute</ttcol>
267  <ttcol>XSLT parameter name</ttcol>
268  <ttcol>default</ttcol>
269  <ttcol>description</ttcol>
270
271  <c>rfc-ext</c>
272  <c>allow-markup-in-artwork<iref item="allow-markup-in-artwork PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="allow-markup-in-artwork"/></c>
273  <c>xml2rfc-allow-markup-in-artwork<iref item="xml2rfc-ext-allow-markup-in-artwork parameter"/> <iref item="Parameters" subitem="xml2rfc-ext-allow-markup-in-artwork"/></c>
274  <c>"no"</c>
275  <c>Enables support for specific elements inside abstract elements (using this extension
276  makes the document incompatible to the RFC2629bis DTD; see description of
277  conversion XSLT in <xref target="clean-for-dtd"/>).</c>
278
279  <c>rfc-ext</c>
280  <c>authors-section<iref item="authors-section PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="authors-section"/></c>
281  <c>xml2rfc-ext-authors-section<iref item="xml2rfc-ext-authors-section parameter"/> <iref item="Parameters" subitem="xml2rfc-ext-authors-section"/></c>
282  <c></c>
283  <c>When "end", place the authors section at the end (just before the
284  copyright statements). This seems to be the preferred order in the
285  newest RFCs.</c>
286
287  <c>rfc-ext</c>
288  <c>include-references-in-index<iref item="include-references-in-index PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="include-references-in-index"/></c>
289  <c>xml2rfc-ext-include-references-in-index<iref item="xml2rfc-ext-include-references-in-index parameter"/> <iref item="Parameters" subitem="xml2rfc-ext-include-references-in-index"/></c>
290  <c></c>
291  <c>When set to "yes", index entries are generated for all references.</c>
292
293  <c>rfc-ext</c>
294  <c>justification<iref item="justification PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="ijustification"/></c>
295  <c>xml2rfc-ext-justification<iref item="xml2rfc-ext-justification parameter"/> <iref item="Parameters" subitem="xml2rfc-ext-justification"/></c>
296  <c>"never"</c>
297  <c>"never": never emit justified text, "always": always emit justified text, "print": only emit justified text for print media.</c>
298
299  <c>rfc-ext</c>
300  <c>parse-xml-in-artwork<iref item="parse-xml-in-artwork PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="parse-xml-in-artwork"/></c>
301  <c>xml2rfc-parse-xml-in-artwork<iref item="xml2rfc-ext-parse-xml-in-artwork parameter"/> <iref item="Parameters" subitem="xml2rfc-ext-parse-xml-in-artwork"/></c>
302  <c>"no"</c>
303  <c>May be used to enable parsing of XML content in figures (MSXML only).</c>
304
305  <c>rfc-ext</c>
306  <c>support-rfc2731<iref item="support-rfc2731 PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="support-rfc2731"/></c>
307  <c>xml2rfc-ext-support-rfc2731<iref item="xml2rfc-ext-support-rfc2731 parameter"/> <iref item="Parameters" subitem="xml2rfc-ext-support-rfc2731"/></c>
308  <c>"yes"</c>
309  <c>Decides whether the HTML transformation should generate META tags according <xref target="rfc2731.properties"/>.</c>
310
311  <c>rfc-ext</c>
312  <c>sec-no-trailing-dots<iref item="sec-no-trailing-dots PI pseudo-attribute"/><iref item="Processing Instruction pseudo attributes" subitem="sec-no-trailing-dots"/></c>
313  <c>xml2rfc-ext-sec-no-trailing-dots<iref item="xml2rfc-ext-sec-no-trailing-dots parameter"/> <iref item="Parameters" subitem="xml2rfc-ext-sec-no-trailing-dots"/></c>
314  <c></c>
315  <c>When set to "yes", add trailing dots to section numbers. This seems to be the preferred format in the
316  newest RFCs.</c>
317
318</texttable>
319</section>
320
321</section>
322
323<section title="Anchors" anchor="anchors">
324<t>
325  The transformation automatically generates anchors that are supposed to
326  be stable and predictable and that can be used to identify specific
327  parts of the document. Anchors are generated both in HTML and XSL-FO
328  content (but the latter will only be used for PDF output when the XSL-FO
329  engine supports producing PDF anchors).
330</t>
331<texttable>
332<preamble>The following anchors get auto-generated:</preamble>
333<ttcol>Anchor name</ttcol><ttcol>Description</ttcol>
334
335  <c>rfc.abstract <iref item="rfc.abstract anchor"/><iref item="Anchors" subitem="rfc.abstract"/></c><c>Abstract</c>
336  <c>rfc.authors <iref item="rfc.authors anchor"/><iref item="Anchors" subitem="rfc.authors"/></c><c>Authors section</c>
337  <c>rfc.copyright <iref item="rfc.copyright anchor"/><iref item="Anchors" subitem="rfc.copyright"/></c><c>Copyright section</c>
338  <c>rfc.copyrightnotice <iref item="rfc.copyrightnotice anchor"/><iref item="Anchors" subitem="rfc.copyrightnotice"/></c><c>Copyright notice</c>
339  <c>rfc.figure.<spanx>n</spanx> <iref item="rfc.figure.n anchor"/><iref item="Anchors" subitem="rfc.figure.n"/></c><c>Figures (titled)</c>
340  <c>rfc.figure.u.<spanx>n</spanx> <iref item="rfc.figure.u.n anchor"/><iref item="Anchors" subitem="rfc.figure.u.n"/></c><c>Figures (untitled)</c>
341  <c>rfc.index <iref item="rfc.index anchor"/><iref item="Anchors" subitem="rfc.index"/></c><c>Index</c>
342  <c>rfc.ipr <iref item="rfc.ipr anchor"/><iref item="Anchors" subitem="rfc.ipr"/></c><c>Intellectual Property</c>
343  <c>rfc.iref.<spanx>n</spanx> <iref item="rfc.iref.n anchor"/><iref item="Anchors" subitem="rfc.iref.n"/></c><c>Internal references</c>
344  <c>rfc.note.<spanx>n</spanx> <iref item="rfc.note.n anchor"/><iref item="Anchors" subitem="rfc.note.n"/></c><c>Notes (from front section)</c>
345  <c>rfc.references <iref item="rfc.references anchor"/><iref item="Anchors" subitem="rfc.references"/></c><c>References</c>
346  <c>rfc.references.<spanx>n</spanx> <iref item="rfc.references.n anchor"/><iref item="Anchors" subitem="rfc.references"/></c><c>Additional references</c>
347  <c>rfc.section.<spanx>n</spanx> <iref item="rfc.section.n anchor"/><iref item="Anchors" subitem="rfc.section.n"/></c><c>Section <spanx>n</spanx></c>
348  <c>rfc.section.<spanx>n</spanx>.p.<spanx>m</spanx> <iref item="rfc.section.n.p.m anchor"/><iref item="Anchors" subitem="rfc.section.n.p.m"/></c><c>Section <spanx>n</spanx>, paragraph <spanx>m</spanx></c>
349  <c>rfc.status <iref item="rfc.status anchor"/><iref item="Anchors" subitem="rfc.status"/></c><c>Status of memo</c>
350  <c>rfc.table.<spanx>n</spanx> <iref item="rfc.figure.n anchor"/><iref item="Anchors" subitem="rfc.figure.n"/></c><c>Tables (titled)</c>
351  <c>rfc.table.u.<spanx>n</spanx> <iref item="rfc.figure.u.n anchor"/><iref item="Anchors" subitem="rfc.figure.u.n"/></c><c>Tables (untitled)</c>
352  <c>rfc.toc <iref item="rfc.toc anchor"/><iref item="Anchors" subitem="rfc.toc"/></c><c>Table of contents</c>
353  <c>rfc.xref.<spanx>name</spanx>.<spanx>n</spanx> <iref item="rfc.xref.name.n anchor"/><iref item="Anchors" subitem="rfc.xref.name.n"/></c><c>References to reference <spanx>n</spanx> to <spanx>name</spanx></c>
354
355</texttable>
356</section>
357
358<section title="Supported XSLT engines" anchor="xslt.engines">
359<t>
360  The transformation requires a non-standard extension function (see <eref target="http://www.exslt.org/exsl/functions/node-set/exsl.node-set.html">
361  exsl:node-set</eref>)
362  which is however widely available. XSLT processors that do not support this
363  extension (or a functional equivalent) currently are not supported.
364</t>
365<section title="Standalone Engines">
366<t>
367  The following XSLT engines are believed to work well:
368  <list style="symbols">
369    <t><iref item="MSXML3"/><iref item="MSXML4"/>MSXML3 and MSXML4 (<eref target="http://msdn.microsoft.com/xml"/>; these processors
370    do not support exsl:node-set(), but have a similar proprietary extension)</t>
371    <t><iref item="Saxon"/>Saxon (<eref target="http://saxon.sourceforge.net/"/>)</t>
372    <t><iref item="Xalan"/>Xalan (<eref target="http://xml.apache.org/xalan-j/"/>)</t>
373    <t><iref item="xsltproc"/>xsltproc (libxslt) (<eref target="http://xmlsoft.org/XSLT/"/>, make sure that you
374    have a current version)</t>
375  </list>
376</t>
377</section>
378
379<section title="In-Browser Engines">
380<t>
381  The following browsers seem to work fine:
382  <list style="symbols">
383    <t><iref item="Internet Explorer 5.5"/>Internet Explorer 5.5 (Windows version, if MSXML3 is installed)</t>
384    <t><iref item="Internet Explorer 6"/>Internet Explorer 6</t>
385    <t><iref item="Internet Explorer 7"/>Internet Explorer 7</t>
386    <t><iref item="Internet Explorer 8"/>Internet Explorer 8</t>
387    <t anchor="firefox3"><iref item="Mozilla"/><iref item="Firefox" subitem="3.*"/>Firefox 3.0</t>
388    <t><iref item="Safari"/><iref item="Safari" subitem="3.*"/>Safari 3 (starting with version 3.0.4)</t>
389    <t><iref item="Google Chrome"/>Google Chrome (beta available)</t>
390    <t><iref item="Opera"/>Opera 10 (alpha version available)</t>
391  </list>
392</t>
393<t>
394  The following browsers are known not to work properly:
395  <list style="symbols">
396    <t anchor="firefox12"><iref item="Mozilla"/><iref item="Firefox" subitem="1.*/2.*"/>Firefox 1.*/2.*: (missing extension function - see change request at Mozilla BugZilla
397    <eref target="http://bugzilla.mozilla.org/show_bug.cgi?id=193678">193678</eref>)</t>
398    <t anchor="opera"><iref item="Opera"/>Opera 9.21: execution fails, potentially
399    to a somewhat complex XPath expression (reported to Opera as bug 245725).</t>
400    <t>Opera 9.5 and 9.6:
401    transformation appears to work, but CSS isn't getting applied (reported to Opera as bug 337388 on 2008-06-12).</t>
402    <t anchor="safari"><iref item="Safari"/>Safari 2.* supports client-side XSLT as of MacOS X 10.4,
403    but misses required extension functions. A problem
404    with stylesheets producing non-ASCII output (such as NBSP characters)
405    has been fixed as of OSX 10.4.4. Both
406    problems have been reported through Apple's bug tracking system, see
407    <eref target="http://drakken.dbc.mtview.ca.us/pipermail/xml2rfc/2005-May/002073.html"/> and
408    <eref target="http://bugs.webkit.org/show_bug.cgi?id=4079"/>.
409    </t>
410  </list>
411</t>
412</section>
413
414</section>
415
416<section title="Transforming to HTML" anchor="output.html">
417<t>
418  Transformation to HTML can be done inside the browser if it supports
419  XSLT. To enable this, add the following processing instruction to
420  the start of the source file:
421</t>
422<iref item="xml-stylesheet PI"/>
423<figure><artwork type="example">
424  &lt;?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
425</artwork></figure>
426<t>
427  (and ensure that <spanx style="verb">rfc2629.xslt</spanx> is present).
428</t>
429
430<section title="HTML compliance">
431<t>
432  The transformation result is supposed to conform to the HTML 4.01 strict
433  DTD <xref target="HTML"/>. This can be checked using the W3C's online
434  validator at <eref target="http://validator.w3.org" /><iref item="HTML compliance"/>.
435</t>
436</section>
437
438<section title="Standard HTML LINK elements" anchor="html.link">
439<t>
440  LINK elements exist since HTML 2.0. They can be used to embed content-independant
441  links inside the document. Unfortunately, only few user agents
442  support this element. Firefox users may want to check the
443  <eref target="https://addons.mozilla.org/firefox/2933/">Link Widgets</eref>
444  extension.
445</t>
446<texttable>
447<preamble>The following LINK elements are produced:</preamble>
448
449  <ttcol>LINK type</ttcol>
450  <ttcol>description</ttcol>
451 
452  <c>alternate<iref item="alternate HTML LINK element"/><iref item="HTML LINK elements" subitem="alternate"/></c><c>for RFCs, a link to the authorative ASCII version on the IETF web site</c>
453  <c>appendic<iref item="appendix HTML LINK element"/><iref item="HTML LINK elements" subitem="appendix"/></c><c>pointer to all top-level appendics</c>
454  <c>author<iref item="author HTML LINK element"/><iref item="HTML LINK elements" subitem="author"/></c><c>pointer to "authors" section</c>
455  <c>chapter<iref item="chapter HTML LINK element"/><iref item="HTML LINK elements" subitem="chapter"/></c><c>pointer to all top-level sections</c>
456  <c>contents<iref item="contents HTML LINK element"/><iref item="HTML LINK elements" subitem="contents"/></c><c>pointer to table of contents</c>
457  <c>copyright<iref item="copyright HTML LINK element"/><iref item="HTML LINK elements" subitem="copyright"/></c><c>pointer to copyright statement</c>
458  <c>index<iref item="index HTML LINK element"/><iref item="HTML LINK elements" subitem="index"/></c><c>pointer to index</c>
459
460</texttable>
461<figure>
462<preamble>
463The figure below shows how Mozilla Firefox 1.0 displays the Site Navigation Bar
464for rfc2396.xml.
465</preamble>
466<artwork src="rfc2629xslt-fig1.png" height="235" width="509" type="image/png">
467(LINK elements displayed in Mozilla Firefox for RFC2396.xml)
468</artwork>
469</figure>
470
471</section>
472
473
474<section title="Standard HTML metadata">
475<texttable>
476<preamble>The following standard HTML META elements are produced:</preamble>
477
478  <ttcol>META name</ttcol>
479  <ttcol>description</ttcol>
480 
481  <c>generator<iref item="generator HTML META element"/><iref item="HTML META elements" subitem="generator"/></c><c>from XSLT engine version and stylesheet version</c>
482  <c>keywords<iref item="keywords HTML META element"/><iref item="HTML META elements" subitem="keywords"/></c><c>from keyword elements in front section</c>
483
484</texttable>
485</section>
486
487
488<section title="Dublin Core (RFC2731) metadata" anchor="rfc2731.properties">
489<t>
490  Unless turned off using the "rfc-ext support-rfc2731" processing
491  instruction, the transformation will generate metadata according to
492  <xref target="RFC2731"/>.
493</t>
494<texttable>
495<preamble>The following DCMI properties are produced:</preamble>
496
497  <ttcol>META name</ttcol>
498  <ttcol>description</ttcol>
499 
500  <c>DC.Creator<iref item="Creator DCMI property"/><iref item="DCMI properties" subitem="Creator"/></c><c>from author information in front section</c>
501  <c>DC.Date.Issued<iref item="Date.Issued DCMI property"/><iref item="DCMI properties" subitem="Date.Issued"/></c><c>from date information in front section</c>
502  <c>DC.Description.Abstract<iref item="Description.Abstract DCMI property"/><iref item="DCMI properties" subitem="Description.Abstract"/></c><c>from abstract</c>
503  <c>DC.Identifier<iref item="Identifier DCMI property"/><iref item="DCMI properties" subitem="Identifier"/></c><c>document URN <xref target="RFC2648" /> from "docName" attribute</c>
504  <c>DC.Relation.Replaces<iref item="Relation.Replaces DCMI property"/><iref item="DCMI properties" subitem="Relation.Replaces"/></c><c>from "obsoletes" attribute</c>
505
506</texttable>
507</section>
508
509<section title="Experimental hCard support" anchor="hcard">
510<t>
511  The generated author information is formatted in <eref target="http://microformats.org/wiki/hcard">hCard</eref>
512  format.
513</t>
514</section>
515
516
517</section>
518
519<section title="Transforming to XHTML" anchor="output.xhtml">
520<t>
521  Transforming to XHTML requires slightly different XSLT output options and
522  is implemented by the derived transformation script <spanx style="verb">rfc2629toXHTML.xslt</spanx>.
523</t>
524<t><list><t>
525  <x:h>Note:</x:h> Microsoft Internet Explorer does <spanx>not</spanx> support XHTML.
526  Therefore it usually makes more sense to generate plain old HTML.
527</t></list></t>
528</section>
529
530<section title="Transforming to CHM (Microsoft Compiled Help)" anchor="output.chm">
531<t>
532  <iref item="CHM format"/>
533  <iref item="Microsoft Help"/>
534  To generate a CHM file using Microsoft's HTML Help Compiler (hhc), three
535  files are required in addition to the HTML file.
536  <list style="numbers">
537    <t>hhc - table of contents file (HTML)</t>
538    <t>hhk - index file (HTML)</t>
539    <t>hhp - project file (plain text)</t>
540  </list> 
541</t>
542<t>
543  The three files are generated with three specific transformations, each
544  requiring the additional XSLT parameter "basename" to specify the filename
545  prefix.
546</t>
547<figure>
548<preamble>Example:</preamble>
549<artwork type="example">
550saxon rfc2616.xml rfc2629toHhp.xslt basename=rfc2616  > rfc2616.hhp
551saxon rfc2616.xml rfc2629toHhc.xslt basename=rfc2616  > rfc2616.hhc
552saxon rfc2616.xml rfc2629toHhk.xslt basename=rfc2616  > rfc2616.hhk
553hhc rfc2616.hhp
554</artwork>
555</figure>
556</section>
557
558<section title="Transforming to PDF" anchor="output.pdf">
559
560<section title="Via XSL-FO" anchor="output.pdf.fop">
561<t>
562  Transformation to XSL-FO <xref target="XSL-FO"/> format is available through
563  <spanx style="verb">rfc2629toFO.xslt</spanx> (which includes <spanx style="verb">rfc2629.xslt</spanx>, so keep both in the
564  same folder).
565</t>
566<t>
567  Compared to HTML user agents, XSL-FO engines unfortunately either come
568  as open source (for instance, <iref item="Apache FOP"/>Apache FOP) or
569  feature-complete (for instance, <iref item="AntennaHouse XSL Formatter"/>
570  AntennaHouse XSL Formatter), but not both at the same time.
571</t>
572<t>
573  As Apache FOP needs special workarounds (page breaking, table layout), and
574  some popular extensions aren't standardized yet, the translation produces
575  a generic output (hopefully) conforming to <xref target="XSL-FO"/>.
576  Specific backends (<spanx style="verb">xsl11toFop.xslt</spanx>,
577  <spanx style="verb">xsl11toXep.xslt</spanx>, <spanx style="verb">xsl11toAn.xslt</spanx>)
578  then provide post-processing for the individual processors.
579</t>
580<x:note>
581  <t>
582    <x:h>Note:</x:h>
583    the output is currently targeted at Apache FOP 0.95.
584  </t>
585</x:note>
586
587<section title="Extension feature matrix">
588<texttable>
589  <ttcol/>
590  <ttcol align="center" width="20%">PDF anchors</ttcol>
591  <ttcol align="center" width="20%">PDF bookmarks</ttcol>
592  <ttcol align="center" width="20%">PDF document information</ttcol>
593  <ttcol align="center" width="20%">Index cleanup</ttcol>
594 
595  <c><eref target="http://www.w3.org/TR/2003/WD-xsl11-20031217/">XSL 1.1 WD</eref></c>
596  <c>no, but can be auto-generated from "id" attributes</c> 
597  <c><eref target="http://www.w3.org/TR/2003/WD-xsl11-20031217/#d0e12873">yes</eref></c>
598  <c>no, but uses XEP output extensions</c>
599  <c><eref target="http://www.w3.org/TR/2003/WD-xsl11-20031217/#d0e12534">yes</eref></c>
600
601  <c><eref target="http://www.antennahouse.com/">Antenna House XSL formatter</eref></c>
602  <c>no</c>
603  <c><eref target="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</eref> (from XSL 1.1 bookmarks)</c>
604  <c><eref target="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</eref> (from XEP document info)</c>
605  <c><eref target="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</eref> (just page duplicate elimination, from XSL 1.1 page index)</c>
606
607  <c><eref target="http://xml.apache.org/fop/">Apache FOP</eref></c>
608  <c><eref target="http://xml.apache.org/fop/extensions.html#named-destinations">yes</eref></c>
609  <c><eref target="http://xml.apache.org/fop/extensions.html#bookmarks">yes</eref> (from XSL 1.1 bookmarks)</c>
610  <c><eref target="http://xmlgraphics.apache.org/fop/0.95/metadata.html#xmp-in-fo">yes</eref></c>
611  <c>no</c>
612
613  <c><eref target="http://xep.xattic.com/">RenderX XEP</eref></c>
614  <c>no</c>
615  <c><eref target="http://xep.xattic.com/xep/spec.html">yes</eref> (from XSL 1.1 bookmarks)</c>
616  <c><eref target="http://xep.xattic.com/xep/spec.html">yes</eref></c>
617  <c><eref target="http://xep.xattic.com/xep/spec.html">yes</eref> (from XSL 1.1 page index)</c>
618
619</texttable>
620</section>
621
622<section title="Example: producing output for Apache FOP">
623<figure>
624<preamble>Example:</preamble>
625<artwork type="example">
626saxon rfc2616.xml rfc2629toFo.xslt > tmp.fo
627saxon tmp.fo xsl11toFop.xslt > rfc2629.fo
628</artwork>
629</figure>
630</section>
631</section>
632
633<section title="Via X(HTML)" anchor="output.pdf.html">
634<t>
635  PDF output can also be produced directly from (X)HTML. One simple approach
636  is to rely on the browser's printing function, and to use a printer driver
637  that produces PDF. Depending on the brower's CSS capabilities, the output
638  will behave properly with respect to table breaks etc.
639</t>
640<t>
641  An alternative is PrinceXML (see <eref target="http://www.princexml.com/"/>),
642  which can produce PDF directly from (X)HTML input, based on the CSS printing
643  information.
644</t>
645<figure>
646  <preamble>
647    For instance, PDF output with text justification turned on can be
648    produced with:
649  </preamble>
650  <artwork type="example">
651saxon input.xml rfc2629toXHTML.xslt xml2rfc-ext-justification=print \
652  > output.xhtml
653prince output.xhtml output.pdf</artwork>
654</figure>
655</section>
656
657</section>
658
659<section title="Generic Extensions" anchor="extensions">
660<t>
661  This section documents extensions implemented in
662  <spanx style="verb">rfc2629.xslt</spanx>, using the extension
663  namespace "http://purl.org/net/xml2rfc/ext".
664</t>
665
666<section title="&lt;abnf-char-sequence> element" anchor="ext.element.abnf-char-sequence">
667  <iref item="Extension Elements" subitem="abnf-char-sequence" primary="true"/>
668  <iref item="abnf-char-sequence Extension Element" primary="true"/>
669  <x:anchor-alias value="abnf-char-sequence"/>
670  <t>
671    Converts the contained quoted string into a hex-encoded character
672    sequence, for use in case-sensitive ABNF productions.
673  </t>
674  <t>
675    For instance, "&lt;x:abnf-char-sequence>"HTTP"&lt;/x:abnf-char-sequence>"
676    gets converted to "<x:abnf-char-sequence>"HTTP"</x:abnf-char-sequence>".
677  </t>
678</section>
679
680<section title="&lt;anchor-alias> element" anchor="ext.element.anchor-alias">
681  <iref item="Extension Elements" subitem="anchor-alias" primary="true"/>
682  <iref item="anchor-alias Extension Element" primary="true"/>
683  <x:anchor-alias value="anchor-alias"/>
684  <t>
685    Using its "value" attribute, this element allows the definition of an
686    internal link target alias for the enclosing element. This alias can
687    then be used with the &lt;<x:ref>ref</x:ref>> element for intra-document
688    references.
689  </t>
690  <t>
691    Note that the anchor alias is not subject to the naming constraints that
692    apply to anchor elements (which are <eref target="http://www.w3.org/TR/REC-xml/#NT-Name">XML
693    names</eref>).
694  </t>
695</section>
696
697<!--<section title="&lt;include-author> element" anchor="ext.element.include-author">
698  <iref item="Extension Elements" subitem="include-author" primary="true"/>
699  <iref item="include-author Extension Element" primary="true"/>
700  <x:anchor-alias value="include-author"/>
701  <t>
702    This element can be used to include an author's contact information in
703    place where a paragraphj (&lt;t>) would be allowed otherwise.
704  </t>
705</section> -->
706
707<section title="&lt;bcp14> element" anchor="ext.element.bcp14">
708  <iref item="Extension Elements" subitem="bcp14" primary="true"/>
709  <iref item="bcp14 Extension Element" primary="true"/>
710  <x:anchor-alias value="bcp14"/>
711  <t>
712    This element marks the content as being one of the normative keywords
713    defined in <xref target="RFC2119"/>.
714  </t>
715  <figure>
716    <preamble>
717      The DOCTYPE definition below allows using these keywords using XML
718      entity expansion: such as in "...server &amp;MUST; accept...".
719    </preamble>
720    <artwork type="example">
721&lt;!DOCTYPE rfc [
722 &lt;!ENTITY MAY "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
723   >MAY&lt;/bcp14>">
724 &lt;!ENTITY MUST "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
725   >MUST&lt;/bcp14>">
726 &lt;!ENTITY MUST-NOT "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
727   >MUST NOT&lt;/bcp14>">
728 &lt;!ENTITY OPTIONAL "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
729   >OPTIONAL&lt;/bcp14>">
730 &lt;!ENTITY RECOMMENDED "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
731   >RECOMMENDED&lt;/bcp14>">
732 &lt;!ENTITY REQUIRED "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
733   >REQUIRED&lt;/bcp14>">
734 &lt;!ENTITY SHALL "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
735   >SHALL&lt;/bcp14>">
736 &lt;!ENTITY SHALL-NOT "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
737   >SHALL NOT&lt;/bcp14>">
738 &lt;!ENTITY SHOULD "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
739   >SHOULD&lt;/bcp14>">
740 &lt;!ENTITY SHOULD-NOT "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
741   >SHOULD NOT&lt;/bcp14>">]></artwork>
742  </figure>
743</section>
744
745<section title="&lt;bb> element" anchor="ext.element.bb">
746  <iref item="Extension Elements" subitem="bb" primary="true"/>
747  <iref item="bb Extension Element" primary="true"/>
748  <x:anchor-alias value="bb"/>
749  <t>
750    Marking up a string as &lt;bb> indicates that it represents the bottom
751    line of a box drawing, replacing the "+" and "-" characters accordingly.
752  </t>
753</section>
754
755<section title="&lt;bc> element" anchor="ext.element.bc">
756  <iref item="Extension Elements" subitem="bc" primary="true"/>
757  <iref item="bc Extension Element" primary="true"/>
758  <x:anchor-alias value="bc"/>
759  <t>
760    Marking up a string as &lt;bc> indicates that it represents a center
761    line of a box drawing, replacing the "|" character accordingly.
762  </t>
763</section>
764
765<section title="&lt;blockquote> element" anchor="ext.element.blockquote">
766  <iref item="Extension Elements" subitem="blockquote" primary="true"/>
767  <iref item="blockquote Extension Element" primary="true"/>
768  <x:anchor-alias value="blockquote"/>
769  <t>
770    This element is like the "<eref target="http://www.w3.org/TR/html401/struct/text.html#edef-BLOCKQUOTE">blockquote</eref>" element in <xref target="HTML"/> 
771    (note this is a block-level element!). It should contain one or more
772    &lt;t> child elements.
773  </t>
774</section>
775
776<section title="&lt;boilerplate> element" anchor="ext.element.boilerplate">
777  <iref item="Extension Elements" subitem="boilerplate" primary="true"/>
778  <iref item="boilerplate Extension Element" primary="true"/>
779  <x:anchor-alias value="boilerplate"/>
780  <t>
781    Can be used to include boilerplate (status, copyright, ...) into the
782    front or back section. &lt;section> elements within &lt;x:boilerplate>
783    appear as unnumbered sections in the output.
784  </t>
785  <t>
786    <spanx>This element currently can not be "down-translated" for use
787    in xml2rfc!</spanx>
788  </t>
789</section>
790
791<section title="&lt;bt> element" anchor="ext.element.bt">
792  <iref item="Extension Elements" subitem="bt" primary="true"/>
793  <iref item="bt Extension Element" primary="true"/>
794  <x:anchor-alias value="bt"/>
795  <t>
796    Marking up a string as &lt;bt> indicates that it represents the top
797    line of a box drawing, replacing the "+" and "-" characters accordingly.
798  </t>
799</section>
800
801<section title="&lt;dfn> element" anchor="ext.element.dfn">
802  <iref item="Extension Elements" subitem="dfn" primary="true"/>
803  <iref item="dfn Extension Element" primary="true"/>
804  <x:anchor-alias value="dfn"/>
805  <t>
806    This element is like the "<eref target="http://www.w3.org/TR/html401/struct/text.html#edef-DFN">dfn</eref>" element in <xref target="HTML"/>.
807  </t>
808</section>
809
810<section title="&lt;h> element" anchor="ext.element.h">
811  <iref item="Extension Elements" subitem="h" primary="true"/>
812  <iref item="h Extension Element" primary="true"/>
813  <x:anchor-alias value="h"/>
814  <t>
815    This element is like the "<eref target="http://www.w3.org/TR/2006/WD-xhtml2-20060726/mod-structural.html#edef_structural_h">h</eref>" element in <xref target="XHTML2"/>.
816  </t>
817</section>
818
819<section title="&lt;highlight> element" anchor="ext.element.highlight">
820  <iref item="Extension Elements" subitem="highlight" primary="true"/>
821  <iref item="highlight Extension Element" primary="true"/>
822  <x:anchor-alias value="highlight"/>
823  <t>
824    Used to highlight text passages, currently only allowed in &lt;artwork>.
825  </t>
826  <t>
827    <x:h>Note:</x:h> this is stripped when generating input for xml2rfc,
828    so please use with care.
829  </t>
830</section>
831
832<section title="&lt;length-of> element" anchor="ext.element.length-of">
833  <iref item="Extension Elements" subitem="length-of" primary="true"/>
834  <iref item="length-of Extension Element" primary="true"/>
835  <x:anchor-alias value="length-of"/>
836  <t>
837    This element can be used to insert the length of another formatted
838    section (in decimal).
839  </t>
840  <figure>
841    <preamble>Example: computing the Content-Length header value</preamble>
842    <artwork type="example">
843&lt;artwork>
844...
845Content-Length: &lt;x:length-of target="req"/>
846 
847&lt;x:span anchor="req">123456789
848&lt;x:span>&lt;artwork/>
849</artwork>
850  </figure>
851  <t>
852    The lenght computation counts line ends as two characters (CRLF).
853  </t>
854  <t>
855    Note that indentation characters in artwork <spanx>will</spanx> be
856    counted. The "indented" attribute allows to specify the amount of
857    indentation to be substracted from the computed length.
858  </t>
859</section>
860
861<section title="&lt;link> element" anchor="ext.element.link">
862  <iref item="Extension Elements" subitem="link" primary="true"/>
863  <iref item="link Extension Element" primary="true"/>
864  <x:anchor-alias value="link"/>
865  <t>
866    This element can be added as a top-level child element below
867    &lt;rfc> to indicate additional link information. It's currently
868    used only when generating HTML output, in which case an HTML
869    <eref target="http://www.w3.org/TR/html4/struct/links.html#edef-LINK">&lt;link></eref> element with identical attributes gets generated.
870  </t>
871  <figure>
872    <preamble>Example: generating HTML link element</preamble>
873    <artwork type="example">
874        &lt;x:link xmlns="http://purl.org/net/xml2rfc/ext"
875            rel="Bookmark"
876            title="IETF WEBDAV Working Group"
877            href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/></artwork>
878  </figure>
879</section>
880
881<section title="&lt;lt> element" anchor="ext.element.lt">
882  <iref item="Extension Elements" subitem="lt" primary="true"/>
883  <iref item="lt Extension Element" primary="true"/>
884  <x:anchor-alias value="lt"/>
885  <t>
886    Used for grouping multiple &lt;t&gt; elements into a single list item.
887  </t>
888</section>
889
890<section title="&lt;note> element" anchor="ext.element.note">
891  <iref item="Extension Elements" subitem="note" primary="true"/>
892  <iref item="note Extension Element" primary="true"/>
893  <x:anchor-alias value="note"/>
894  <t>
895    Can be used to add a note, usually indented by a few characters.
896    It should contain one or more &lt;t> child elements.
897  </t>
898</section>
899
900<section title="&lt;parse-xml> element" anchor="ext.element.parse-xml">
901  <iref item="Extension Elements" subitem="parse-xml" primary="true"/>
902  <iref item="parse-xml Extension Element" primary="true"/>
903  <x:anchor-alias value="parse-xml"/>
904  <t>
905    This element instructs the processor to parse the contents as XML and
906    to warn when there's a problem (requires either MSXML or Saxon8 or newer).
907  </t>
908</section>
909
910<section title="&lt;q> element" anchor="ext.element.q">
911  <iref item="Extension Elements" subitem="q" primary="true"/>
912  <iref item="q Extension Element" primary="true"/>
913  <x:anchor-alias value="q"/>
914  <t>
915    This element is like the "<eref target="http://www.w3.org/TR/html401/struct/text.html#edef-Q">q</eref>" element in <xref target="HTML"/>.
916  </t>
917</section>
918
919<section title="&lt;ref> element" anchor="ext.element.ref">
920  <iref item="Extension Elements" subitem="ref" primary="true"/>
921  <iref item="ref Extension Element" primary="true"/>
922  <x:anchor-alias value="ref"/>
923  <t>
924    This element is a simplified variant of the &lt;xref> element, in that
925    no "target" attribute needs to be specified, instead the text contents
926    acts as identifier.  That in itself wouldn't be terribly useful,
927    but together with the &lt;<x:ref>anchor-alias</x:ref>>, it allows
928    referring to other parts of the document with minimal additional markup.
929  </t>
930  <t>
931    For instance, given an alias definition such as
932  </t>
933  <figure>
934    <artwork type="example">
935      &lt;section title="Test" anchor="test">
936        &lt;x:anchor-alias value="alias1"/>
937        &lt;x:anchor-alias value="alias 2"/>
938        ...
939      &lt;/section></artwork>
940  </figure>
941  <t>
942    the following simple references
943  </t>
944  <figure>
945    <artwork type="example">
946      &lt;x:ref>test&lt;/x:ref>
947      &lt;x:ref>alias1&lt;/x:ref>
948      &lt;x:ref>alias 2&lt;/x:ref></artwork>
949  </figure>
950  <t>
951    are equivalent to...:
952  </t>
953  <figure>
954    <artwork type="example">
955      &lt;xref target="test">test&lt;/xref>
956      &lt;xref target="test">alias1&lt;/xref>
957      &lt;xref target="test">alias 2&lt;/xref></artwork>
958  </figure>
959</section>
960
961<section title="&lt;source> element" anchor="ext.element.source">
962  <iref item="Extension Elements" subitem="source" primary="true"/>
963  <iref item="source Extension Element" primary="true"/>
964  <x:anchor-alias value="source"/>
965  <t>
966    Can be used to enhance a &lt;reference> with information about the
967    location for the XML source. This can be used by the &lt;xref>
968    processing code to automatically extract the target section number.
969  </t>
970  <figure>
971    <preamble>
972      For example:
973    </preamble>
974    <artwork type="example">
975      ...
976      &lt;xref target="RFC2616" x:fmt="of" x:rel="#PUT" />
977      ...
978   
979      &lt;reference target="RFC2616"/>
980        ...
981        &lt;x:source href="rfc2616.xml"/>
982        ...
983    </artwork>
984  </figure>
985</section>
986
987<section title="&lt;sup> element" anchor="ext.element.sup">
988  <iref item="Extension Elements" subitem="sup" primary="true"/>
989  <iref item="sup Extension Element" primary="true"/>
990  <x:anchor-alias value="sup"/>
991  <t>
992    This element is like the "<eref target="http://www.w3.org/TR/html401/struct/text.html#edef-SUP">sup</eref>" element in <xref target="HTML"/>.
993  </t>
994  <t>
995    Note: the down conversion to RFC2629 format replaces
996    "x<x:sup>y</x:sup>" by "x^y".
997  </t>
998</section>
999
1000<section title="Extensions to Xml2rfc &lt;artwork&gt; element" anchor="ext-rfc2629.artwork">
1001<t>
1002  Sometimes, artwork occurs inside lists. To get it indent properly in xml2rfc's
1003  text output, it needs to be indented in the source. This is sub-optimal, as
1004  this whitespace will also appear in the HTML output, where it's already
1005  indented due to HTML's semantics.
1006</t>
1007<t>
1008  As a workaround, a "x:indent-with" attribute can be specified, containing
1009  a string that will be prepended to each line when <spanx style="verb">clean-for-DTD.xslt</spanx>
1010  is run (see <xref target="clean-for-dtd"/>).
1011</t>
1012</section>
1013
1014<section title="Extensions to Xml2rfc &lt;iref&gt; element" anchor="ext-rfc2629.iref">
1015<t>
1016  The extension attribute below is allowed on the standard &lt;iref&gt; element:
1017  <list style="symbols">
1018    <t>x:for-anchor specifies that the &lt;iref&gt; will also be automatically
1019    inserted whenever the specified anchor is cross-referenced -- this may
1020    save entering lots of &lt;iref&gt; instances. As a special case, a value of
1021    "" (empty string) refers to the anchor attribute of the closest ancestor.</t>
1022  </list>
1023</t>
1024</section>
1025
1026<section title="Extensions to Xml2rfc &lt;list&gt; element" anchor="ext-rfc2629.list">
1027<t>
1028  The extension attribute below is allowed on the standard &lt;list&gt; element:
1029  <list style="symbols">
1030    <t>x:indent specifies the amount of indentation for list items in hanging
1031    lists. This can be useful when the output format, such as XSL-FO, does not
1032    support automatical formatting. The value takes an XSL-FO width, such as "5em".
1033    The default is <spanx>length of longest label in characters</spanx> times
1034    <spanx>0.8em</spanx>.</t>
1035  </list>
1036</t>
1037<t>
1038  Also, the &lt;list&gt; element can take &lt;x:<x:ref>lt</x:ref>&gt; child elements instead of
1039  &lt;t&gt;, allowing to insert multiple paragraphs into a single list item.
1040</t>
1041</section>
1042
1043<section title="Extensions to Xml2rfc &lt;rfc&gt; element" anchor="ext-rfc2629.rfc">
1044<t>
1045  The extension attributes below are allowed on the standard &lt;rfc&gt; element:
1046  <list style="symbols">
1047    <t>grddl:transformation can be used to reference a GRDDL transform.</t>
1048    <t>x:maturiy-level can be used to specify the IETF Standards Track
1049    Maturity Level of "proposed", "draft" or "internet" (see <xref target="RFC2026" x:fmt="of" x:sec="4.1"/>).</t>
1050  </list>
1051</t>
1052</section>
1053
1054<section title="Extensions to Xml2rfc &lt;section&gt; element" anchor="ext-rfc2629.section">
1055<t>
1056  The extension attribute below is allowed on the standard &lt;list&gt; element:
1057  <list style="symbols">
1058    <t>x:fixed-section-number can be used to specify a fixed section number.
1059    This can be useful when formatting historic documents that used a different
1060    numbering style.</t>
1061  </list>
1062</t>
1063</section>
1064
1065<section title="Extensions to Xml2rfc &lt;xref&gt; element" anchor="ext-rfc2629.xref">
1066<t>
1067  Three extension attributes are allowed on the standard &lt;xref&gt; element:
1068  <list style="numbers">
1069    <t>x:sec can be specified to point to a specific section of the referenced document,</t>
1070    <t>x:rel may specify a relative reference to use when linking into the referenced document (if linking by section number is not available),</t>
1071    <t>x:fmt defines the text format to be used.</t>
1072  </list>
1073</t>
1074<t>
1075  The following formats are defined for the x:fmt attribute:
1076  <list style="hanging">
1077    <t hangText=", (Comma)">
1078      [<spanx>reference</spanx>], Section <spanx>sec</spanx>
1079    </t>
1080    <t hangText="()">
1081      [<spanx>reference</spanx>] (Section <spanx>sec</spanx>)
1082    </t>
1083    <t hangText="anchor">
1084      Like the default format, but without brackets.
1085    </t>
1086    <t hangText="of">
1087      Section <spanx>sec</spanx> of [<spanx>reference</spanx>]
1088    </t>
1089    <t hangText="number">
1090      <spanx>sec</spanx>
1091    </t>
1092    <t hangText="none">
1093      No output (can be used to have xrefs to references without
1094      having them rendered as such)
1095    </t>
1096    <t hangText="sec">
1097      Section <spanx>sec</spanx>
1098    </t>
1099  </list>
1100</t>
1101<t>
1102  These extensions are currently only supported for &lt;xref&gt; elements without
1103  child nodes.
1104</t>
1105<t>
1106  If the processor knows how to reference the target section, it will generate
1107  a link directly to the target section, such as in <xref target="RFC2119" x:fmt="," x:sec="5"/>.
1108</t>
1109</section>
1110
1111</section>
1112
1113<section title="Utilities" anchor="utilities">
1114
1115<section title="Checking References" anchor="checking-references">
1116<t>
1117  <spanx style="verb">check-references.xslt</spanx> can be used to check
1118  all references to RFC- and ID-series IETF publications and to W3C publications (note
1119  this script requires local copies of
1120  <eref target="ftp://ftp.isi.edu/in-notes/rfc-index.xml"/> and
1121  <eref target="http://www.w3.org/2002/01/tr-automation/tr.rdf"/> and
1122  will use the XML status information provided at <eref target="http://tools.ietf.org/"/>).
1123</t>
1124<t>
1125  If the document is supposed to be published on the IETF standards track,
1126  the desired level can be specified using the parameter <spanx style='verb'>intended-level</spanx>
1127  as 'proposed', 'draft' or 'internet'. Alternatively, it can be specified
1128  inside the document using the attribute x:maturity-level on the &lt;rfc> element.
1129</t>
1130<t>
1131  <x:h>Note:</x:h> Downward references should be
1132  annotated using the &lt;annotate> element, containing an &lt;xref> to
1133  <xref target="BCP97"/>.
1134</t>
1135<t>
1136  When an XSLT 2.0 processor is used, links in the document can be checked as well
1137  using the <spanx style='verb'>link-check</spanx> paramerer ('yes' or 'no').
1138  Note that this only works for http links to documents of tytpe text/*.
1139</t>
1140<figure>
1141<preamble>
1142For instance, as of 2008-07-12, the script produces for <eref target="http://greenbytes.de/tech/webdav/rfc2518.xml"/>:
1143</preamble>
1144<artwork type="example">
1145> saxon rfc2518.xml check-references.xslt intended-status=PROPOSED \
1146  link-check=yes
1147
1148Normative References:
1149ISO-11578: not checked
1150ISO-639: not checked
1151ISO-8601: not checked
1152REC-xml-19980210: [FirstEdition] obsoleted by REC-xml-20001006
1153REC-xml-names-19990114: [FirstEdition] obsoleted by
1154 REC-xml-names-20060816
1155RFC1766: [PROPOSED STANDARD] obsoleted by RFC3066 RFC3282
1156RFC2068: [PROPOSED STANDARD] obsoleted by RFC2616
1157RFC2069: [PROPOSED STANDARD] obsoleted by RFC2617
1158RFC2119: [BEST CURRENT PRACTICE] (-> BCP0014) ok
1159RFC2141: [PROPOSED STANDARD] ok
1160RFC2277: [BEST CURRENT PRACTICE] (-> BCP0018) ok
1161RFC2396: [DRAFT STANDARD] obsoleted by RFC3986
1162RFC2279: [DRAFT STANDARD] obsoleted by RFC3629
1163
1164Informational References:
1165REC-PICS-labels-961031: [REC] ok
1166RFC1807: [INFORMATIONAL] ok
1167RFC2026: [BEST CURRENT PRACTICE] (-> BCP0009) ok
1168RFC2291: [INFORMATIONAL] ok
1169RFC2376: [INFORMATIONAL] obsoleted by RFC3023
1170RFC2413: [INFORMATIONAL] obsoleted by RFC5013
1171USMARC: not checked
1172WF: not checked
1173
1174Link Targets
1175&lt;http://www.w3.org/TR/1998/REC-xml-19980210>: ok
1176&lt;http://www.w3.org/TR/1999/REC-xml-names-19990114>: ok
1177&lt;http://www.dlib.org/dlib/july96/lagoze/07lagoze.html>: ok
1178&lt;http://www.w3.org/pub/WWW/TR/REC-PICS-labels-961031.html>: ok
1179</artwork></figure>
1180<t>
1181  Recognized formats in the &lt;seriesInfo> element are:
1182  <list style="symbols">
1183    <t>for RFCs, the name attribute must be "RFC", and the value attribute must
1184    be the number of the RFC,</t>
1185    <t>for Internet Drafs, the name attribute must be "ID" or "Internet-Draft", and the value attribute must
1186    be the file name of the draft (including the two-digit running number, but excluding a file extension),</t>
1187    <t>for W3C documents, the name attribute must be "W3C", must start with "W3C&#160;", or
1188    must start with "World Wide Web Consortium&#160;", and the value attribute
1189    must be the "shorthand" name of the specification, such as "REC-xml-19980210".</t>
1190  </list>
1191</t>
1192
1193</section>
1194
1195<section title="Generating Graphs from References">
1196<t>
1197  <spanx style="verb">gen-reference-graph.xslt</spanx> generates a graph
1198  of RFC dependencies, using the same base data as in <spanx style="verb">check-references.xslt</spanx>
1199  (see <xref target="checking-references"/>). Its output is a "dot" file,
1200  to be processed by GraphViz (see <eref target="http://www.graphviz.org/"/>).
1201</t>
1202<figure>
1203<preamble>
1204The picture below shows the RFC dependencies in RFC2629.
1205</preamble>
1206<artwork src="rfc2629xslt-fig2.png" type="image/png">
1207(PNG output obtained from GraphViz)
1208</artwork>
1209</figure>
1210</section>
1211
1212<section title="Producing reference entries for books">
1213<t>
1214  <spanx style="verb">amazon-asin.xslt</spanx> uses the Amazon web services
1215  to generate a &lt;reference> element for a given ASIN (ISBN).
1216</t>
1217<figure>
1218<preamble>For instance:</preamble>
1219<artwork type="example">
1220&lt;?xml version="1.0" encoding="utf-8"?>
1221&lt;references>
1222 &lt;reference target="urn:isbn:0134516591">
1223   &lt;front>
1224     &lt;title>Simple Book, The: An Introduction to Internet Management,
1225               Revised Second Edition&lt;/title>
1226     &lt;author surname="Rose"
1227                fullname="Marshall T. Rose" initials="M. T. ">
1228       &lt;organization/>
1229     &lt;/author>
1230     &lt;author surname="Marshall"
1231                fullname="Rose T. Marshall" initials="R. T.">
1232       &lt;organization/>
1233     &lt;/author>
1234     &lt;date year="1996" month="March"/>
1235   &lt;/front>
1236   &lt;seriesInfo name="Prentice Hall" value=""/>
1237 &lt;/reference>
1238&lt;/references>
1239</artwork></figure>
1240<t>
1241  Note that the resulting XML usually requires checking, in this case Amazon's
1242  database is playing tricks with Marshall's name...
1243</t>
1244</section>
1245
1246<section title="Down-converting to RFC2629bis DTD" anchor="clean-for-dtd">
1247<t>
1248  <spanx style="verb">clean-for-DTD.xslt</spanx> can be used to down-convert
1249  some extensions to a format that is supported by the base xml2rfc
1250  distribution.  Note that these extensions are experimental (feedback
1251  appreciated).
1252</t>
1253<t>
1254  The following mappings are done:
1255  <list style="symbols">
1256    <t>
1257      &lt;iref> elements inside &lt;artwork> elements are moved in front
1258      of the enclosing &lt;figure> element.
1259    </t>
1260    <t>
1261      &lt;xref> elements inside &lt;artwork> are expanded just like in
1262      regular text (that is, the markup is stripped, but the element
1263      is replaced by the applicable replacement text).
1264    </t>
1265    <t>
1266      &lt;x:<x:ref>anchor-alias</x:ref>> elements get stripped.
1267    </t>
1268    <t>
1269      &lt;x:<x:ref>bcp14</x:ref>> elements get stripped.
1270    </t>
1271    <t>
1272      &lt;x:<x:ref>bb</x:ref>>, &lt;x:<x:ref>bc</x:ref>> and &lt;x:<x:ref>bt</x:ref>> elements get stripped.
1273    </t>
1274    <t>
1275      &lt;x:<x:ref>blockquote</x:ref>> elements get converted to
1276      indented text (through a &lt;list> element).
1277    </t>
1278    <t>
1279      &lt;x:<x:ref>dfn</x:ref>> elements get stripped.
1280    </t>
1281    <t>
1282      &lt;x:<x:ref>h</x:ref>> elements get stripped.
1283    </t>
1284    <t>
1285      &lt;x:<x:ref>link</x:ref>> elements get stripped.
1286    </t>
1287    <t>
1288      &lt;x:<x:ref>note</x:ref>> elements get converted to
1289      indented text (through a &lt;list> element).
1290    </t>
1291    <t>
1292      &lt;x:<x:ref>q</x:ref>> elements get stripped, with apostrophes
1293      added around the text.
1294    </t>
1295    <t>
1296      &lt;x:<x:ref>ref</x:ref>> elements get replaced by &lt;xref>
1297      elements, targetting either the anchor or another anchor with
1298      matching &lt;x:<x:ref>anchor-alias</x:ref>> child element.
1299    </t>
1300  </list>
1301</t>
1302</section>
1303
1304<section title="Extracting artwork" anchor="extract-artwork">
1305<t>
1306  With <spanx style="verb">extract-artwork.xslt</spanx>, artwork elements
1307  named through the "name" attribute can be extracted. This can be used
1308  to automatically check their syntax (for instance, when ABNFs appear
1309  within a figure element).
1310</t>
1311<figure><preamble>For instance:</preamble>
1312<artwork type="example">saxon rfc3986.xml extract-artwork.xslt name=uri.abnf
1313</artwork>
1314</figure>
1315<t>
1316  In addition, artwork of a specific type can be extracted, such as with:
1317</t>
1318<figure>
1319<artwork type="example">saxon rfc3986.xml extract-artwork.xslt type=abnf
1320</artwork>
1321</figure>
1322</section>
1323
1324<section title="GRRDL" anchor="grddl">
1325<t>
1326  <spanx style="verb">rfc2629grddl.xslt</spanx> extracts RDF
1327  information. This is experimental work-in-progress. See
1328  <eref target="http://www.w3.org/TR/grddl/"/> for more information.
1329</t>
1330</section>
1331</section>
1332
1333 
1334
1335</middle>
1336
1337<back>
1338<references title="Informative References">
1339
1340<reference anchor='RFC2026'>
1341  <front>
1342    <title abbrev='Internet Standards Process'>The Internet Standards Process -- Revision 3</title>
1343    <author initials='S.' surname='Bradner' fullname='Scott O. Bradner'>
1344      <organization>Harvard University</organization>
1345      <address>
1346        <email>sob@harvard.edu</email>
1347      </address>
1348    </author>
1349    <date year='1996' month='October' />
1350  </front>
1351  <seriesInfo name='BCP' value='9' />
1352  <seriesInfo name='RFC' value='2026' />
1353</reference>
1354
1355<reference anchor="RFC2119">
1356  <front>
1357    <title abbrev="RFC Key Words">Key words for use in RFCs to Indicate Requirement Levels</title>
1358    <author initials="S." surname="Bradner" fullname="Scott Bradner">
1359      <organization>Harvard University</organization>
1360      <address>
1361        <email>sob@harvard.edu</email>
1362      </address>
1363    </author>
1364    <date month="March" year="1997"/>
1365  </front>
1366  <seriesInfo name="BCP" value="14"/>
1367  <seriesInfo name="RFC" value="2119"/>
1368</reference>
1369
1370<reference anchor="RFC2616">
1371  <front>
1372  <title abbrev="HTTP/1.1">Hypertext Transfer Protocol -- HTTP/1.1</title>
1373  <author initials="R.T." surname="Fielding" fullname="Roy T. Fielding">
1374  <organization>University of California, Irvine, Information and Computer Science</organization>
1375  <address>
1376  <postal>
1377  <street/>
1378  <city>Irvine</city>
1379  <region>CA</region>
1380  <code>92697-3425</code>
1381  <country>US</country></postal>
1382  <phone>+1 949 824 1715</phone>
1383  <email>fielding@ics.uci.edu</email></address></author>
1384  <author initials="J." surname="Gettys" fullname="James Gettys">
1385  <organization>World Wide Web Consortium, MIT Laboratory for Computer Science</organization>
1386  <address>
1387  <postal>
1388  <street>545 Technology Square</street>
1389  <city>Cambridge</city>
1390  <region>MA</region>
1391  <code>02139</code>
1392  <country>US</country></postal>
1393  <phone/>
1394  <facsimile>+1 617 258 8682</facsimile>
1395  <email>jg@w3.org</email></address></author>
1396  <author initials="J.C." surname="Mogul" fullname="Jeffrey C. Mogul">
1397  <organization>Compaq Computer Corporation, Western Research Laboratory</organization>
1398  <address>
1399  <postal>
1400  <street>250 University Avenue</street>
1401  <city>Palo Alto</city>
1402  <region>CA</region>
1403  <code>94301</code>
1404  <country>US</country></postal>
1405  <phone/>
1406  <email>mogul@wrl.dec.com</email></address></author>
1407  <author initials="H.F." surname="Nielsen" fullname="Henrik Frystyk Nielsen">
1408  <organization>World Wide Web Consortium, MIT Laboratory for Computer Science</organization>
1409  <address>
1410  <postal>
1411  <street>545 Technology Square</street>
1412  <city>Cambridge</city>
1413  <region>MA</region>
1414  <code>02139</code>
1415  <country>US</country></postal>
1416  <phone/>
1417  <facsimile>+1 617 258 8682</facsimile>
1418  <email>frystyk@w3.org</email></address></author>
1419  <author initials="L." surname="Masinter" fullname="Larry Masinter">
1420  <organization>Xerox Corporation</organization>
1421  <address>
1422  <postal>
1423  <street>3333 Coyote Hill Road</street>
1424  <city>Palo Alto</city>
1425  <region>CA</region>
1426  <code>94034</code>
1427  <country>US</country></postal>
1428  <phone/>
1429  <email>masinter@parc.xerox.com</email></address></author>
1430  <author initials="P.J." surname="Leach" fullname="Paul J. Leach">
1431  <organization>Microsoft Corporation</organization>
1432  <address>
1433  <postal>
1434  <street>1 Microsoft Way</street>
1435  <city>Redmond</city>
1436  <region>WA</region>
1437  <code>98052</code>
1438  <country>US</country></postal>
1439  <phone/>
1440  <email>paulle@microsoft.com</email></address></author>
1441  <author initials="T." surname="Berners-Lee" fullname="Tim Berners-Lee">
1442  <organization>World Wide Web Consortium, MIT Laboratory for Computer Science</organization>
1443  <address>
1444  <postal>
1445  <street>545 Technology Square</street>
1446  <city>Cambridge</city>
1447  <region>MA</region>
1448  <code>02139</code>
1449  <country>US</country></postal>
1450  <phone>+1 617 258 8682</phone>
1451  <facsimile/>
1452  <email>timbl@w3.org</email></address></author>
1453  <date month="June" year="1999"/>
1454  </front>
1455  <seriesInfo name="RFC" value="2616"/>
1456</reference>
1457
1458<reference anchor='RFC2629'>
1459  <front>
1460    <title>Writing I-Ds and RFCs using XML</title>
1461    <author initials='M.T.' surname='Rose' fullname='Marshall T. Rose'>
1462      <organization>Invisible Worlds, Inc.</organization>
1463      <address>
1464        <postal>
1465          <street>660 York Street</street>
1466          <city>San Francisco</city>
1467          <region>CA</region>
1468          <code>94110</code>
1469          <country>US</country>
1470        </postal>
1471        <phone>+1 415 695 3975</phone>
1472        <email>mrose@not.invisible.net</email>
1473        <uri>http://invisible.net/</uri>
1474      </address>
1475    </author>
1476    <date month='June' year='1999' />
1477  </front>
1478  <seriesInfo name='RFC' value='2629' />
1479</reference>
1480
1481<reference anchor='RFC2648'>
1482  <front>
1483    <title>A URN Namespace for IETF Documents</title>
1484    <author initials='R.' surname='Moats' fullname='Ryan Moats'>
1485      <organization>AT&amp;T</organization>
1486      <address>
1487      <postal>
1488        <street>15621 Drexel Circle</street>
1489        <city>Omaha</city>
1490        <region>NE</region>
1491        <code>68135-2358</code>
1492        <country>US</country>
1493      </postal>
1494      <email>jayhawk@att.com</email></address>
1495    </author>
1496    <date month='August' year='1999' />
1497  </front>
1498  <seriesInfo name='RFC' value='2648' />
1499</reference>
1500
1501<reference anchor='RFC2731'>
1502  <front>
1503    <title>Encoding Dublin Core Metadata in HTML</title>
1504    <author initials='J.A.' surname='Kunze' fullname='John A. Kunze'>
1505      <organization>University of California, San Francisco,  Center for Knowledge Management</organization>
1506      <address>
1507        <postal>
1508          <street>530 Parnassus Ave</street>
1509          <street>Box 0840</street>
1510          <city>San Francisco</city>
1511          <region>CA</region>
1512          <code>94143-0840</code>
1513          <country>US</country>
1514        </postal>
1515        <facsimile>+1 415 476 4653</facsimile>
1516        <email>jak@ckm.ucsf.edu</email>
1517      </address>
1518    </author>
1519    <date month='December' year='1999' />
1520  </front>
1521  <seriesInfo name='RFC' value='2731' />
1522</reference>
1523
1524<reference anchor="RFC5234">
1525  <front>
1526    <title abbrev="ABNF for Syntax Specifications">Augmented BNF for Syntax Specifications: ABNF</title>
1527    <author initials="D." surname="Crocker" fullname="Dave Crocker" role="editor">
1528      <organization>Brandenburg InternetWorking</organization>
1529      <address>
1530      <postal>
1531      <street>675 Spruce Dr.</street>
1532      <city>Sunnyvale</city>
1533      <region>CA</region>
1534      <code>94086</code>
1535      <country>US</country></postal>
1536      <phone>+1.408.246.8253</phone>
1537      <email>dcrocker@bbiw.net</email></address> 
1538    </author>
1539    <author initials="P." surname="Overell" fullname="Paul Overell">
1540      <organization>THUS plc.</organization>
1541      <address>
1542      <postal>
1543      <street>1/2 Berkeley Square</street>
1544      <street>99 Berkely Street</street>
1545      <city>Glasgow</city>
1546      <code>G3 7HR</code>
1547      <country>UK</country></postal>
1548      <email>paul.overell@thus.net</email></address>
1549    </author>
1550    <date month="January" year="2008"/>
1551  </front>
1552  <seriesInfo name="STD" value="68"/>
1553  <seriesInfo name="RFC" value="5234"/>
1554</reference>
1555
1556<reference anchor="HTML" target="http://www.w3.org/TR/html401/">
1557  <front>
1558    <title>HTML 4.01 Specification</title>
1559    <author initials="D." surname="Raggett" fullname="David Raggett">
1560      <organization>W3C</organization>
1561      <address>
1562        <email>dsr@w3.org</email>
1563      </address>
1564    </author>
1565    <author initials="A." surname="Hors" fullname="Arnaud Le Hors">
1566      <organization>W3C</organization>
1567    </author>
1568    <author initials="I." surname="Jacobs" fullname="Ian Jacobs">
1569      <organization>W3C</organization>
1570    </author>
1571    <date month="December" day="24" year="1999" />
1572  </front>
1573  <seriesInfo name="W3C" value="REC-html401-19991224" />
1574</reference>
1575
1576<reference anchor="XHTML2" target="http://www.w3.org/TR/xhtml2">
1577  <front>
1578    <title>XHTML&#8482; 2.0</title>
1579    <author initials="J." surname="Axelsson" fullname="Jonny Axelsson">
1580      <organization>Opera Software</organization>
1581    </author>
1582    <author initials="M." surname="Birbeck" fullname="Mark Birbeck">
1583      <organization>x-port.net</organization>
1584    </author>
1585    <author initials="M." surname="Dubinko" fullname="Micah Dubinko">
1586      <organization></organization>
1587    </author>
1588    <author initials="B." surname="Epperson" fullname="Beth Epperson">
1589      <organization>Websense</organization>
1590    </author>
1591    <author initials="M." surname="Ishikawa" fullname="Masayasu Ishikawa">
1592      <organization>W3C</organization>
1593    </author>
1594    <author initials="S." surname="McCarron" fullname="Shane McCarron">
1595      <organization>Applied Testing and Technology</organization>
1596    </author>
1597    <author initials="A." surname="Navarro" fullname="Ann Navarro">
1598      <organization>WebGeek, Inc.</organization>
1599    </author>
1600    <author initials="S." surname="Pemberton" fullname="Steven Pemberton">
1601      <organization>CWI</organization>
1602    </author>
1603    <date month="July" day="26" year="2006" />
1604  </front>
1605  <seriesInfo name="W3C" value="WD-xhtml2-20060726" />
1606</reference>
1607
1608<reference anchor="XSL-FO" target="http://www.w3.org/TR/2006/REC-xsl11-20061205/">
1609  <front>
1610    <title>Extensible Stylesheet Language (XSL) Version 1.1</title>
1611    <author initials="A." surname="Berglund" fullname="Anders Berglund">
1612      <organization>IBM</organization>
1613      <address>
1614        <email>alrb@us.ibm.com</email>
1615      </address>
1616    </author>
1617    <date month="Dec" day="5" year="2006" />
1618  </front>
1619  <seriesInfo name="W3C" value="REC-xsl11-20061205" />
1620</reference>
1621
1622<reference anchor="RNC" target="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">
1623  <front>
1624    <title>RELAX NG Compact Syntax</title>
1625    <author initials="J." surname="Clark" fullname="James Clark">
1626      <organization/>
1627      <address>
1628        <email>jjc@jclark.com</email>
1629      </address>
1630    </author>
1631    <date month="Nov" day="21" year="2002" />
1632  </front>
1633  <seriesInfo name="OASIS" value=""/>
1634</reference>
1635
1636<reference anchor='BCP97'>
1637  <front>
1638    <title>Handling Normative References to Standards-Track Documents</title>
1639    <author initials='J.' surname='Klensin' fullname='J. Klensin'>
1640      <organization />
1641      <address>
1642        <email>klensin+ietf@jck.com</email>
1643      </address>
1644    </author>
1645    <author initials='S.' surname='Hartman' fullname='S. Hartman'>
1646      <organization>MIT</organization>
1647      <address>
1648        <email>hartmans-ietf@mit.edu</email>
1649      </address>
1650    </author>
1651    <date year='2007' month='June' />
1652  </front>
1653  <seriesInfo name='BCP' value='97' />
1654  <seriesInfo name='RFC' value='4897' />
1655</reference>
1656</references>
1657
1658  <section title="RELAX NG Compact Schema" anchor="grammar">
1659  <iref item="Grammar" primary="true"/>
1660  <iref item="Schema" primary="true"/>
1661  <iref item="RELAX NG Compact Schema" primary="true"/>
1662  <t>
1663    The RelaxNG schema (<xref target="RNC"/>) below can be used to validate
1664    input documents (for instance, with <eref target="http://www.thaiopensource.com/relaxng/jing.html">Jing</eref>).
1665  </t>
1666  <t>
1667    <spanx>Note that this is work in progress, and doesn't yet cover all
1668    extensions completely.</spanx>
1669  </t>
1670  <figure>
1671    <artwork type="application/relax-ng-compact-syntax" name="rfc2629-ext.rnc" x:extraction-note="# Automatically extracted from rfc2629xslt.xml. DO NOT EDIT!&#10;">
1672<spanx># WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.</spanx>
1673
1674<spanx># Define our extension namespace</spanx>
1675namespace x = "http://purl.org/net/xml2rfc/ext"
1676
1677<spanx># Define GRDDL namespace</spanx>
1678namespace grddl = "http://www.w3.org/2003/g/data-view#"
1679
1680<spanx># Define RDF namespace</spanx>
1681namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1682
1683<spanx># Include rfc2629bis RNC grammar</spanx>
1684include "rfc2629.rnc" {
1685 
1686  <spanx># Redefine &lt;artwork> to allow markup</spanx>
1687  artwork =
1688    element artwork {
1689      attlist.artwork,
1690      (TEXT
1691        <spanx style="strong">| eref</spanx> 
1692        <spanx style="strong">| iref</spanx> 
1693        <spanx style="strong">| spanx</spanx> 
1694        <spanx style="strong">| xref</spanx>
1695        <spanx style="strong">| <x:ref>x_abnf-char-sequence</x:ref></spanx>
1696        <spanx style="strong">| <x:ref>x_bb</x:ref></spanx>
1697        <spanx style="strong">| <x:ref>x_bc</x:ref></spanx>
1698        <spanx style="strong">| <x:ref>x_bt</x:ref></spanx>
1699        <spanx style="strong">| <x:ref>x_highlight</x:ref></spanx>
1700        <spanx style="strong">| <x:ref>x_length-of</x:ref></spanx>
1701        <spanx style="strong">| <x:ref>x_parse-xml</x:ref></spanx>
1702        <spanx style="strong">| <x:ref>x_ref</x:ref></spanx>
1703        <spanx style="strong">| <x:ref>x_span</x:ref></spanx>
1704        <spanx style="strong">| <x:ref>x_x</x:ref></spanx>)*
1705    }
1706
1707  <spanx># Redefine &lt;back> to allow boilerplate</spanx>
1708  back =
1709    element back {
1710      attlist.back,
1711      references*,
1712      section*,
1713      <spanx style="strong"><x:ref>x_boilerplate</x:ref>?</spanx>
1714    }
1715
1716  <spanx># Redefine &lt;c> to allow our extension elements</spanx>
1717  c =
1718    element c {
1719      attlist.c,
1720      (TEXT
1721        | xref
1722        | eref
1723        | iref
1724        | cref
1725        | spanx
1726        <spanx style="strong">| <x:ref>x_ref</x:ref></spanx>)*
1727    }
1728
1729  <spanx># Redefine &lt;cref> to allow more child elements</spanx>
1730  cref =
1731    element cref {
1732      attlist.cref,
1733      (TEXT
1734        | eref)*
1735    }
1736
1737  <spanx># Redefine &lt;front> to allow boilerplate</spanx>
1738  front =
1739    element front {
1740      attlist.front,
1741      title,
1742      author+,
1743      date,
1744      area*,
1745      workgroup*,
1746      keyword*,
1747      <spanx style="strong"><x:ref>x_boilerplate</x:ref>?,</spanx>
1748      abstract?,
1749      note*
1750    }
1751 
1752  <spanx># Redefine &lt;list> element to allow &lt;x:<x:ref>lt</x:ref>> child elements</spanx>
1753  \list =
1754    element list {
1755      attlist.list,
1756      (t+ <spanx style="strong">| <x:ref>x_lt</x:ref>+</spanx>)
1757    }   
1758   
1759  <spanx># Redefine &lt;preamble> to allow our extension elements</spanx>
1760  preamble =
1761    element preamble {
1762      attlist.preamble,
1763      (TEXT
1764        | xref
1765        | eref
1766        | iref
1767        | cref
1768        | spanx
1769        <spanx style="strong">| <x:ref>x_anchor-alias</x:ref></spanx>)*
1770    }
1771
1772  <spanx># Redefine &lt;postamble> to allow our extension elements</spanx>
1773  postamble =
1774    element postamble {
1775      attlist.postamble,
1776      (TEXT
1777        | xref
1778        | eref
1779        | iref
1780        | cref
1781        | spanx
1782        <spanx style="strong">| <x:ref>x_bcp14</x:ref></spanx>)*
1783    }
1784
1785  <spanx># Redefine &lt;reference> to allow our extension elements</spanx>
1786  reference =
1787    element reference {
1788      attlist.reference,
1789      front,
1790      seriesInfo*,
1791      format*,
1792      annotation*,
1793      <spanx style="strong"><x:ref>x_source</x:ref>?</spanx>
1794    }
1795
1796  <spanx># Redefine &lt;rfc> to allow our extension elements</spanx>
1797  rfc =
1798    element rfc {
1799      attlist.rfc,
1800      <spanx style="strong"><x:ref>x_link</x:ref>*,</spanx>
1801      <spanx style="strong"><x:ref>x_assign-section-number</x:ref>*,</spanx>
1802      front,
1803      middle,
1804      back?
1805    }
1806
1807  <spanx># Redefine &lt;section> to allow our extension elements</spanx>
1808  section =
1809    element section {
1810      attlist.section,
1811      (t
1812       | figure
1813       | texttable
1814       | iref
1815       | section
1816       <spanx style="strong">| <x:ref>x_anchor-alias</x:ref></spanx>
1817       <spanx style="strong">| <x:ref>x_blockquote</x:ref></spanx>
1818       <spanx style="strong">| <x:ref>x_include-author</x:ref></spanx>
1819       <spanx style="strong">| <x:ref>x_note</x:ref></spanx>
1820       <spanx style="strong">| <x:ref>rdf_Description</x:ref></spanx>)*
1821    }
1822
1823  <spanx># Redefine &lt;spanx> to allow some markup</spanx>
1824  spanx =
1825    element spanx {
1826      attlist.spanx,
1827      (TEXT
1828        <spanx style="strong">| iref</spanx>
1829        <spanx style="strong">| xref</spanx>
1830        <spanx style="strong">| <x:ref>x_ref</x:ref></spanx>)*
1831    }
1832
1833  <spanx># Redefine &lt;t> to allow our extension elements</spanx>
1834  t =
1835    element t {
1836      attlist.t,
1837      (TEXT
1838       | \list
1839       | figure
1840       | xref
1841       | eref
1842       | iref
1843       | cref
1844       | spanx
1845       | vspace
1846       <spanx style="strong">| <x:ref>x_abnf-char-sequence</x:ref></spanx>
1847       <spanx style="strong">| <x:ref>x_anchor-alias</x:ref></spanx>
1848       <spanx style="strong">| <x:ref>x_bcp14</x:ref></spanx>
1849       <spanx style="strong">| <x:ref>x_dfn</x:ref></spanx>
1850       <spanx style="strong">| <x:ref>x_h</x:ref></spanx>
1851       <spanx style="strong">| <x:ref>x_q</x:ref></spanx>
1852       <spanx style="strong">| <x:ref>x_ref</x:ref></spanx>
1853       <spanx style="strong">| <x:ref>x_sup</x:ref></spanx>)*
1854    }
1855}
1856
1857<spanx># Allow x:indent-with attribute on &lt;artwork></spanx>
1858attlist.artwork &amp;=
1859  attribute x:indent-with { ATEXT }?
1860
1861<spanx># Allow anchor attribute on &lt;author></spanx>
1862attlist.author &amp;=
1863  attribute anchor { xsd:ID }?
1864 
1865  <spanx># Extend attribute set for &lt;iref> (see <xref target="ext-rfc2629.iref"/>)</spanx>
1866attlist.iref &amp;=
1867  attribute x:for-anchor { ATEXT }?
1868
1869<spanx># Extend attribute set for &lt;list> (see <xref target="ext-rfc2629.list"/>)</spanx>
1870attlist.list &amp;=
1871  attribute x:indent { ATEXT }?
1872
1873<spanx># Extend attribute set for &lt;preamble></spanx>
1874attlist.preamble &amp;=
1875  attribute anchor { xsd:ID }?
1876
1877<spanx># Extend attribute set for &lt;rfc></spanx>
1878attlist.rfc &amp;=
1879  attribute grddl:transformation { ATEXT }?,
1880  attribute x:maturity-level { "proposed" | "draft" | "internet" }?
1881
1882<spanx># Extend attribute set for &lt;section> (see <xref target="ext-rfc2629.section"/>)</spanx>
1883attlist.section &amp;=
1884  attribute x:fixed-section-number { ATEXT }?
1885
1886<spanx># Allow anchor attribute on &lt;spanx></spanx>
1887attlist.spanx &amp;=
1888  attribute anchor { xsd:ID }?
1889
1890<spanx># Extend attribute set for &lt;xref> (see <xref target="ext-rfc2629.xref"/>)</spanx>
1891attlist.xref &amp;=
1892  attribute x:fmt  { "()" | "," | "anchor" | "of" | "number" | "sec" |
1893                     "none" }?,
1894  attribute x:rel  { ATEXT }?,
1895  attribute x:sec  { ATEXT }?
1896
1897<spanx anchor="x_abnf-char-sequence"><iref item="abnf-char-sequence Extension Element"/><iref item="Extension Elements" subitem="abnf-char-sequence"
1898/># Conversion to ABNF char sequence (see <xref target="ext.element.abnf-char-sequence"/>)</spanx>
1899<x:ref>x_abnf-char-sequence</x:ref> =
1900  element x:abnf-char-sequence {
1901    TEXT
1902  }
1903
1904<spanx anchor="x_anchor-alias"><iref item="anchor-alias Extension Element"/><iref item="Extension Elements" subitem="anchor-alias"
1905/># Aliasing of anchors (see <xref target="ext.element.anchor-alias"/>)</spanx>
1906<x:ref>x_anchor-alias</x:ref> =
1907  element x:anchor-alias {
1908    attribute value { TEXT },
1909    empty
1910  }
1911
1912<spanx anchor="x_include-author"><iref item="include-author Extension Element"/><iref item="Extension Elements" subitem="include-author"
1913/># Including Author information
1914# (experimental)</spanx>
1915<x:ref>x_include-author</x:ref> =
1916  element x:include-author {
1917    attribute target { xsd:IDREF }
1918  }
1919
1920<spanx anchor="x_assign-section-number"><iref item="assign-section-number Extension Element"/><iref item="Extension Elements" subitem="assign-section-number"
1921/># Setting section numbers for internally generated sections
1922# (experimental)</spanx>
1923<x:ref>x_assign-section-number</x:ref> =
1924  element x:assign-section-number {
1925    attribute builtin-target { "authors" },
1926    attribute number { TEXT },
1927    empty
1928  }
1929
1930<spanx anchor="x_bb"><iref item="bb Extension Element"/><iref item="Extension Elements" subitem="bb"
1931/># Bottom line of box drawing (see <xref target="ext.element.bb"/>)</spanx>
1932<x:ref>x_bb</x:ref> =
1933  element x:bb {
1934    (TEXT
1935      | iref
1936      | xref
1937      | <x:ref>x_bb</x:ref>
1938      | <x:ref>x_bc</x:ref>
1939      | <x:ref>x_bt</x:ref>
1940      | <x:ref>x_ref</x:ref>)*
1941  }
1942
1943<spanx anchor="x_bc"><iref item="bc Extension Element"/><iref item="Extension Elements" subitem="bc"
1944/># Center line of box drawing (see <xref target="ext.element.bc"/>)</spanx>
1945<x:ref>x_bc</x:ref> =
1946  element x:bc {
1947    (TEXT
1948      | iref
1949      | xref
1950      | <x:ref>x_bb</x:ref>
1951      | <x:ref>x_bc</x:ref>
1952      | <x:ref>x_bt</x:ref>
1953      | <x:ref>x_ref</x:ref>)*
1954  }
1955
1956<spanx anchor="x_bcp14"><iref item="bcp14 Extension Element"/><iref item="Extension Elements" subitem="bcp14"
1957/># BCP14/RFC2119 keywords (see <xref target="ext.element.bcp14"/>)</spanx>
1958<x:ref>x_bcp14</x:ref> =
1959  element x:bcp14 {
1960    "MAY"
1961    | "MUST"
1962    | "MUST NOT"
1963    | "NOT RECOMMENDED"
1964    | "OPTIONAL"
1965    | "RECOMMENDED"
1966    | "REQUIRED"
1967    | "SHALL"
1968    | "SHALL NOT"
1969    | "SHOULD"
1970    | "SHOULD NOT"
1971  }
1972 
1973<spanx anchor="x_blockquote"><iref item="blockquote Extension Element"/><iref item="Extension Elements" subitem="blockquote"
1974/># Blockquote (see <xref target="ext.element.blockquote"/>)</spanx>
1975<x:ref>x_blockquote</x:ref> =
1976  element x:blockquote {
1977    attribute cite { URI }?,
1978    t+
1979  }
1980
1981<spanx anchor="x_boilerplate"><iref item="boilerplate Extension Element"/><iref item="Extension Elements" subitem="boilerplate"
1982/># Boilerplate (see <xref target="ext.element.blockquote"/>) </spanx>
1983<x:ref>x_boilerplate</x:ref> =
1984  element x:boilerplate {
1985    section+
1986  }
1987
1988<spanx anchor="x_bt"><iref item="bt Extension Element"/><iref item="Extension Elements" subitem="bt"
1989/># Top line of box drawing (see <xref target="ext.element.bt"/>)</spanx>
1990<x:ref>x_bt</x:ref> =
1991  element x:bt {
1992    (TEXT
1993      | iref
1994      | xref
1995      | <x:ref>x_bb</x:ref>
1996      | <x:ref>x_bc</x:ref>
1997      | <x:ref>x_bt</x:ref>
1998      | <x:ref>x_ref</x:ref>)*
1999  }
2000
2001<spanx anchor="x_dfn"><iref item="dfn Extension Element"/><iref item="Extension Elements" subitem="dfn"
2002/># Definition (see <xref target="ext.element.dfn"/>)</spanx>
2003<x:ref>x_dfn</x:ref> =
2004  element x:dfn {
2005    attribute anchor { xsd:ID }?,
2006    (TEXT
2007      | iref)*
2008  }
2009 
2010<spanx anchor="x_h"><iref item="h Extension Element"/><iref item="Extension Elements" subitem="h"
2011/># Heading (see <xref target="ext.element.h"/>)</spanx>
2012<x:ref>x_h</x:ref> =
2013  element x:h {
2014    TEXT
2015  }
2016
2017<spanx anchor="x_highlight"><iref item="highlight Extension Element"/><iref item="Extension Elements" subitem="highlight"
2018/># Heading (see <xref target="ext.element.highlight"/>)</spanx>
2019<x:ref>x_highlight</x:ref> =
2020  element x:highlight {
2021    TEXT
2022  }
2023
2024<spanx anchor="x_length-of"><iref item="length-of Extension Element"/><iref item="Extension Elements" subitem="length-of"
2025/># Length Measurement (see <xref target="ext.element.length-of"/>)</spanx>
2026<x:ref>x_length-of</x:ref> =
2027  element x:length-of {
2028    attribute indented { NUMBER }?,
2029    attribute target { xsd:IDREF },
2030    empty
2031  }
2032
2033<spanx anchor="x_link"><iref item="link Extension Element"/><iref item="Extension Elements" subitem="link"
2034/># Link (see <xref target="ext.element.link"/>)</spanx>
2035<x:ref>x_link</x:ref> =
2036  element x:link {
2037    attribute href { URI },
2038    attribute title { TEXT }?,
2039    attribute rel { TEXT },
2040    empty
2041  }
2042 
2043<spanx anchor="x_lt"><iref item="lt Extension Element"/><iref item="Extension Elements" subitem="lt"
2044/># Extended list item (see <xref target="ext.element.lt"/>)</spanx>
2045<x:ref>x_lt</x:ref> =
2046  element x:lt {
2047    attribute anchor { xsd:ID }?,
2048    attribute hangText { TEXT }?,
2049    t+
2050  }
2051
2052<spanx anchor="x_note"><iref item="note Extension Element"/><iref item="Extension Elements" subitem="note"
2053/># Note (see <xref target="ext.element.note"/>)</spanx>
2054<x:ref>x_note</x:ref> =
2055  element x:note {
2056    t+
2057  }
2058
2059<spanx anchor="x_parse-xml"><iref item="parse-xml Extension Element"/><iref item="Extension Elements" subitem="parse-xml"
2060/># Signal XML content (see <xref target="ext.element.parse-xml"/>)</spanx>
2061<x:ref>x_parse-xml</x:ref> =
2062  element x:parse-xml {
2063    TEXT
2064  }
2065
2066<spanx anchor="x_q"><iref item="q Extension Element"/><iref item="Extension Elements" subitem="q"
2067/># Inline quote (see <xref target="ext.element.q"/>)</spanx>
2068<x:ref>x_q</x:ref> =
2069  element x:q {
2070    TEXT
2071  }
2072
2073<spanx anchor="x_ref"><iref item="ref Extension Element"/><iref item="Extension Elements" subitem="ref"
2074/># Anchor reference (see <xref target="ext.element.ref"/>)</spanx> 
2075<x:ref>x_ref</x:ref> =
2076  element x:ref {
2077    TEXT
2078  }
2079
2080<spanx anchor="x_source"><iref item="source Extension Element"/><iref item="Extension Elements" subitem="source"
2081/># source information (see <xref target="ext.element.source"/>)</spanx> 
2082<x:ref>x_source</x:ref> =
2083  element x:source {
2084    attribute basename { ATEXT }?,
2085    attribute href { URI },
2086    empty
2087  }
2088
2089<spanx anchor="x_sup"><iref item="sup Extension Element"/><iref item="Extension Elements" subitem="sup"
2090/># superscript (see <xref target="ext.element.sup"/>)</spanx>
2091<x:ref>x_sup</x:ref> =
2092  element x:sup {
2093    TEXT
2094  }
2095
2096<spanx anchor="x_span"><iref item="span Extension Element"/><iref item="Extension Elements" subitem="span"
2097/># Inline Span <!--(see <xref target="ext.element.span"/>)--></spanx>
2098<x:ref>x_span</x:ref> =
2099  element x:span {
2100    attribute anchor { xsd:ID }?,
2101    (TEXT
2102      | <x:ref>x_parse-xml</x:ref>)*
2103  }
2104
2105<spanx anchor="x_x"><iref item="x Extension Element"/><iref item="Extension Elements" subitem="x"
2106/># Nop (for alignment in source)</spanx>
2107<x:ref>x_x</x:ref> =
2108  element x:x {
2109    empty
2110  }
2111
2112<spanx anchor="rdf_Description"><iref item="rdf:Description Extension Element"/><iref item="Extension Elements" subitem="rdf:Description"
2113/># Embed RDF statements </spanx>
2114<x:ref>rdf_Description</x:ref> =
2115  element rdf:Description {
2116    rdf_content
2117  }
2118 
2119rdf_content =
2120  ( TEXT | element * { rdf_content })*
2121</artwork></figure>
2122  </section>
2123 
2124  <section title="Implementation Notes">
2125 
2126  <section title="Recognized type attributes for &lt;artwork> element">
2127  <t>
2128    Specific values in the &lt;artwork> element's "type" attribute are
2129    recognized and cause a different visual style to be used:
2130  </t>
2131  <texttable>
2132    <ttcol>Media Type</ttcol>
2133    <ttcol>Comment</ttcol>
2134   
2135    <c>abnf</c><c>ABNF as per <xref target="RFC5234"/></c>
2136    <c>abnf2616</c><c>ABNF as per <xref target="RFC2616" x:fmt="," x:sec="2.1" /></c>
2137    <c>application/relax-ng-compact-syntax</c><c>Relax NG Compact Syntax as per <xref target="RNC"/></c>
2138    <c>application/xml-dtd</c><c>XML DTD</c>
2139    <c>message/http; msgtype="request"</c><c>HTTP message, as per <xref target="RFC2616" x:fmt="," x:sec="19.1" /></c>
2140    <c>message/http; msgtype="response"</c><c>HTTP message, as per <xref target="RFC2616" x:fmt="," x:sec="19.1" /></c>
2141  </texttable>
2142  </section>
2143 
2144  </section>
2145 
2146  <section title="License" anchor="license">
2147  <t>
2148Copyright (c) 2006-2009, Julian Reschke (julian.reschke@greenbytes.de)
2149  </t>
2150  <t>
2151All rights reserved.
2152  </t>
2153  <t>
2154Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
2155  <list style="symbols">
2156    <t>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</t>
2157    <t>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</t>
2158    <t>Neither the name of Julian Reschke nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</t>
2159  </list>
2160  </t>
2161  <t>
2162THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2163  </t>
2164  </section>
2165
2166  <section title="Change Logs">
2167   
2168 
2169    <section title="Package">
2170      <t><list style="hanging">
2171<t hangText="2006-01-01">
2172    Switch to BSD License.
2173</t>
2174<t hangText="2007-01-12">
2175    Update to xml2rfc v1.33pre2.
2176</t>
2177<t hangText="2007-03-31">
2178    Update to xml2rfc v1.33pre3.
2179</t>
2180<t hangText="2007-05-01">
2181    Add XSLT test cases.
2182</t>
2183<t hangText="2008-07-18">
2184    Experimental support for inlined rdf:Description elements (ignored
2185    by the formatter, extracted by rfc2629grddl).
2186</t>
2187<t hangText="2008-12-04">
2188    Update to xml2rfc v1.34pre2.
2189</t>
2190<t hangText="2009-02-24">
2191    Experimental support for February 2009 boilerplate changes, and for
2192    the x:boilerplate element.
2193</t>
2194      </list></t>
2195    </section>
2196   
2197    <section title="amazon-asin.xslt">
2198    <t><list style="hanging">
2199<t hangText="2003-11-16">
2200     Initial release.
2201</t>
2202<t hangText="2005-04-02">
2203     Fix two DTD issues.
2204</t>
2205    </list></t>
2206    </section>
2207
2208    <section title="check-references.xslt">
2209    <t><list style="hanging">
2210<t hangText="2003-11-16">
2211     Initial release.
2212</t>
2213<t hangText="2004-05-11">
2214     Add document status; print references type.
2215</t>
2216<t hangText="2005-01-01">
2217     Add experimental check for ID status.
2218</t>
2219<t hangText="2005-04-01">
2220     Add fixes from Bill Fenner.
2221</t>
2222<t hangText="2005-12-03">
2223    Add checks against local copy of <eref target="http://www.w3.org/2002/01/tr-automation/tr.rdf"/>
2224</t>
2225<t hangText="2006-07-22">
2226    Add checks for standards levels.
2227</t>
2228<t hangText="2006-08-06">
2229    "check-ietf-references.xslt" replaced by "check-references.xslt".
2230</t>
2231<t hangText="2007-01-04">
2232    Use information online at <eref target="http://tools.ietf.org/"/> to
2233    retrieve Internet-Draft status information.
2234</t>
2235<t hangText="2007-06-16">
2236    Fix bug looking up ref type when inside change markup.
2237</t>
2238<t hangText="2008-06-14">
2239    Enhance output when draft was updated, and then published as RFC.
2240</t>
2241<t hangText="2008-07-12">
2242    Add XSLT2-based link target checking.
2243</t>
2244<t hangText="2008-08-10">
2245    Change keywords for "intended-level" to proposed/draft/internet,
2246    optionall extract intended level from /rfc/@x:maturity-level attribute.
2247</t>
2248    </list></t>
2249    </section>
2250   
2251    <section title="gen-reference-graph.xslt">
2252    <t><list style="hanging">
2253<t hangText="2006-09-03">
2254  New.
2255</t>
2256<t hangText="2007-06-07">
2257  Use <eref target="http://dpcarlisle.blogspot.com/2007/05/exslt-node-set-function.html">Carlisle method</eref> to define exslt:node-set in
2258  msxsml (which means that the stylesheet can now be used with MSXML as well).
2259</t>
2260<t hangText="2007-10-15">
2261  Use W3C data from tr.rdf as well (experimental).
2262</t>
2263    </list></t>
2264    </section>
2265
2266    <section title="rfc2629.xslt">
2267      <t><list style="hanging">
2268<t hangText="2001-03-28">
2269    Code rearranged, generate numbered section anchors for paragraphs (t)
2270    as well. Fixes in index handling.
2271</t>
2272<t hangText="2001-04-12">
2273    Moved HTML output into XHTML namespace.
2274</t>
2275<t hangText="2001-10-02">
2276    Fixed default location for RFCs and numbering of section references.
2277    Support ?rfc editing processing instruction.
2278</t>
2279<t hangText="2001-10-07">
2280    Made telephone number links active.
2281</t>
2282<t hangText="2001-10-08">
2283    Support for vspace element.
2284</t>
2285<t hangText="2001-10-09">
2286    Experimental support for rfc-issue PI.
2287</t>
2288<t hangText="2001-11-11">
2289    Support rfc private PI. Removed bogus code reporting the WG in the header.
2290</t>
2291<t hangText="2001-11-11">
2292    Support rfc private PI. Removed bogus code reporting the WG in the header.
2293</t>
2294<t hangText="2001-12-17">
2295    Support title attribute on references element
2296</t>
2297<t hangText="2002-01-05">
2298    Support for list/@style="@format"
2299</t>
2300<t hangText="2002-01-09">
2301    Display "closed" RFC issues as deleted
2302</t>
2303<t hangText="2002-01-14">
2304    Experimentally and optionally parse XML encountered in artwork elements
2305    (requires MSXSL).
2306</t>
2307<t hangText="2002-01-27">
2308    Some cleanup. Moved RFC issues from PIs into namespaced elements.
2309</t>
2310<t hangText="2002-01-29">
2311    Added support for sortrefs PI. Added support for figure names.
2312</t>
2313<t hangText="2002-02-07">
2314    Highlight parts of artwork which are too wide (72 characters).
2315</t>
2316<t hangText="2002-02-12">
2317    Code rearrangement for static texts. Fixes for section numbering.
2318    TOC generation rewritten.
2319</t>
2320<t hangText="2002-02-15">
2321    Support for irefs in sections; support iref @primary=true
2322</t>
2323<t hangText="2002-03-03">
2324    Moved anchor prefix into a constant. Added sanity checks on user anchor
2325    names.
2326</t>
2327<t hangText="2002-03-23">
2328    Bugfix in detection of matching org names when creating the header. Fixed
2329    sorting in subitems.
2330</t>
2331<t hangText="2002-04-02">
2332    Fix TOC link HTML generation when no TOC is generated (created broken
2333    HTML table code).
2334</t>
2335<t hangText="2002-04-03">
2336    Made rendering of references more tolerant re: missing parts.
2337</t>
2338<t hangText="2002-04-08">
2339    Fixed reference numbering when references are split into separate sections.
2340</t>
2341<t hangText="2002-04-16">
2342    Fix default namespace (shouldn't be set for HTML output method).
2343</t>
2344<t hangText="2002-04-19">
2345    Lowercase internal CSS selectors for Mozilla compliance. Do not put TOC
2346    into ul element.
2347</t>
2348<t hangText="2002-04-21">
2349    Make numbered list inside numbered lists use alphanumeric numbering.
2350</t>
2351<t hangText="2002-05-05">
2352    Updated issue/editing support.
2353</t>
2354<t hangText="2002-05-15">
2355    Bugfix for section numbering after introduction of ed:replace
2356</t>
2357<t hangText="2002-06-21">
2358    When producing private documents, do not include document status, copyright etc.
2359</t>
2360<t hangText="2002-07-08">
2361    Fix xrefs to Appendices.
2362</t>
2363<t hangText="2002-07-19">
2364    Make artwork lightyellow for easier reading. (fielding)
2365</t>
2366<t hangText="2002-10-09">
2367    Translate references title to anchor name to avoid non-uri characters. (fielding)
2368</t>
2369<t hangText="2002-10-13">
2370    Support for tocdepth PI.
2371</t>
2372<t hangText="2002-11-03">
2373    Added temporariry workaround for Mozilla/Transformiix result tree fragment problem.
2374    (search for 'http://bugzilla.mozilla.org/show_bug.cgi?id=143668')
2375</t>
2376<t hangText="2002-12-25">
2377    xref code: attempt to uppercase "section" and "appendix" when at the start
2378    of a sentence.
2379</t>
2380<t hangText="2003-02-02">
2381    fixed code for vspace blankLines="0", enhanced display for list with "format" style,
2382    got rid of HTML blockquote elements, added support for "hangIndent"
2383</t>
2384<t hangText="2003-04-10">
2385    experimental support for appendix and spanx elements
2386</t>
2387<t hangText="2003-04-19">
2388    fixed counting of list numbers in "format %" styles (one counter
2389    per unique format string). Added more spanx styles.
2390</t>
2391<t hangText="2003-05-02">
2392    experimental texttable support
2393</t>
2394<t hangText="2003-05-02">
2395    Make mailto links optional (default = none) (jre: default and PI name changed) (fielding)
2396</t>
2397<t hangText="2003-05-04">
2398    experimental support for HTML link elements; fix default for table header
2399    alignment default
2400</t>
2401<t hangText="2003-05-06">
2402    support for "background" PI.
2403</t>
2404<t hangText="2003-05-11">
2405    change %c format to lowercase alphabetic. add support for keyword
2406    elements (generate META tag). fix various HTML conformance problems.
2407    added experimental support for role attribute. do not number paragraphs
2408    in unnumbered sections. update boilerplate texts. support for
2409    "iprnotified" PI. bugfix list numbering. strip whitespace when
2410    building tel: URIs.
2411</t>
2412<t hangText="2003-05-12">
2413    more conformance fixes (layout moved into CSS, move lists and figures
2414    out of para content, do not use tables for list formatting)
2415</t>
2416<t hangText="2003-05-13">
2417    add DC.Creator meta tag, refactoring
2418</t>
2419<t hangText="2003-05-16">
2420    put nbsps between "section" and section number (xref).
2421</t>
2422<t hangText="2003-05-18">
2423    author summary: add missing comma.
2424</t>
2425<t hangText="2003-06-06">
2426    fix index generation bug (transposed characters in key generation). Enhance
2427    sentence start detection (xref starting a section was using lowercase
2428    "section").
2429</t>
2430<t hangText="2003-06-22">
2431    exp. support for xref/@format. Add missing support for eref w/o content.
2432    exp. support for annotations in reference elements. Code cleanup
2433    reference table formatting.
2434</t>
2435<t hangText="2003-07-09">
2436    Another fix for DC.Creator meta tag creation based on RFC2731
2437</t>
2438<t hangText="2003-07-24">
2439    Fix namespace name for DC.Creator.
2440</t>
2441<t hangText="2003-08-06">
2442    Cleanup node-set support (only use exslt (saxon, xalan, libxslt) extension
2443    functions; remove Transformix workarounds that stopped to work in Moz 1.4)
2444</t>
2445<t hangText="2003-08-09">
2446    Generate HTML lang tag.
2447</t>
2448<t hangText="2003-08-10">
2449    Map spanx/verb to HTML "samp" element. Fix author name display in
2450    references (reverse surname/initials for last author), add "Ed.".
2451    Fix internal bookmark generation.
2452</t>
2453<t hangText="2003-08-17">
2454    Add DCMI dates, identifiers and abstract. Add PI to suppress DCMI
2455    generation.  Do not add TOC entry to Copyright Statement when there is
2456    none. Align RFC2629 PI names and parameter names. Change style for
2457    inline URIs generated by eref. Add header and footer support.
2458    Enhance CSS paging properties. Support topblock PI. Added hooks for
2459    proper XHTML generation through separate XSLT. Enhance warning and
2460    error messages. Add support for artwork image display. Table formatting
2461    fixes (borders, thead continuation).
2462</t>
2463<t hangText="2003-08-18">
2464    Add workaround for MSXML4 node-set and Mozilla node-set issues (fallback
2465    just displays are warning).
2466</t>
2467<t hangText="2003-10-06">
2468    Add workaround for broken pre/ins handling in Mozilla
2469    (see <eref target="http://bugzilla.mozilla.org/show_bug.cgi?id=204401"/>). Make use
2470    of cite attribute on ed:replace. CSS cleanup.
2471</t>
2472<t hangText="2003-10-08">
2473    Fix minor issue detecting the same org for the header (caused by IE's
2474    non-standard whitespace handling). Fix default handling for /rfc/@category.
2475</t>
2476<t hangText="2003-11-09">
2477    Inherit ed:entered-by from ancestor elements. Change CSS color for inserted
2478    text to green. Generate issues-list anchor. Do not complain about missing
2479    targets when the xref element is below ed:del. Remove code that attempted
2480    to distinguish section/Section when producing links - always use
2481    uppercase. Fix date rendering for issue resolutions.
2482</t>
2483<t hangText="2003-11-29">
2484    Fix color values for table backgrounds for issue rendering. Change
2485    rendering of issue links to use inline-styles. Add colored issue markers to
2486    issues.
2487</t>
2488<t hangText="2003-12-13">
2489    Fix inheritance of ed:entered-by attribute. Display note elements inside
2490    change tracking as well.
2491</t>
2492<t hangText="2004-01-18">
2493    When PI compact = 'yes', make most CSS print page breaks conditional.
2494</t>
2495<t hangText="2004-02-20">
2496    Support for RFC3667 IPR changes (xml2rfc 1.22); see
2497    <eref target="http://lists.xml.resource.org/pipermail/xml2rfc/2004-February/001088.html"/>.
2498</t>
2499<t hangText="2004-03-11">
2500    Add "(if approved)" to "updates" and "obsoletes" unless the document has
2501    an RFC number.
2502</t>
2503<t hangText="2004-04-01">
2504    Fix RFC3667 output, see <eref target="http://lists.xml.resource.org/pipermail/xml2rfc/2004-April/001208.html"/>.
2505</t>
2506<t hangText="2004-04-04">
2507    Add support for section/top attribute. Move references into plain
2508    section container.
2509</t>
2510<t hangText="2004-04-06">
2511    Do not emit identical para anchors for deleted content.
2512</t>
2513<t hangText="2004-04-14">
2514    Fix references TOC generation when there are no references.
2515</t>
2516<t hangText="2004-04-24">
2517    Fix RFC3667 output, see <eref target="http://xml.resource.org/pipermail/xml2rfc/2004-April/001246.html"/>.
2518</t>
2519<t hangText="2004-05-09">
2520    Add custom support for generating compound index documents. Add anchors
2521    for each Index letter. Add experimental cref support. Fix conditional page
2522    breaks before References section.
2523</t>
2524<t hangText="2004-05-16">
2525    Refactor external index generation.
2526</t>
2527<t hangText="2004-05-20">
2528    Rewrite anchor generation for comments.
2529</t>
2530<t hangText="2004-05-22">
2531    Enhance issues rendering (add links to changes).
2532</t>
2533<t hangText="2004-05-30">
2534    Allow single quote as delimiter in processing instructions as well. Move
2535    block-level issue pointers to floats. Disable issue pointers for print
2536    media. Add "purple numbers". Add hrefs to section headings. Add non-printing
2537    index key letter list to start of index.
2538</t>
2539<t hangText="2004-06-01">
2540    Use &amp;#xb6; instead of # for PNs.
2541</t>
2542<t hangText="2004-07-18">
2543    Add support for list style=letters (thanks Roy F.). Make PNs optional;
2544    add new PI.
2545</t>
2546<t hangText="2004-09-05">
2547    Fix index links into unnumbered sections.  Bring IPR boilerplate in-line
2548    with xml2rfc 1.25.  Add experimental CSS3 paged media support.  Various
2549    HTML fixes.
2550</t>
2551<t hangText="2004-09-21">
2552    Enhance checking of artwork width.
2553</t>
2554<t hangText="2004-09-26">
2555    Add check for unused references. Uppercase letters in list style letters
2556    when nested into another list.
2557</t>
2558<t hangText="2004-10-10">
2559    Fix internal change track pointers.
2560</t>
2561<t hangText="2004-11-01">
2562    Allow change tracking on references (as a whole).  Rewrite artwork handling
2563    so that it allows change tracking inside artwork.  Also allow a subset of
2564    text markup inside artwork, such as xrefs (note this requires post-processing
2565    the source to make it compliant to RFC2629bis).
2566</t>
2567<t hangText="2004-11-03">
2568    Enhanced placement of iref anchors.
2569</t>
2570<t hangText="2004-11-06">
2571    Index: display irefs that appeared (with primary=true) inside artwork elements
2572    in a monospaced font.
2573</t>
2574<t hangText="2004-11-14">
2575    Add special code so that changes in section titles can be change-tracked.
2576</t>
2577<t hangText="2005-01-14">
2578    Bugfixes for HtmlToXhtml converter.
2579</t>
2580<t hangText="2005-01-22">
2581    Enhance generation of HTML h* elements (for Mozilla Outliner).
2582</t>
2583<t hangText="2005-01-31">
2584    Put vertical space around top-level TOC entries in TOC.  Switch to
2585    pt-based CSS. Re-arrange top section. Make hr elements reflect new-page
2586    settings in TXT output (compact-PI).  Fix page number in footer (CSS
2587    print) and add some more experimental support for paged media (tested
2588    with Prince 4.1 alpha).  Rewrite TOC and Index generation to generate HTML
2589    lists.  Cleanup id generation for paragraphs.  Reduce whitespace in output.
2590    Fix vspace implementation. Use right/left dqoutes and copyright sign
2591    where appropriate.
2592</t>
2593<t hangText="2005-02-04">
2594    Add &lt;link> element to references section.  Fix newly introduced bug
2595    in references processing.
2596</t>
2597<t hangText="2005-02-05">
2598    Integrate various fixes/enhancements by Roy Fielding: spelling of
2599    "Authors' Addresses", comma setting in references, position of "Authors"
2600    section, optionally place authors addresses at end (PI), trailing dots
2601    in section numbers, switch to verdana default font in CSS.  Add
2602    experimental support for centered artwork.
2603</t>
2604<t hangText="2005-02-09">
2605    Fixes in spacing and links of references section titles.  Enhance sorting
2606    in references when change tracking is in place.  Re-add figure centering
2607    support.  Add missing 2nd part of "Author's Adresses" fix.
2608</t>
2609<t hangText="2005-02-25">
2610    Align section number format with xml2rfc1.29.
2611</t>
2612<t hangText="2005-03-28">
2613    Get rid of table elements in Author's section.  Add experimental hCard
2614    (<eref target="http://developers.technorati.com/wiki/hCard"/>) support.
2615</t>
2616<t hangText="2005-04-03">
2617    Add RFC3978-style IPR statement support. (fenner@research.att.com)
2618</t>
2619<t hangText="2005-04-11">
2620    Cleanup author display. hCard related fixes.
2621</t>
2622<t hangText="2005-05-07">
2623    Minor fixes to allow change tracking in doc title.  Add experimental
2624    support for table border styles. CSS cleanup.
2625</t>
2626<t hangText="2005-06-18">
2627    Implement missing support for references to texttables.
2628</t>
2629<t hangText="2005-09-25">
2630    Use (-moz-)column-count when printing the index.
2631</t>
2632<t hangText="2005-10-04">
2633    Report missing element templates with xsl:message.
2634</t>
2635<t hangText="2005-10-15">
2636    Process t/@anchor.
2637</t>
2638<t hangText="2005-10-23">
2639    More workarounds for Mozilla's broken del/ins handling (this time for
2640    figures).
2641</t>
2642<t hangText="2005-10-27">
2643    lowercase hCard class names
2644</t>
2645<t hangText="2005-11-22">
2646    Enhance diagnostics for XML-in-artwork extension
2647</t>
2648<t hangText="2005-11-26">
2649    Fix formatting of section numbers for sections inserted into &lt;back>.
2650</t>
2651<t hangText="2005-12-12">
2652    Fix some validity problems when change tracking occured inside lists.
2653</t>
2654<t hangText="2005-12-18">
2655    Add change tracking inside the index.
2656</t>
2657<t hangText="2006-02-04">
2658    Add prev/next links to highlighted changes (change tracking extension).
2659</t>
2660<t hangText="2006-02-10">
2661    Catch errors instantiating MSXML component.
2662</t>
2663<t hangText="2006-02-11">
2664    References: add "work in progress" for Internet Drafts.
2665</t>
2666<t hangText="2006-02-27">
2667    Fix front matter (lowercase Internet-Draft, say "Intended status" for
2668    non-RFC documents). Start work on experimental extension for 
2669    simplified internal links.
2670</t>
2671<t hangText="2006-03-19">
2672    Tweaks to IESG Copyright stuff; support submissionType attribute.
2673    Fix duplicate reference anchors in HTML output.  Reduce HTML Tidy warnings.
2674    Fix reference to normative ASCII version (now requires trailing ".txt").
2675    Tweaks to hCard generation.  Started to move non-issue-tracking
2676    extensions into namespace "http://purl.org/net/xml2rfc/ext".
2677</t>
2678<t hangText="2006-03-27">
2679    Moved "simple reference" extension into namespace "http://purl.org/net/xml2rfc/ext"
2680    and add documentation.  HTML conformance enhancements.
2681</t>
2682<t hangText="2006-04-02">
2683    Cleanup special code for automated XHTML XSLT generation.
2684</t>
2685<t hangText="2006-04-21">
2686    Generate &lt;CITE> elements where appropiate.
2687    Introduce x:blockquote, x:dfn, x:h and x:q elements.
2688</t>
2689<t hangText="2006-05-06">
2690    Introduce x:bcp14 element.
2691</t>
2692<t hangText="2006-05-14">
2693  Fix content model for x:blockquote.
2694</t>
2695<t hangText="2006-06-18">
2696  Add box drawing support (x:bt, x:bc, x:bb).
2697</t>
2698<t hangText="2006-06-20">
2699  HTML validity fixes (legal chars in anchors in index).
2700</t>
2701<t hangText="2006-06-24">
2702  Reduce leading empty lines in artwork. Move &lt;dt> style info into CSS.
2703</t>
2704<t hangText="2006-07-14">
2705  Fix rendering of multiple street address entries (missing line break).
2706</t>
2707<t hangText="2006-07-24">
2708  Add extension for deep linking into RFCs, do not generate empty list
2709  items in TOC output, avoid empty &lt;dt> elements for list items
2710  without hangText attribute.
2711</t>
2712<t hangText="2006-08-01">
2713  Allow @anchor on more elements; start work on Relax NG grammar for
2714  extensions. Reduce generated style elements (use CSS classes instead).
2715  Consistently use "id" instead of "name". Change default target for RFC
2716  links to "http://tools.ietf.org/html/rfcNNNN".
2717</t>
2718<t hangText="2006-08-06">
2719  Include appendices defined in &lt;appendix> elements in TOC (please
2720  consider them deprecated anyhow!). Generate links to
2721  "http://tools.ietf.org/html/draft-*" for Internet Drafts.
2722  Replace x:frag by x:rel, allowing any kind of relative reference instead
2723  of just fragments.
2724</t>
2725<t hangText="2006-08-30">
2726  Reduce textual differences between HTML output and what xml2rfc produces
2727  in TXT output mode (section refs/reference targets). Add small workaround
2728  for Opera 9.0.1's problem with node-set().
2729</t>
2730<t hangText="2006-10-29">
2731  Fix problem generating internal links to change markup within references
2732  section. Enhancements when generating numbered references for deleted
2733  references.
2734  Allow inclusion of references into the index (through include-references-in-index
2735  extension).
2736  Fix a bug that caused the newer version of the IETF boilerplate to be
2737  produced rather than the pre-RFC3667 one.
2738  Update to RFC4287 boilerplate.
2739</t>
2740<t hangText="2006-11-11">
2741  Add extension attribute x:for-anchor to &lt;iref&gt; handling.
2742</t>
2743<t hangText="2006-11-26">
2744  Experimental (and limited) support for &lt;x:lt&gt;.
2745</t>
2746<t hangText="2006-12-04">
2747  Fix bugs in processing documents that have both the ipr and the number attribute
2748  set on the rfc root element. Add support for x:fmt='none' on xrefs.
2749  Add different pre style based on artwork type attributes (experimental).
2750</t>
2751<t hangText="2006-12-13">
2752  Add x:fmt='anchor' for xref elements.
2753</t>
2754<t hangText="2007-01-07">
2755  Fix root template for compatibility for the exslt:node-set implementation
2756  in Firefox3.
2757</t>
2758<t hangText="2007-01-29">
2759  Avoid empty table entry in front matter when organization is not specified
2760  for an author.
2761</t>
2762<t hangText="2007-02-10">
2763  Allow change tracking in table rows.
2764</t>
2765<t hangText="2007-03-09">
2766  Add hcard profile URI (<eref target="http://www.w3.org/2006/03/hcard"/>) to head element.
2767  Add warning for misplaced &lt;t> elements (after section).
2768</t>
2769<t hangText="2007-03-21">
2770  Fix internal linking from reference entries in index for some xref types.
2771  Minor CSS tweaks contributed by MTR. Allow turning on text justification through
2772  a PI. Improve iref anchor generation to generate less instable anchors.
2773</t>
2774<t hangText="2007-03-28">
2775  Fixes for numbering of ed:inserted references sections.
2776</t>
2777<t hangText="2007-05-04">
2778  Do not generate anchors for edits in deleted sections. Enhance HTML
2779  conformance.
2780</t>
2781<t hangText="2007-05-19">
2782  Enhance diagnostics when using Saxon (needs Saxon's "-l" command line
2783  parameter to keep line number information). Add warning when symref PI
2784  is missing (default will change in the future).
2785  Add support for overriding computed section numbers (when formatting
2786  historic documents).
2787</t>
2788<t hangText="2007-06-07">
2789  Change default for symrefs PI to "yes" (see change in xml2rfc 1.33pre4).
2790  Warn about docName attributes that appear to contain a file extension.
2791</t>
2792<t hangText="2007-06-26">
2793  Workaround author/@initials values without trailing dot, as in xml2rfc.tcl.
2794</t>
2795<t hangText="2007-07-14">
2796  Enhance index generation for references that use @x:sec attribute.
2797</t>
2798<t hangText="2007-09-09">
2799  Fix: sortrefs is a nop when symrefs=no.
2800</t>
2801<t hangText="2007-10-17">
2802  Work in progress: add support for referencing sections in sibling
2803  documents by anchor name.
2804</t>
2805<t hangText="2007-10-17">
2806  Work in progress (continued): support for referencing sections in sibling
2807  documents by anchor name.
2808</t>
2809<t hangText="2007-12-31">
2810  Emit warning when updating/obsoleting stuff that's not referenced.
2811</t>
2812<t hangText="2008-02-03">
2813  Support xml2rfc-1.33pre5's suppress-title attribute on texttable and figure.
2814</t>
2815<t hangText="2008-02-06">
2816  Extension: allow &lt;eref> below &lt;cref>.
2817</t>
2818<t hangText="2008-02-17">
2819  Extensions: add x:span and x:length-of.
2820</t>
2821<t hangText="2008-02-20">
2822  Add new RFC boilerplate (as changed in 2007-08).
2823</t>
2824<t hangText="2008-02-27">
2825  Improve diagnostics for artwork width problems; add defaulting of publication
2826  dates (requires XSLT processor supporting exslt:date, or msxml).
2827</t>
2828<t hangText="2008-02-29">
2829  Enhance CSS for link elements in the front header, update rules for
2830  generating "Acknowledgment" statement.
2831</t>
2832<t hangText="2008-03-01">
2833  Use line numbers in diagnostics in Saxon8/9 as well.
2834</t>
2835<t hangText="2008-03-02">
2836  Fix a bug in the logic choosing the boilerplate, resulting in obsolete
2837  text being inserted into IDs.
2838</t>
2839<t hangText="2008-04-01">
2840  Add support for superscript element.
2841</t>
2842<t hangText="2008-06-28">
2843  Add sanity checks for email addresses, allow multiple email elements.
2844</t>
2845<t hangText="2008-07-06">
2846  Add x:abnf-char-sequence.
2847</t>
2848<t hangText="2008-08-21">
2849  Add x:note.
2850</t>
2851<t hangText="2008-09-06">
2852  Add experimental support for SVG images.
2853</t>
2854<t hangText="2008-09-17">
2855  Add experimental support for x:author. Fix xref/@format=none.
2856</t>
2857<t hangText="2008-10-10">
2858  Fix a huge bug, causing text content after an XML comment to be ignored.
2859</t>
2860<t hangText="2009-02-24">
2861  Use table/caption when needed.
2862</t>
2863<t hangText="2009-03-07">
2864  Fix bug that caused text to disappear in the output in presence of
2865  processing instructions.
2866</t>
2867<t hangText="2009-03-12">
2868  Make inlined comments bookmarkable.
2869</t>
2870      </list></t>
2871    </section>
2872    <section title="rfc2629toFO.xslt">
2873      <t><list style="hanging">
2874<t hangText="2003-11-16">
2875    Initial release.
2876</t>
2877<t hangText="2003-11-29">
2878    Enhance handling of unknown list styles.
2879</t>
2880<t hangText="2004-04-04">
2881    Update reference section handling.
2882</t>
2883<t hangText="2004-04-17">
2884    Use XSL-WD-1.1-style fo:bookmark and index handling and add postprocessors for
2885    existing implementations. Unify PDF info generation by using XEP (postprocessors)
2886    will convert.
2887</t>
2888<t hangText="2004-04-20">
2889    Add experimental cref support.
2890</t>
2891<t hangText="2004-06-14">
2892    Set correct index-item defaults.
2893</t>
2894<t hangText="2004-07-18">
2895    Add list style=letters.
2896</t>
2897<t hangText="2004-09-03">
2898    Make URLs in text break where they are allowed to break by inserting
2899    zero-width spaces.
2900</t>
2901<t hangText="2004-09-26">
2902    Fix letter-style inside nested lists.
2903</t>
2904<t hangText="2004-10-31">
2905    Update handling of artwork.
2906</t>
2907<t hangText="2004-11-13">
2908    Fix handling of references inside ed:* markup.  Fix whitespace handling
2909    in artwork.
2910</t>
2911<t hangText="2004-11-27">
2912    Irefs in artwork generate monospaced entries in index.
2913</t>
2914<t hangText="2005-01-31">
2915    Fix TOC generation that was broken after changes in main XSLT.
2916</t>
2917<t hangText="2005-02-05">
2918    Bring in sync with cosmetic changes in rfc2629.xslt.
2919</t>
2920<t hangText="2005-05-07">
2921    Minor fix for change tracking in document title.  Support for table
2922    styles.
2923</t>
2924<t hangText="2005-06-18">
2925    Fix references to tables.
2926</t>
2927<t hangText="2005-10-15">
2928    Process t/@anchor.
2929</t>
2930<t hangText="2006-02-11">
2931    References: add "work in progress" for Internet Drafts.
2932</t>
2933<t hangText="2006-06-02">
2934    Use XSL 1.1 WD Feb 2006.
2935</t>
2936<t hangText="2007-03-21">
2937    Support optional text justification.
2938</t>
2939<t hangText="2007-05-19">
2940    Various improvements in spacing; also allow overriding the automatic
2941    list indentation via list/x:indent.
2942</t>
2943     </list></t>
2944    </section>
2945
2946    <section title="xsl11toAn.xslt">
2947    <t><list style="hanging">
2948<t hangText="2004-05-17">
2949     Initial release.
2950</t>
2951<t hangText="2006-06-02">
2952    Use XSL 1.1 WD Feb 2006.
2953</t>
2954    </list></t>
2955    </section>
2956
2957    <section title="xsl11toFop.xslt">
2958    <t><list style="hanging">
2959<t hangText="2004-05-17">
2960     Initial release.
2961</t>
2962<t hangText="2006-06-02">
2963    Use XSL 1.1 WD Feb 2006.
2964</t>
2965    </list></t>
2966    </section>
2967
2968    <section title="xsl11toFop-0.93.xslt">
2969    <t><list style="hanging">
2970<t hangText="2008-03-15">
2971    Add a workaround to the fo:inline workaround (sigh).
2972</t>
2973    </list></t>
2974    </section>
2975
2976    <section title="xsl11toXep.xslt">
2977    <t><list style="hanging">
2978<t hangText="2004-05-17">
2979     Initial release.
2980</t>
2981<t hangText="2004-09-04">
2982     Fix xep:index-item attributes.
2983</t>
2984<t hangText="2006-06-02">
2985    Use XSL 1.1 WD Feb 2006.
2986</t>
2987    </list></t>
2988    </section>
2989  </section>
2990
2991</back>
2992</rfc>
Note: See TracBrowser for help on using the repository browser.