source: rfc2629xslt/rfc2629xslt.xml @ 1030

Last change on this file since 1030 was 1019, checked in by julian.reschke@…, 10 years ago

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

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