source: rfc2629xslt/rfc2629xslt.xml @ 599

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

Update to latest version of rfc2629.xslt, bump up document dates.

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