source: rfc2629xslt/rfc2629xslt.xml @ 285

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

Upgrade to latest version of rfc2629.xslt

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