source: rfc2629xslt/rfc2629xslt.xml @ 329

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

update to latest version of rfc2629.xslt

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