1*912701f9SAndroid Build Coastguard Worker<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 2*912701f9SAndroid Build Coastguard Worker version="1.0" 3*912701f9SAndroid Build Coastguard Worker 4*912701f9SAndroid Build Coastguard Worker xmlns:msxsl="urn:schemas-microsoft-com:xslt" 5*912701f9SAndroid Build Coastguard Worker xmlns:exslt="http://exslt.org/common" 6*912701f9SAndroid Build Coastguard Worker xmlns:myns="mailto:[email protected]?subject=rcf2629.xslt" 7*912701f9SAndroid Build Coastguard Worker xmlns:ed="http://greenbytes.de/2002/rfcedit" 8*912701f9SAndroid Build Coastguard Worker 9*912701f9SAndroid Build Coastguard Worker exclude-result-prefixes="msxsl exslt myns ed" 10*912701f9SAndroid Build Coastguard Worker > 11*912701f9SAndroid Build Coastguard Worker<!-- 12*912701f9SAndroid Build Coastguard Worker XSLT transformation from RFC2629 XML format to HTML 13*912701f9SAndroid Build Coastguard Worker 14*912701f9SAndroid Build Coastguard Worker Copyright (c) 2001-2004 Julian F. Reschke ([email protected]) 15*912701f9SAndroid Build Coastguard Worker 16*912701f9SAndroid Build Coastguard Worker placed into the public domain 17*912701f9SAndroid Build Coastguard Worker 18*912701f9SAndroid Build Coastguard Worker change history: 19*912701f9SAndroid Build Coastguard Worker 20*912701f9SAndroid Build Coastguard Worker 2001-03-28 [email protected] 21*912701f9SAndroid Build Coastguard Worker 22*912701f9SAndroid Build Coastguard Worker Code rearranged, generate numbered section anchors for paragraphs (t) 23*912701f9SAndroid Build Coastguard Worker as well. Fixes in index handling. 24*912701f9SAndroid Build Coastguard Worker 25*912701f9SAndroid Build Coastguard Worker 2001-04-12 [email protected] 26*912701f9SAndroid Build Coastguard Worker 27*912701f9SAndroid Build Coastguard Worker Moved HTML output into XHTML namespace. 28*912701f9SAndroid Build Coastguard Worker 29*912701f9SAndroid Build Coastguard Worker 2001-10-02 [email protected] 30*912701f9SAndroid Build Coastguard Worker 31*912701f9SAndroid Build Coastguard Worker Fixed default location for RFCs and numbering of section references. 32*912701f9SAndroid Build Coastguard Worker Support ?rfc editing processing instruction. 33*912701f9SAndroid Build Coastguard Worker 34*912701f9SAndroid Build Coastguard Worker 2001-10-07 [email protected] 35*912701f9SAndroid Build Coastguard Worker 36*912701f9SAndroid Build Coastguard Worker Made telephone number links active. 37*912701f9SAndroid Build Coastguard Worker 38*912701f9SAndroid Build Coastguard Worker 2001-10-08 [email protected] 39*912701f9SAndroid Build Coastguard Worker 40*912701f9SAndroid Build Coastguard Worker Support for vspace element. 41*912701f9SAndroid Build Coastguard Worker 42*912701f9SAndroid Build Coastguard Worker 2001-10-09 [email protected] 43*912701f9SAndroid Build Coastguard Worker 44*912701f9SAndroid Build Coastguard Worker Experimental support for rfc-issue PI. 45*912701f9SAndroid Build Coastguard Worker 46*912701f9SAndroid Build Coastguard Worker 2001-11-11 [email protected] 47*912701f9SAndroid Build Coastguard Worker 48*912701f9SAndroid Build Coastguard Worker Support rfc private PI. Removed bogus code reporting the WG in the header. 49*912701f9SAndroid Build Coastguard Worker 50*912701f9SAndroid Build Coastguard Worker 2001-12-17 [email protected] 51*912701f9SAndroid Build Coastguard Worker 52*912701f9SAndroid Build Coastguard Worker Support title attribute on references element 53*912701f9SAndroid Build Coastguard Worker 54*912701f9SAndroid Build Coastguard Worker 2002-01-05 [email protected] 55*912701f9SAndroid Build Coastguard Worker 56*912701f9SAndroid Build Coastguard Worker Support for list/@style="@format" 57*912701f9SAndroid Build Coastguard Worker 58*912701f9SAndroid Build Coastguard Worker 2002-01-09 [email protected] 59*912701f9SAndroid Build Coastguard Worker 60*912701f9SAndroid Build Coastguard Worker Display "closed" RFC issues as deleted 61*912701f9SAndroid Build Coastguard Worker 62*912701f9SAndroid Build Coastguard Worker 2002-01-14 [email protected] 63*912701f9SAndroid Build Coastguard Worker 64*912701f9SAndroid Build Coastguard Worker Experimentally and optionally parse XML encountered in artwork elements 65*912701f9SAndroid Build Coastguard Worker (requires MSXSL). 66*912701f9SAndroid Build Coastguard Worker 67*912701f9SAndroid Build Coastguard Worker 2002-01-27 [email protected] 68*912701f9SAndroid Build Coastguard Worker 69*912701f9SAndroid Build Coastguard Worker Some cleanup. Moved RFC issues from PIs into namespaced elements. 70*912701f9SAndroid Build Coastguard Worker 71*912701f9SAndroid Build Coastguard Worker 2002-01-29 [email protected] 72*912701f9SAndroid Build Coastguard Worker 73*912701f9SAndroid Build Coastguard Worker Added support for sortrefs PI. Added support for figure names. 74*912701f9SAndroid Build Coastguard Worker 75*912701f9SAndroid Build Coastguard Worker 2002-02-07 [email protected] 76*912701f9SAndroid Build Coastguard Worker 77*912701f9SAndroid Build Coastguard Worker Highlight parts of artwork which are too wide (72 characters). 78*912701f9SAndroid Build Coastguard Worker 79*912701f9SAndroid Build Coastguard Worker 2002-02-12 [email protected] 80*912701f9SAndroid Build Coastguard Worker 81*912701f9SAndroid Build Coastguard Worker Code rearrangement for static texts. Fixes for section numbering. 82*912701f9SAndroid Build Coastguard Worker TOC generation rewritten. 83*912701f9SAndroid Build Coastguard Worker 84*912701f9SAndroid Build Coastguard Worker 2002-02-15 [email protected] 85*912701f9SAndroid Build Coastguard Worker 86*912701f9SAndroid Build Coastguard Worker Support for irefs in sections; support iref @primary=true 87*912701f9SAndroid Build Coastguard Worker 88*912701f9SAndroid Build Coastguard Worker 2002-03-03 [email protected] 89*912701f9SAndroid Build Coastguard Worker 90*912701f9SAndroid Build Coastguard Worker Moved anchor prefix into a constant. Added sanity checks on user anchor 91*912701f9SAndroid Build Coastguard Worker names. 92*912701f9SAndroid Build Coastguard Worker 93*912701f9SAndroid Build Coastguard Worker 2002-03-23 [email protected] 94*912701f9SAndroid Build Coastguard Worker 95*912701f9SAndroid Build Coastguard Worker Bugfix in detection of matching org names when creating the header. Fixed 96*912701f9SAndroid Build Coastguard Worker sorting in subitems. 97*912701f9SAndroid Build Coastguard Worker 98*912701f9SAndroid Build Coastguard Worker 2002-04-02 [email protected] 99*912701f9SAndroid Build Coastguard Worker 100*912701f9SAndroid Build Coastguard Worker Fix TOC link HTML generation when no TOC is generated (created broken 101*912701f9SAndroid Build Coastguard Worker HTML table code). 102*912701f9SAndroid Build Coastguard Worker 103*912701f9SAndroid Build Coastguard Worker 2002-04-03 [email protected] 104*912701f9SAndroid Build Coastguard Worker 105*912701f9SAndroid Build Coastguard Worker Made rendering of references more tolerant re: missing parts. 106*912701f9SAndroid Build Coastguard Worker 107*912701f9SAndroid Build Coastguard Worker 2002-04-08 [email protected] 108*912701f9SAndroid Build Coastguard Worker 109*912701f9SAndroid Build Coastguard Worker Fixed reference numbering when references are split into separate sections. 110*912701f9SAndroid Build Coastguard Worker 111*912701f9SAndroid Build Coastguard Worker 2002-04-16 [email protected] 112*912701f9SAndroid Build Coastguard Worker 113*912701f9SAndroid Build Coastguard Worker Fix default namespace (shouldn't be set for HTML output method). 114*912701f9SAndroid Build Coastguard Worker 115*912701f9SAndroid Build Coastguard Worker 2002-04-19 [email protected] 116*912701f9SAndroid Build Coastguard Worker 117*912701f9SAndroid Build Coastguard Worker Lowercase internal CSS selectors for Mozilla compliance. Do not put TOC 118*912701f9SAndroid Build Coastguard Worker into ul element. 119*912701f9SAndroid Build Coastguard Worker 120*912701f9SAndroid Build Coastguard Worker 2002-04-21 [email protected] 121*912701f9SAndroid Build Coastguard Worker 122*912701f9SAndroid Build Coastguard Worker Make numbered list inside numbered lists use alphanumeric numbering. 123*912701f9SAndroid Build Coastguard Worker 124*912701f9SAndroid Build Coastguard Worker 2002-05-05 [email protected] 125*912701f9SAndroid Build Coastguard Worker 126*912701f9SAndroid Build Coastguard Worker Updated issue/editing support. 127*912701f9SAndroid Build Coastguard Worker 128*912701f9SAndroid Build Coastguard Worker 2002-05-15 [email protected] 129*912701f9SAndroid Build Coastguard Worker 130*912701f9SAndroid Build Coastguard Worker Bugfix for section numbering after introduction of ed:replace 131*912701f9SAndroid Build Coastguard Worker 132*912701f9SAndroid Build Coastguard Worker 2002-06-21 [email protected] 133*912701f9SAndroid Build Coastguard Worker 134*912701f9SAndroid Build Coastguard Worker When producing private documents, do not include document status, copyright etc. 135*912701f9SAndroid Build Coastguard Worker 136*912701f9SAndroid Build Coastguard Worker 2002-07-08 [email protected] 137*912701f9SAndroid Build Coastguard Worker 138*912701f9SAndroid Build Coastguard Worker Fix xrefs to Appendices. 139*912701f9SAndroid Build Coastguard Worker 140*912701f9SAndroid Build Coastguard Worker 2002-07-19 fielding 141*912701f9SAndroid Build Coastguard Worker 142*912701f9SAndroid Build Coastguard Worker Make artwork lightyellow for easier reading. 143*912701f9SAndroid Build Coastguard Worker 144*912701f9SAndroid Build Coastguard Worker 2002-10-09 fielding 145*912701f9SAndroid Build Coastguard Worker 146*912701f9SAndroid Build Coastguard Worker Translate references title to anchor name to avoid non-uri characters. 147*912701f9SAndroid Build Coastguard Worker 148*912701f9SAndroid Build Coastguard Worker 2002-10-13 [email protected] 149*912701f9SAndroid Build Coastguard Worker 150*912701f9SAndroid Build Coastguard Worker Support for tocdepth PI. 151*912701f9SAndroid Build Coastguard Worker 152*912701f9SAndroid Build Coastguard Worker 2002-11-03 [email protected] 153*912701f9SAndroid Build Coastguard Worker 154*912701f9SAndroid Build Coastguard Worker Added temporariry workaround for Mozilla/Transformiix result tree fragment problem. 155*912701f9SAndroid Build Coastguard Worker (search for 'http://bugzilla.mozilla.org/show_bug.cgi?id=143668') 156*912701f9SAndroid Build Coastguard Worker 157*912701f9SAndroid Build Coastguard Worker 2002-12-25 [email protected] 158*912701f9SAndroid Build Coastguard Worker 159*912701f9SAndroid Build Coastguard Worker xref code: attempt to uppercase "section" and "appendix" when at the start 160*912701f9SAndroid Build Coastguard Worker of a sentence. 161*912701f9SAndroid Build Coastguard Worker 162*912701f9SAndroid Build Coastguard Worker 2003-02-02 [email protected] 163*912701f9SAndroid Build Coastguard Worker 164*912701f9SAndroid Build Coastguard Worker fixed code for vspace blankLines="0", enhanced display for list with "format" style, 165*912701f9SAndroid Build Coastguard Worker got rid of HTML blockquote elements, added support for "hangIndent" 166*912701f9SAndroid Build Coastguard Worker 167*912701f9SAndroid Build Coastguard Worker 2003-04-10 [email protected] 168*912701f9SAndroid Build Coastguard Worker 169*912701f9SAndroid Build Coastguard Worker experimental support for appendix and spanx elements 170*912701f9SAndroid Build Coastguard Worker 171*912701f9SAndroid Build Coastguard Worker 2003-04-19 [email protected] 172*912701f9SAndroid Build Coastguard Worker 173*912701f9SAndroid Build Coastguard Worker fixed counting of list numbers in "format %" styles (one counter 174*912701f9SAndroid Build Coastguard Worker per unique format string). Added more spanx styles. 175*912701f9SAndroid Build Coastguard Worker 176*912701f9SAndroid Build Coastguard Worker 2003-05-02 [email protected] 177*912701f9SAndroid Build Coastguard Worker 178*912701f9SAndroid Build Coastguard Worker experimental texttable support 179*912701f9SAndroid Build Coastguard Worker 180*912701f9SAndroid Build Coastguard Worker 2003-05-02 fielding 181*912701f9SAndroid Build Coastguard Worker 182*912701f9SAndroid Build Coastguard Worker Make mailto links optional (default = none) (jre: default and PI name changed) 183*912701f9SAndroid Build Coastguard Worker 184*912701f9SAndroid Build Coastguard Worker 2003-05-04 [email protected] 185*912701f9SAndroid Build Coastguard Worker 186*912701f9SAndroid Build Coastguard Worker experimental support for HTML link elements; fix default for table header 187*912701f9SAndroid Build Coastguard Worker alignment default 188*912701f9SAndroid Build Coastguard Worker 189*912701f9SAndroid Build Coastguard Worker 2003-05-06 [email protected] 190*912701f9SAndroid Build Coastguard Worker 191*912701f9SAndroid Build Coastguard Worker support for "background" PI. 192*912701f9SAndroid Build Coastguard Worker 193*912701f9SAndroid Build Coastguard Worker 2003-05-11 [email protected] 194*912701f9SAndroid Build Coastguard Worker 195*912701f9SAndroid Build Coastguard Worker change %c format to lowercase alphabetic. add support for keyword 196*912701f9SAndroid Build Coastguard Worker elements (generate META tag). fix various HTML conformance problems. 197*912701f9SAndroid Build Coastguard Worker added experimental support for role attribute. do not number paragraphs 198*912701f9SAndroid Build Coastguard Worker in unnumbered sections. update boilerplate texts. support for 199*912701f9SAndroid Build Coastguard Worker "iprnotified" PI. bugfix list numbering. strip whitespace when 200*912701f9SAndroid Build Coastguard Worker building tel: URIs. 201*912701f9SAndroid Build Coastguard Worker 202*912701f9SAndroid Build Coastguard Worker 2003-05-12 [email protected] 203*912701f9SAndroid Build Coastguard Worker 204*912701f9SAndroid Build Coastguard Worker more conformance fixes (layout moved into CSS, move lists and figures 205*912701f9SAndroid Build Coastguard Worker out of para content, do not use tables for list formatting) 206*912701f9SAndroid Build Coastguard Worker 207*912701f9SAndroid Build Coastguard Worker 2003-05-13 [email protected] 208*912701f9SAndroid Build Coastguard Worker 209*912701f9SAndroid Build Coastguard Worker add DC.Creator meta tag, refactoring 210*912701f9SAndroid Build Coastguard Worker 211*912701f9SAndroid Build Coastguard Worker 2003-05-16 [email protected] 212*912701f9SAndroid Build Coastguard Worker 213*912701f9SAndroid Build Coastguard Worker put nbsps between "section" and section number (xref). 214*912701f9SAndroid Build Coastguard Worker 215*912701f9SAndroid Build Coastguard Worker 2003-05-18 [email protected] 216*912701f9SAndroid Build Coastguard Worker 217*912701f9SAndroid Build Coastguard Worker author summary: add missing comma. 218*912701f9SAndroid Build Coastguard Worker 219*912701f9SAndroid Build Coastguard Worker 2003-06-06 [email protected] 220*912701f9SAndroid Build Coastguard Worker 221*912701f9SAndroid Build Coastguard Worker fix index generation bug (transposed characters in key generation). Enhance 222*912701f9SAndroid Build Coastguard Worker sentence start detection (xref starting a section was using lowercase 223*912701f9SAndroid Build Coastguard Worker "section"). 224*912701f9SAndroid Build Coastguard Worker 225*912701f9SAndroid Build Coastguard Worker 2003-06-22 [email protected] 226*912701f9SAndroid Build Coastguard Worker 227*912701f9SAndroid Build Coastguard Worker exp. support for xref/@format. Add missing support for eref w/o content. 228*912701f9SAndroid Build Coastguard Worker exp. support for annotations in reference elements. Code cleanup 229*912701f9SAndroid Build Coastguard Worker reference table formatting. 230*912701f9SAndroid Build Coastguard Worker 231*912701f9SAndroid Build Coastguard Worker 2003-07-09 [email protected] 232*912701f9SAndroid Build Coastguard Worker 233*912701f9SAndroid Build Coastguard Worker Another fix for DC.Creator meta tag creation based on RFC2731 234*912701f9SAndroid Build Coastguard Worker 235*912701f9SAndroid Build Coastguard Worker 2003-07-24 [email protected] 236*912701f9SAndroid Build Coastguard Worker 237*912701f9SAndroid Build Coastguard Worker Fix namespace name for DC.Creator. 238*912701f9SAndroid Build Coastguard Worker 239*912701f9SAndroid Build Coastguard Worker 2003-08-06 [email protected] 240*912701f9SAndroid Build Coastguard Worker 241*912701f9SAndroid Build Coastguard Worker Cleanup node-set support (only use exslt (saxon, xalan, libxslt) extension 242*912701f9SAndroid Build Coastguard Worker functions; remove Transformix workarounds that stopped to work in Moz 1.4) 243*912701f9SAndroid Build Coastguard Worker 244*912701f9SAndroid Build Coastguard Worker 2003-08-09 [email protected] 245*912701f9SAndroid Build Coastguard Worker 246*912701f9SAndroid Build Coastguard Worker Generate HTML lang tag. 247*912701f9SAndroid Build Coastguard Worker 248*912701f9SAndroid Build Coastguard Worker 2003-08-10 [email protected] 249*912701f9SAndroid Build Coastguard Worker 250*912701f9SAndroid Build Coastguard Worker Map spanx/verb to HTML "samp" element. Fix author name display in 251*912701f9SAndroid Build Coastguard Worker references (reverse surname/initials for last author), add "Ed.". 252*912701f9SAndroid Build Coastguard Worker Fix internal bookmark generation. 253*912701f9SAndroid Build Coastguard Worker 254*912701f9SAndroid Build Coastguard Worker 2003-08-17 [email protected] 255*912701f9SAndroid Build Coastguard Worker 256*912701f9SAndroid Build Coastguard Worker Add DCMI dates, identifiers and abstract. Add PI to suppress DCMI 257*912701f9SAndroid Build Coastguard Worker generation. Do not add TOC entry to Copyright Statement when there is 258*912701f9SAndroid Build Coastguard Worker none. Align RFC2629 PI names and parameter names. Change style for 259*912701f9SAndroid Build Coastguard Worker inline URIs generated by eref. Add header and footer support. 260*912701f9SAndroid Build Coastguard Worker Enhance CSS paging properties. Support topblock PI. Added hooks for 261*912701f9SAndroid Build Coastguard Worker proper XHTML generation through separate XSLT. Enhance warning and 262*912701f9SAndroid Build Coastguard Worker error messages. Add support for artwork image display. Table formatting 263*912701f9SAndroid Build Coastguard Worker fixes (borders, thead continuation). 264*912701f9SAndroid Build Coastguard Worker 265*912701f9SAndroid Build Coastguard Worker 2003-08-18 [email protected] 266*912701f9SAndroid Build Coastguard Worker 267*912701f9SAndroid Build Coastguard Worker Add workaround for MSXML4 node-set and Mozilla node-set issues (fallback 268*912701f9SAndroid Build Coastguard Worker just displays are warning). 269*912701f9SAndroid Build Coastguard Worker 270*912701f9SAndroid Build Coastguard Worker 2003-10-06 [email protected] 271*912701f9SAndroid Build Coastguard Worker 272*912701f9SAndroid Build Coastguard Worker Add workaround for broken pre/ins handling in Mozilla 273*912701f9SAndroid Build Coastguard Worker (see <http://bugzilla.mozilla.org/show_bug.cgi?id=204401>). Make use 274*912701f9SAndroid Build Coastguard Worker of cite attribute on ed:replace. CSS cleanup. 275*912701f9SAndroid Build Coastguard Worker 276*912701f9SAndroid Build Coastguard Worker 2003-10-08 [email protected] 277*912701f9SAndroid Build Coastguard Worker 278*912701f9SAndroid Build Coastguard Worker Fix minor issue detecting the same org for the header (caused by IE's 279*912701f9SAndroid Build Coastguard Worker non-standard whitespace handling). Fix default handling for /rfc/@category. 280*912701f9SAndroid Build Coastguard Worker 281*912701f9SAndroid Build Coastguard Worker 2003-11-09 [email protected] 282*912701f9SAndroid Build Coastguard Worker 283*912701f9SAndroid Build Coastguard Worker Inherit ed:entered-by from ancestor elements. Change CSS color for inserted 284*912701f9SAndroid Build Coastguard Worker text to green. Generate issues-list anchor. Do not complain about missing 285*912701f9SAndroid Build Coastguard Worker targets when the xref element is below ed:del. Remove code that attempted 286*912701f9SAndroid Build Coastguard Worker to distinguish section/Section when producing links - always use 287*912701f9SAndroid Build Coastguard Worker uppercase. Fix date rendering for issue resolutions. 288*912701f9SAndroid Build Coastguard Worker 289*912701f9SAndroid Build Coastguard Worker 2003-11-29 [email protected] 290*912701f9SAndroid Build Coastguard Worker 291*912701f9SAndroid Build Coastguard Worker Fix color values for table backgrounds for issue rendering. Change 292*912701f9SAndroid Build Coastguard Worker rendering of issue links to use inline-styles. Add colored issue markers to 293*912701f9SAndroid Build Coastguard Worker issues. 294*912701f9SAndroid Build Coastguard Worker 295*912701f9SAndroid Build Coastguard Worker 2003-12-13 [email protected] 296*912701f9SAndroid Build Coastguard Worker 297*912701f9SAndroid Build Coastguard Worker Fix inheritance of ed:entered-by attribute. Display note elements inside 298*912701f9SAndroid Build Coastguard Worker change tracking as well. 299*912701f9SAndroid Build Coastguard Worker 300*912701f9SAndroid Build Coastguard Worker 2004-01-18 [email protected] 301*912701f9SAndroid Build Coastguard Worker 302*912701f9SAndroid Build Coastguard Worker When PI compact = 'yes', make most CSS print page breaks conditional. 303*912701f9SAndroid Build Coastguard Worker 304*912701f9SAndroid Build Coastguard Worker 2004-02-20 [email protected] 305*912701f9SAndroid Build Coastguard Worker 306*912701f9SAndroid Build Coastguard Worker Support for RFC3667 IPR changes (xml2rfc 1.22); see 307*912701f9SAndroid Build Coastguard Worker <http://lists.xml.resource.org/pipermail/xml2rfc/2004-February/001088.html>. 308*912701f9SAndroid Build Coastguard Worker 309*912701f9SAndroid Build Coastguard Worker 2004-03-11 [email protected] 310*912701f9SAndroid Build Coastguard Worker 311*912701f9SAndroid Build Coastguard Worker Add "(if approved)" to "updates" and "obsoletes" unless the document has 312*912701f9SAndroid Build Coastguard Worker an RFC number. 313*912701f9SAndroid Build Coastguard Worker 314*912701f9SAndroid Build Coastguard Worker 2004-04-01 [email protected] 315*912701f9SAndroid Build Coastguard Worker 316*912701f9SAndroid Build Coastguard Worker Fix RFC3667 output, see <http://lists.xml.resource.org/pipermail/xml2rfc/2004-April/001208.html> 317*912701f9SAndroid Build Coastguard Worker--> 318*912701f9SAndroid Build Coastguard Worker 319*912701f9SAndroid Build Coastguard Worker 320*912701f9SAndroid Build Coastguard Worker<xsl:output method="html" encoding="iso-8859-1" version="4.0" doctype-public="-//W3C//DTD HTML 4.01//EN" /> 321*912701f9SAndroid Build Coastguard Worker 322*912701f9SAndroid Build Coastguard Worker 323*912701f9SAndroid Build Coastguard Worker<!-- process some of the processing instructions supported by Marshall T. Rose's 324*912701f9SAndroid Build Coastguard Worker xml2rfc sofware, see <http://xml.resource.org/> --> 325*912701f9SAndroid Build Coastguard Worker 326*912701f9SAndroid Build Coastguard Worker 327*912701f9SAndroid Build Coastguard Worker<!-- rfc compact PI --> 328*912701f9SAndroid Build Coastguard Worker 329*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-compact" 330*912701f9SAndroid Build Coastguard Worker select="substring-after( 331*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'compact=')], '" ', ''), 332*912701f9SAndroid Build Coastguard Worker 'compact=')" 333*912701f9SAndroid Build Coastguard Worker/> 334*912701f9SAndroid Build Coastguard Worker 335*912701f9SAndroid Build Coastguard Worker<!-- rfc footer PI --> 336*912701f9SAndroid Build Coastguard Worker 337*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-footer" 338*912701f9SAndroid Build Coastguard Worker select="substring-after( 339*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'footer=')], '" ', ''), 340*912701f9SAndroid Build Coastguard Worker 'footer=')" 341*912701f9SAndroid Build Coastguard Worker/> 342*912701f9SAndroid Build Coastguard Worker 343*912701f9SAndroid Build Coastguard Worker<!-- rfc header PI --> 344*912701f9SAndroid Build Coastguard Worker 345*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-header" 346*912701f9SAndroid Build Coastguard Worker select="substring-after( 347*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'header=')], '" ', ''), 348*912701f9SAndroid Build Coastguard Worker 'header=')" 349*912701f9SAndroid Build Coastguard Worker/> 350*912701f9SAndroid Build Coastguard Worker 351*912701f9SAndroid Build Coastguard Worker<!-- include a table of contents if a processing instruction <?rfc?> 352*912701f9SAndroid Build Coastguard Worker exists with contents toc="yes". Can be overriden by an XSLT parameter --> 353*912701f9SAndroid Build Coastguard Worker 354*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-toc" 355*912701f9SAndroid Build Coastguard Worker select="substring-after( 356*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'toc=')], '" ', ''), 357*912701f9SAndroid Build Coastguard Worker 'toc=')" 358*912701f9SAndroid Build Coastguard Worker/> 359*912701f9SAndroid Build Coastguard Worker 360*912701f9SAndroid Build Coastguard Worker<!-- optional tocdepth--> 361*912701f9SAndroid Build Coastguard Worker 362*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-tocdepth" 363*912701f9SAndroid Build Coastguard Worker select="substring-after( 364*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'tocdepth=')], '" ', ''), 365*912701f9SAndroid Build Coastguard Worker 'tocdepth=')" 366*912701f9SAndroid Build Coastguard Worker/> 367*912701f9SAndroid Build Coastguard Worker 368*912701f9SAndroid Build Coastguard Worker<xsl:variable name="parsedTocDepth"> 369*912701f9SAndroid Build Coastguard Worker <xsl:choose> 370*912701f9SAndroid Build Coastguard Worker <xsl:when test="$xml2rfc-tocdepth='1'">1</xsl:when> 371*912701f9SAndroid Build Coastguard Worker <xsl:when test="$xml2rfc-tocdepth='2'">2</xsl:when> 372*912701f9SAndroid Build Coastguard Worker <xsl:when test="$xml2rfc-tocdepth='3'">3</xsl:when> 373*912701f9SAndroid Build Coastguard Worker <xsl:when test="$xml2rfc-tocdepth='4'">4</xsl:when> 374*912701f9SAndroid Build Coastguard Worker <xsl:when test="$xml2rfc-tocdepth='5'">5</xsl:when> 375*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>99</xsl:otherwise> 376*912701f9SAndroid Build Coastguard Worker </xsl:choose> 377*912701f9SAndroid Build Coastguard Worker</xsl:variable> 378*912701f9SAndroid Build Coastguard Worker 379*912701f9SAndroid Build Coastguard Worker<!-- suppress top block if a processing instruction <?rfc?> 380*912701f9SAndroid Build Coastguard Worker exists with contents tocblock="no". Can be overriden by an XSLT parameter --> 381*912701f9SAndroid Build Coastguard Worker 382*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-topblock" 383*912701f9SAndroid Build Coastguard Worker select="substring-after( 384*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'topblock=')], '" ', ''), 385*912701f9SAndroid Build Coastguard Worker 'topblock=')" 386*912701f9SAndroid Build Coastguard Worker/> 387*912701f9SAndroid Build Coastguard Worker 388*912701f9SAndroid Build Coastguard Worker<!-- use symbolic reference names instead of numeric ones if a processing instruction <?rfc?> 389*912701f9SAndroid Build Coastguard Worker exists with contents symrefs="yes". Can be overriden by an XSLT parameter --> 390*912701f9SAndroid Build Coastguard Worker 391*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-symrefs" 392*912701f9SAndroid Build Coastguard Worker select="substring-after( 393*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'symrefs=')], '" ', ''), 394*912701f9SAndroid Build Coastguard Worker 'symrefs=')" 395*912701f9SAndroid Build Coastguard Worker/> 396*912701f9SAndroid Build Coastguard Worker 397*912701f9SAndroid Build Coastguard Worker<!-- sort references if a processing instruction <?rfc?> 398*912701f9SAndroid Build Coastguard Worker exists with contents sortrefs="yes". Can be overriden by an XSLT parameter --> 399*912701f9SAndroid Build Coastguard Worker 400*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-sortrefs" 401*912701f9SAndroid Build Coastguard Worker select="substring-after( 402*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'sortrefs=')], '" ', ''), 403*912701f9SAndroid Build Coastguard Worker 'sortrefs=')" 404*912701f9SAndroid Build Coastguard Worker/> 405*912701f9SAndroid Build Coastguard Worker 406*912701f9SAndroid Build Coastguard Worker<!-- insert editing marks if a processing instruction <?rfc?> 407*912701f9SAndroid Build Coastguard Worker exists with contents editing="yes". Can be overriden by an XSLT parameter --> 408*912701f9SAndroid Build Coastguard Worker 409*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-editing" 410*912701f9SAndroid Build Coastguard Worker select="substring-after( 411*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'editing=')], '" ', ''), 412*912701f9SAndroid Build Coastguard Worker 'editing=')" 413*912701f9SAndroid Build Coastguard Worker/> 414*912701f9SAndroid Build Coastguard Worker 415*912701f9SAndroid Build Coastguard Worker<!-- make it a private paper --> 416*912701f9SAndroid Build Coastguard Worker 417*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-private" 418*912701f9SAndroid Build Coastguard Worker select="substring-after( 419*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'private=')], '"', ''), 420*912701f9SAndroid Build Coastguard Worker 'private=')" 421*912701f9SAndroid Build Coastguard Worker/> 422*912701f9SAndroid Build Coastguard Worker 423*912701f9SAndroid Build Coastguard Worker<!-- background image? --> 424*912701f9SAndroid Build Coastguard Worker 425*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-background" 426*912701f9SAndroid Build Coastguard Worker select="substring-after( 427*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'background=')], '"', ''), 428*912701f9SAndroid Build Coastguard Worker 'background=')" 429*912701f9SAndroid Build Coastguard Worker/> 430*912701f9SAndroid Build Coastguard Worker 431*912701f9SAndroid Build Coastguard Worker<!-- extension for XML parsing in artwork --> 432*912701f9SAndroid Build Coastguard Worker 433*912701f9SAndroid Build Coastguard Worker<xsl:param name="parse-xml-in-artwork" 434*912701f9SAndroid Build Coastguard Worker select="substring-after( 435*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc-ext')[contains(.,'parse-xml-in-artwork=')], '" ', ''), 436*912701f9SAndroid Build Coastguard Worker 'parse-xml-in-artwork=')" 437*912701f9SAndroid Build Coastguard Worker/> 438*912701f9SAndroid Build Coastguard Worker 439*912701f9SAndroid Build Coastguard Worker<!-- extension for exclusing DCMI properties in meta tag (RFC2731) --> 440*912701f9SAndroid Build Coastguard Worker 441*912701f9SAndroid Build Coastguard Worker<xsl:param name="xml2rfc-ext-support-rfc2731" 442*912701f9SAndroid Build Coastguard Worker select="substring-after( 443*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc-ext')[contains(.,'support-rfc2731=')], '" ', ''), 444*912701f9SAndroid Build Coastguard Worker 'support-rfc2731=')" 445*912701f9SAndroid Build Coastguard Worker/> 446*912701f9SAndroid Build Coastguard Worker 447*912701f9SAndroid Build Coastguard Worker<!-- choose whether or not to do mailto links --> 448*912701f9SAndroid Build Coastguard Worker 449*912701f9SAndroid Build Coastguard Worker <xsl:param name="xml2rfc-linkmailto" 450*912701f9SAndroid Build Coastguard Worker select="substring-after( 451*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'linkmailto=')], '"', ''), 452*912701f9SAndroid Build Coastguard Worker 'linkmailto=')" 453*912701f9SAndroid Build Coastguard Worker /> 454*912701f9SAndroid Build Coastguard Worker 455*912701f9SAndroid Build Coastguard Worker 456*912701f9SAndroid Build Coastguard Worker<!-- iprnotified switch --> 457*912701f9SAndroid Build Coastguard Worker 458*912701f9SAndroid Build Coastguard Worker <xsl:param name="xml2rfc-iprnotified" 459*912701f9SAndroid Build Coastguard Worker select="substring-after( 460*912701f9SAndroid Build Coastguard Worker translate(/processing-instruction('rfc')[contains(.,'iprnotified=')], '"', ''), 461*912701f9SAndroid Build Coastguard Worker 'iprnotified=')" 462*912701f9SAndroid Build Coastguard Worker /> 463*912701f9SAndroid Build Coastguard Worker 464*912701f9SAndroid Build Coastguard Worker 465*912701f9SAndroid Build Coastguard Worker<!-- URL prefix for RFCs. --> 466*912701f9SAndroid Build Coastguard Worker 467*912701f9SAndroid Build Coastguard Worker<xsl:param name="rfcUrlPrefix" select="'http://www.ietf.org/rfc/rfc'" /> 468*912701f9SAndroid Build Coastguard Worker 469*912701f9SAndroid Build Coastguard Worker<!-- warning re: absent node-set ext. function --> 470*912701f9SAndroid Build Coastguard Worker<xsl:variable name="node-set-warning"> 471*912701f9SAndroid Build Coastguard Worker This stylesheet requires either an XSLT-1.0 processor with node-set() 472*912701f9SAndroid Build Coastguard Worker extension function, or an XSLT-2.0 processor. Therefore, parts of the 473*912701f9SAndroid Build Coastguard Worker document couldn't be displayed. 474*912701f9SAndroid Build Coastguard Worker</xsl:variable> 475*912701f9SAndroid Build Coastguard Worker 476*912701f9SAndroid Build Coastguard Worker<!-- build help keys for indices --> 477*912701f9SAndroid Build Coastguard Worker<xsl:key name="index-first-letter" 478*912701f9SAndroid Build Coastguard Worker match="iref" 479*912701f9SAndroid Build Coastguard Worker use="translate(substring(@item,1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')" /> 480*912701f9SAndroid Build Coastguard Worker 481*912701f9SAndroid Build Coastguard Worker<xsl:key name="index-item" 482*912701f9SAndroid Build Coastguard Worker match="iref" 483*912701f9SAndroid Build Coastguard Worker use="@item" /> 484*912701f9SAndroid Build Coastguard Worker 485*912701f9SAndroid Build Coastguard Worker<xsl:key name="index-item-subitem" 486*912701f9SAndroid Build Coastguard Worker match="iref" 487*912701f9SAndroid Build Coastguard Worker use="concat(@item,'..',@subitem)" /> 488*912701f9SAndroid Build Coastguard Worker 489*912701f9SAndroid Build Coastguard Worker<!-- character translation tables --> 490*912701f9SAndroid Build Coastguard Worker<xsl:variable name="lcase" select="'abcdefghijklmnopqrstuvwxyz'" /> 491*912701f9SAndroid Build Coastguard Worker<xsl:variable name="ucase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> 492*912701f9SAndroid Build Coastguard Worker 493*912701f9SAndroid Build Coastguard Worker<xsl:variable name="plain" select="' #/ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> 494*912701f9SAndroid Build Coastguard Worker<xsl:variable name="touri" select="'___abcdefghijklmnopqrstuvwxyz'" /> 495*912701f9SAndroid Build Coastguard Worker 496*912701f9SAndroid Build Coastguard Worker<!-- prefix for automatically generated anchors --> 497*912701f9SAndroid Build Coastguard Worker<xsl:variable name="anchor-prefix" select="'rfc'" /> 498*912701f9SAndroid Build Coastguard Worker 499*912701f9SAndroid Build Coastguard Worker<!-- IPR version switch --> 500*912701f9SAndroid Build Coastguard Worker<xsl:variable name="ipr-rfc3667" select="(/rfc/@number > 3708) or not((/rfc/@ipr = 'full2026') or 501*912701f9SAndroid Build Coastguard Worker (/rfc/@ipr = 'noDerivativeWorks2026') or (/rfc/@ipr = 'noDerivativeWorksNow') or (/rfc/@ipr = 'none'))" /> 502*912701f9SAndroid Build Coastguard Worker 503*912701f9SAndroid Build Coastguard Worker 504*912701f9SAndroid Build Coastguard Worker<!-- Templates for the various elements of rfc2629.dtd --> 505*912701f9SAndroid Build Coastguard Worker 506*912701f9SAndroid Build Coastguard Worker<xsl:template match="abstract"> 507*912701f9SAndroid Build Coastguard Worker <h1><a name="{$anchor-prefix}.abstract"/>Abstract</h1> 508*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 509*912701f9SAndroid Build Coastguard Worker</xsl:template> 510*912701f9SAndroid Build Coastguard Worker 511*912701f9SAndroid Build Coastguard Worker<msxsl:script language="JScript" implements-prefix="myns"> 512*912701f9SAndroid Build Coastguard Worker function parseXml(str) { 513*912701f9SAndroid Build Coastguard Worker var doc = new ActiveXObject ("MSXML2.DOMDocument"); 514*912701f9SAndroid Build Coastguard Worker doc.async = false; 515*912701f9SAndroid Build Coastguard Worker if (doc.loadXML (str)) return ""; 516*912701f9SAndroid Build Coastguard Worker return doc.parseError.reason + "\n" + doc.parseError.srcText + " (" + doc.parseError.line + "/" + doc.parseError.linepos + ")"; 517*912701f9SAndroid Build Coastguard Worker } 518*912701f9SAndroid Build Coastguard Worker</msxsl:script> 519*912701f9SAndroid Build Coastguard Worker 520*912701f9SAndroid Build Coastguard Worker<xsl:template match="artwork"> 521*912701f9SAndroid Build Coastguard Worker <xsl:if test="not(ancestor::ed:del) and $parse-xml-in-artwork='yes' and function-available('myns:parseXml')"> 522*912701f9SAndroid Build Coastguard Worker <xsl:if test="contains(.,'<?xml')"> 523*912701f9SAndroid Build Coastguard Worker <xsl:variable name="body" select="substring-after(substring-after(.,'<?xml'),'?>')" /> 524*912701f9SAndroid Build Coastguard Worker <xsl:if test="$body!='' and myns:parseXml($body)!=''"> 525*912701f9SAndroid Build Coastguard Worker <table style="background-color: red; border-width: thin; border-style: solid; border-color: black;"> 526*912701f9SAndroid Build Coastguard Worker <tr><td> 527*912701f9SAndroid Build Coastguard Worker XML PARSE ERROR: 528*912701f9SAndroid Build Coastguard Worker <pre><xsl:value-of select="myns:parseXml($body)" /></pre> 529*912701f9SAndroid Build Coastguard Worker </td></tr></table> 530*912701f9SAndroid Build Coastguard Worker </xsl:if> 531*912701f9SAndroid Build Coastguard Worker </xsl:if> 532*912701f9SAndroid Build Coastguard Worker <xsl:if test="@ed:parse-xml-after"> 533*912701f9SAndroid Build Coastguard Worker <xsl:if test="myns:parseXml(string(.))!=''"> 534*912701f9SAndroid Build Coastguard Worker <table style="background-color: red; border-width: thin; border-style: solid; border-color: black;"> 535*912701f9SAndroid Build Coastguard Worker <tr><td> 536*912701f9SAndroid Build Coastguard Worker XML PARSE ERROR: 537*912701f9SAndroid Build Coastguard Worker <pre><xsl:value-of select="myns:parseXml(string(.))" /></pre> 538*912701f9SAndroid Build Coastguard Worker </td></tr></table> 539*912701f9SAndroid Build Coastguard Worker </xsl:if> 540*912701f9SAndroid Build Coastguard Worker </xsl:if> 541*912701f9SAndroid Build Coastguard Worker </xsl:if> 542*912701f9SAndroid Build Coastguard Worker <pre> 543*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertInsDelClass" /> 544*912701f9SAndroid Build Coastguard Worker <!--<xsl:value-of select="." />--><xsl:call-template name="showArtwork"> 545*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="mode" select="'html'" /> 546*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="text" select="." /> 547*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="initial" select="'yes'" /> 548*912701f9SAndroid Build Coastguard Worker </xsl:call-template></pre> 549*912701f9SAndroid Build Coastguard Worker</xsl:template> 550*912701f9SAndroid Build Coastguard Worker 551*912701f9SAndroid Build Coastguard Worker<xsl:template match="artwork[@src and starts-with(@type,'image/')]"> 552*912701f9SAndroid Build Coastguard Worker <img src="{@src}" alt="{.}"> 553*912701f9SAndroid Build Coastguard Worker <xsl:copy-of select="@width|@height"/> 554*912701f9SAndroid Build Coastguard Worker </img> 555*912701f9SAndroid Build Coastguard Worker</xsl:template> 556*912701f9SAndroid Build Coastguard Worker 557*912701f9SAndroid Build Coastguard Worker<xsl:template match="author"> 558*912701f9SAndroid Build Coastguard Worker <tr> 559*912701f9SAndroid Build Coastguard Worker <td> </td> 560*912701f9SAndroid Build Coastguard Worker <td> 561*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="@fullname" /> 562*912701f9SAndroid Build Coastguard Worker <xsl:if test="@role"> 563*912701f9SAndroid Build Coastguard Worker (<xsl:value-of select="@role" />) 564*912701f9SAndroid Build Coastguard Worker </xsl:if> 565*912701f9SAndroid Build Coastguard Worker </td> 566*912701f9SAndroid Build Coastguard Worker </tr> 567*912701f9SAndroid Build Coastguard Worker <tr> 568*912701f9SAndroid Build Coastguard Worker <td> </td> 569*912701f9SAndroid Build Coastguard Worker <td><xsl:value-of select="organization" /></td> 570*912701f9SAndroid Build Coastguard Worker </tr> 571*912701f9SAndroid Build Coastguard Worker <xsl:if test="address/postal/street!=''"> 572*912701f9SAndroid Build Coastguard Worker <tr> 573*912701f9SAndroid Build Coastguard Worker <td> </td> 574*912701f9SAndroid Build Coastguard Worker <td><xsl:for-each select="address/postal/street"><xsl:value-of select="." /><br /></xsl:for-each></td> 575*912701f9SAndroid Build Coastguard Worker </tr> 576*912701f9SAndroid Build Coastguard Worker </xsl:if> 577*912701f9SAndroid Build Coastguard Worker <xsl:if test="address/postal/city|address/postal/region|address/postal/code"> 578*912701f9SAndroid Build Coastguard Worker <tr> 579*912701f9SAndroid Build Coastguard Worker <td> </td> 580*912701f9SAndroid Build Coastguard Worker <td> 581*912701f9SAndroid Build Coastguard Worker <xsl:if test="address/postal/city"><xsl:value-of select="address/postal/city" />, </xsl:if> 582*912701f9SAndroid Build Coastguard Worker <xsl:if test="address/postal/region"><xsl:value-of select="address/postal/region" /> </xsl:if> 583*912701f9SAndroid Build Coastguard Worker <xsl:if test="address/postal/code"><xsl:value-of select="address/postal/code" /></xsl:if> 584*912701f9SAndroid Build Coastguard Worker </td> 585*912701f9SAndroid Build Coastguard Worker </tr> 586*912701f9SAndroid Build Coastguard Worker </xsl:if> 587*912701f9SAndroid Build Coastguard Worker <xsl:if test="address/postal/country"> 588*912701f9SAndroid Build Coastguard Worker <tr> 589*912701f9SAndroid Build Coastguard Worker <td> </td> 590*912701f9SAndroid Build Coastguard Worker <td><xsl:value-of select="address/postal/country" /></td> 591*912701f9SAndroid Build Coastguard Worker </tr> 592*912701f9SAndroid Build Coastguard Worker </xsl:if> 593*912701f9SAndroid Build Coastguard Worker <xsl:if test="address/phone"> 594*912701f9SAndroid Build Coastguard Worker <tr> 595*912701f9SAndroid Build Coastguard Worker <td class="right"><b>Phone: </b></td> 596*912701f9SAndroid Build Coastguard Worker <td><a href="tel:{translate(address/phone,' ','')}"><xsl:value-of select="address/phone" /></a></td> 597*912701f9SAndroid Build Coastguard Worker </tr> 598*912701f9SAndroid Build Coastguard Worker </xsl:if> 599*912701f9SAndroid Build Coastguard Worker <xsl:if test="address/facsimile"> 600*912701f9SAndroid Build Coastguard Worker <tr> 601*912701f9SAndroid Build Coastguard Worker <td class="right"><b>Fax: </b></td> 602*912701f9SAndroid Build Coastguard Worker <td><a href="fax:{translate(address/facsimile,' ','')}"><xsl:value-of select="address/facsimile" /></a></td> 603*912701f9SAndroid Build Coastguard Worker </tr> 604*912701f9SAndroid Build Coastguard Worker </xsl:if> 605*912701f9SAndroid Build Coastguard Worker <xsl:if test="address/email"> 606*912701f9SAndroid Build Coastguard Worker <tr> 607*912701f9SAndroid Build Coastguard Worker <td class="right"><b>EMail: </b></td> 608*912701f9SAndroid Build Coastguard Worker <td> 609*912701f9SAndroid Build Coastguard Worker <a> 610*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-linkmailto!='no'"> 611*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="href">mailto:<xsl:value-of select="address/email" /></xsl:attribute> 612*912701f9SAndroid Build Coastguard Worker </xsl:if> 613*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="address/email" /> 614*912701f9SAndroid Build Coastguard Worker </a> 615*912701f9SAndroid Build Coastguard Worker </td> 616*912701f9SAndroid Build Coastguard Worker </tr> 617*912701f9SAndroid Build Coastguard Worker </xsl:if> 618*912701f9SAndroid Build Coastguard Worker <xsl:if test="address/uri"> 619*912701f9SAndroid Build Coastguard Worker <tr> 620*912701f9SAndroid Build Coastguard Worker <td class="right"><b>URI: </b></td> 621*912701f9SAndroid Build Coastguard Worker <td><a href="{address/uri}"><xsl:value-of select="address/uri" /></a></td> 622*912701f9SAndroid Build Coastguard Worker </tr> 623*912701f9SAndroid Build Coastguard Worker </xsl:if> 624*912701f9SAndroid Build Coastguard Worker <tr> 625*912701f9SAndroid Build Coastguard Worker <td> </td> 626*912701f9SAndroid Build Coastguard Worker <td /> 627*912701f9SAndroid Build Coastguard Worker </tr> 628*912701f9SAndroid Build Coastguard Worker</xsl:template> 629*912701f9SAndroid Build Coastguard Worker 630*912701f9SAndroid Build Coastguard Worker<xsl:template match="back"> 631*912701f9SAndroid Build Coastguard Worker 632*912701f9SAndroid Build Coastguard Worker <!-- add references section first, no matter where it appears in the 633*912701f9SAndroid Build Coastguard Worker source document --> 634*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="references" /> 635*912701f9SAndroid Build Coastguard Worker 636*912701f9SAndroid Build Coastguard Worker <!-- next, add information about the document's authors --> 637*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertAuthors" /> 638*912701f9SAndroid Build Coastguard Worker 639*912701f9SAndroid Build Coastguard Worker <!-- add all other top-level sections under <back> --> 640*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="*[not(self::references)]" /> 641*912701f9SAndroid Build Coastguard Worker 642*912701f9SAndroid Build Coastguard Worker <xsl:if test="not($xml2rfc-private)"> 643*912701f9SAndroid Build Coastguard Worker <!-- copyright statements --> 644*912701f9SAndroid Build Coastguard Worker <xsl:variable name="copyright"><xsl:call-template name="insertCopyright" /></xsl:variable> 645*912701f9SAndroid Build Coastguard Worker 646*912701f9SAndroid Build Coastguard Worker <!-- emit it --> 647*912701f9SAndroid Build Coastguard Worker <xsl:choose> 648*912701f9SAndroid Build Coastguard Worker <xsl:when test="function-available('msxsl:node-set')"> 649*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="msxsl:node-set($copyright)" /> 650*912701f9SAndroid Build Coastguard Worker </xsl:when> 651*912701f9SAndroid Build Coastguard Worker <xsl:when test="function-available('exslt:node-set')"> 652*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="exslt:node-set($copyright)" /> 653*912701f9SAndroid Build Coastguard Worker </xsl:when> 654*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 655*912701f9SAndroid Build Coastguard Worker <xsl:message><xsl:value-of select="$node-set-warning"/></xsl:message> 656*912701f9SAndroid Build Coastguard Worker <p class="error"><xsl:value-of select="$node-set-warning"/></p> 657*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 658*912701f9SAndroid Build Coastguard Worker </xsl:choose> 659*912701f9SAndroid Build Coastguard Worker </xsl:if> 660*912701f9SAndroid Build Coastguard Worker 661*912701f9SAndroid Build Coastguard Worker <!-- insert the index if index entries exist --> 662*912701f9SAndroid Build Coastguard Worker <xsl:if test="//iref"> 663*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertIndex" /> 664*912701f9SAndroid Build Coastguard Worker </xsl:if> 665*912701f9SAndroid Build Coastguard Worker 666*912701f9SAndroid Build Coastguard Worker</xsl:template> 667*912701f9SAndroid Build Coastguard Worker 668*912701f9SAndroid Build Coastguard Worker<xsl:template match="eref[node()]"> 669*912701f9SAndroid Build Coastguard Worker <a href="{@target}"><xsl:apply-templates /></a> 670*912701f9SAndroid Build Coastguard Worker</xsl:template> 671*912701f9SAndroid Build Coastguard Worker 672*912701f9SAndroid Build Coastguard Worker<xsl:template match="eref[not(node())]"> 673*912701f9SAndroid Build Coastguard Worker <xsl:text><</xsl:text> 674*912701f9SAndroid Build Coastguard Worker <a href="{@target}"><xsl:value-of select="@target" /></a> 675*912701f9SAndroid Build Coastguard Worker <xsl:text>></xsl:text> 676*912701f9SAndroid Build Coastguard Worker</xsl:template> 677*912701f9SAndroid Build Coastguard Worker 678*912701f9SAndroid Build Coastguard Worker<xsl:template match="figure"> 679*912701f9SAndroid Build Coastguard Worker <xsl:if test="@anchor!=''"> 680*912701f9SAndroid Build Coastguard Worker <div><a name="{@anchor}" /></div> 681*912701f9SAndroid Build Coastguard Worker </xsl:if> 682*912701f9SAndroid Build Coastguard Worker <xsl:choose> 683*912701f9SAndroid Build Coastguard Worker <xsl:when test="@title!='' or @anchor!=''"> 684*912701f9SAndroid Build Coastguard Worker <xsl:variable name="n"><xsl:number level="any" count="figure[@title!='' or @anchor!='']" /></xsl:variable> 685*912701f9SAndroid Build Coastguard Worker <div><a name="{$anchor-prefix}.figure.{$n}" /></div> 686*912701f9SAndroid Build Coastguard Worker </xsl:when> 687*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 688*912701f9SAndroid Build Coastguard Worker <xsl:variable name="n"><xsl:number level="any" count="figure[not(@title!='' or @anchor!='')]" /></xsl:variable> 689*912701f9SAndroid Build Coastguard Worker <div><a name="{$anchor-prefix}.figure.u.{$n}" /></div> 690*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 691*912701f9SAndroid Build Coastguard Worker </xsl:choose> 692*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 693*912701f9SAndroid Build Coastguard Worker <xsl:if test="@title!='' or @anchor!=''"> 694*912701f9SAndroid Build Coastguard Worker <xsl:variable name="n"><xsl:number level="any" count="figure[@title!='' or @anchor!='']" /></xsl:variable> 695*912701f9SAndroid Build Coastguard Worker <p class="figure">Figure <xsl:value-of select="$n"/><xsl:if test="@title!=''">: <xsl:value-of select="@title" /></xsl:if></p> 696*912701f9SAndroid Build Coastguard Worker </xsl:if> 697*912701f9SAndroid Build Coastguard Worker</xsl:template> 698*912701f9SAndroid Build Coastguard Worker 699*912701f9SAndroid Build Coastguard Worker<xsl:template match="front"> 700*912701f9SAndroid Build Coastguard Worker 701*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-topblock!='no'"> 702*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLink"> 703*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="includeTitle" select="true()" /> 704*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 705*912701f9SAndroid Build Coastguard Worker 706*912701f9SAndroid Build Coastguard Worker <!-- collect information for left column --> 707*912701f9SAndroid Build Coastguard Worker 708*912701f9SAndroid Build Coastguard Worker <xsl:variable name="leftColumn"> 709*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="collectLeftHeaderColumn" /> 710*912701f9SAndroid Build Coastguard Worker </xsl:variable> 711*912701f9SAndroid Build Coastguard Worker 712*912701f9SAndroid Build Coastguard Worker <!-- collect information for right column --> 713*912701f9SAndroid Build Coastguard Worker 714*912701f9SAndroid Build Coastguard Worker <xsl:variable name="rightColumn"> 715*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="collectRightHeaderColumn" /> 716*912701f9SAndroid Build Coastguard Worker </xsl:variable> 717*912701f9SAndroid Build Coastguard Worker 718*912701f9SAndroid Build Coastguard Worker <!-- insert the collected information --> 719*912701f9SAndroid Build Coastguard Worker <table summary="header information" class="header" border="0" cellpadding="1" cellspacing="1"> 720*912701f9SAndroid Build Coastguard Worker <xsl:choose> 721*912701f9SAndroid Build Coastguard Worker <xsl:when test="function-available('msxsl:node-set')"> 722*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="emitheader"> 723*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="lc" select="msxsl:node-set($leftColumn)" /> 724*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="rc" select="msxsl:node-set($rightColumn)" /> 725*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 726*912701f9SAndroid Build Coastguard Worker </xsl:when> 727*912701f9SAndroid Build Coastguard Worker <xsl:when test="function-available('exslt:node-set')"> 728*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="emitheader"> 729*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="lc" select="exslt:node-set($leftColumn)" /> 730*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="rc" select="exslt:node-set($rightColumn)" /> 731*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 732*912701f9SAndroid Build Coastguard Worker </xsl:when> 733*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 734*912701f9SAndroid Build Coastguard Worker <xsl:message><xsl:value-of select="$node-set-warning"/></xsl:message> 735*912701f9SAndroid Build Coastguard Worker <p class="error"><xsl:value-of select="$node-set-warning"/></p> 736*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 737*912701f9SAndroid Build Coastguard Worker </xsl:choose> 738*912701f9SAndroid Build Coastguard Worker </table> 739*912701f9SAndroid Build Coastguard Worker </xsl:if> 740*912701f9SAndroid Build Coastguard Worker 741*912701f9SAndroid Build Coastguard Worker <p class="title"> 742*912701f9SAndroid Build Coastguard Worker <!-- main title --> 743*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="title"/> 744*912701f9SAndroid Build Coastguard Worker <xsl:if test="/rfc/@docName"> 745*912701f9SAndroid Build Coastguard Worker <br/> 746*912701f9SAndroid Build Coastguard Worker <span class="filename"><xsl:value-of select="/rfc/@docName"/></span> 747*912701f9SAndroid Build Coastguard Worker </xsl:if> 748*912701f9SAndroid Build Coastguard Worker </p> 749*912701f9SAndroid Build Coastguard Worker 750*912701f9SAndroid Build Coastguard Worker <xsl:if test="not($xml2rfc-private)"> 751*912701f9SAndroid Build Coastguard Worker <!-- Get status info formatted as per RFC2629--> 752*912701f9SAndroid Build Coastguard Worker <xsl:variable name="preamble"><xsl:call-template name="insertPreamble" /></xsl:variable> 753*912701f9SAndroid Build Coastguard Worker 754*912701f9SAndroid Build Coastguard Worker <!-- emit it --> 755*912701f9SAndroid Build Coastguard Worker <xsl:choose> 756*912701f9SAndroid Build Coastguard Worker <xsl:when test="function-available('msxsl:node-set')"> 757*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="msxsl:node-set($preamble)" /> 758*912701f9SAndroid Build Coastguard Worker </xsl:when> 759*912701f9SAndroid Build Coastguard Worker <xsl:when test="function-available('exslt:node-set')"> 760*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="exslt:node-set($preamble)" /> 761*912701f9SAndroid Build Coastguard Worker </xsl:when> 762*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 763*912701f9SAndroid Build Coastguard Worker <xsl:message><xsl:value-of select="$node-set-warning"/></xsl:message> 764*912701f9SAndroid Build Coastguard Worker <p class="error"><xsl:value-of select="$node-set-warning"/></p> 765*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 766*912701f9SAndroid Build Coastguard Worker </xsl:choose> 767*912701f9SAndroid Build Coastguard Worker </xsl:if> 768*912701f9SAndroid Build Coastguard Worker 769*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="abstract" /> 770*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="note" /> 771*912701f9SAndroid Build Coastguard Worker <!-- show notes inside change tracking as well --> 772*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="ed:replace[.//note]" /> 773*912701f9SAndroid Build Coastguard Worker 774*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-toc='yes'"> 775*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="/" mode="toc" /> 776*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocAppendix" /> 777*912701f9SAndroid Build Coastguard Worker </xsl:if> 778*912701f9SAndroid Build Coastguard Worker 779*912701f9SAndroid Build Coastguard Worker</xsl:template> 780*912701f9SAndroid Build Coastguard Worker 781*912701f9SAndroid Build Coastguard Worker 782*912701f9SAndroid Build Coastguard Worker<xsl:template match="iref"> 783*912701f9SAndroid Build Coastguard Worker <a><xsl:attribute name="name"><xsl:value-of select="$anchor-prefix"/>.iref.<xsl:number level="any"/></xsl:attribute></a> 784*912701f9SAndroid Build Coastguard Worker</xsl:template> 785*912701f9SAndroid Build Coastguard Worker 786*912701f9SAndroid Build Coastguard Worker<!-- list templates depend on the list style --> 787*912701f9SAndroid Build Coastguard Worker 788*912701f9SAndroid Build Coastguard Worker<xsl:template match="list[@style='empty' or not(@style)]"> 789*912701f9SAndroid Build Coastguard Worker <dl> 790*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertInsDelClass"/> 791*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 792*912701f9SAndroid Build Coastguard Worker </dl> 793*912701f9SAndroid Build Coastguard Worker</xsl:template> 794*912701f9SAndroid Build Coastguard Worker 795*912701f9SAndroid Build Coastguard Worker<xsl:template match="list[starts-with(@style,'format ')]"> 796*912701f9SAndroid Build Coastguard Worker <dl> 797*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertInsDelClass"/> 798*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 799*912701f9SAndroid Build Coastguard Worker </dl> 800*912701f9SAndroid Build Coastguard Worker</xsl:template> 801*912701f9SAndroid Build Coastguard Worker 802*912701f9SAndroid Build Coastguard Worker<xsl:template match="list[@style='hanging']"> 803*912701f9SAndroid Build Coastguard Worker <dl> 804*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertInsDelClass"/> 805*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 806*912701f9SAndroid Build Coastguard Worker </dl> 807*912701f9SAndroid Build Coastguard Worker</xsl:template> 808*912701f9SAndroid Build Coastguard Worker 809*912701f9SAndroid Build Coastguard Worker<xsl:template match="list[@style='numbers']"> 810*912701f9SAndroid Build Coastguard Worker <ol> 811*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertInsDelClass"/> 812*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 813*912701f9SAndroid Build Coastguard Worker </ol> 814*912701f9SAndroid Build Coastguard Worker</xsl:template> 815*912701f9SAndroid Build Coastguard Worker 816*912701f9SAndroid Build Coastguard Worker<!-- numbered list inside numbered list --> 817*912701f9SAndroid Build Coastguard Worker<xsl:template match="list[@style='numbers']/t/list[@style='numbers']" priority="9"> 818*912701f9SAndroid Build Coastguard Worker <ol style="list-style-type: lower-alpha"> 819*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertInsDelClass"/> 820*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 821*912701f9SAndroid Build Coastguard Worker </ol> 822*912701f9SAndroid Build Coastguard Worker</xsl:template> 823*912701f9SAndroid Build Coastguard Worker 824*912701f9SAndroid Build Coastguard Worker<xsl:template match="list[@style='symbols']"> 825*912701f9SAndroid Build Coastguard Worker <ul> 826*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertInsDelClass"/> 827*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 828*912701f9SAndroid Build Coastguard Worker </ul> 829*912701f9SAndroid Build Coastguard Worker</xsl:template> 830*912701f9SAndroid Build Coastguard Worker 831*912701f9SAndroid Build Coastguard Worker<!-- same for t(ext) elements --> 832*912701f9SAndroid Build Coastguard Worker 833*912701f9SAndroid Build Coastguard Worker<xsl:template match="list[@style='empty' or not(@style)]/t"> 834*912701f9SAndroid Build Coastguard Worker <dd style="margin-top: .5em"> 835*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 836*912701f9SAndroid Build Coastguard Worker </dd> 837*912701f9SAndroid Build Coastguard Worker</xsl:template> 838*912701f9SAndroid Build Coastguard Worker 839*912701f9SAndroid Build Coastguard Worker<xsl:template match="list[@style='numbers' or @style='symbols']/t"> 840*912701f9SAndroid Build Coastguard Worker <li> 841*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 842*912701f9SAndroid Build Coastguard Worker </li> 843*912701f9SAndroid Build Coastguard Worker</xsl:template> 844*912701f9SAndroid Build Coastguard Worker 845*912701f9SAndroid Build Coastguard Worker<xsl:template match="list[@style='hanging']/t"> 846*912701f9SAndroid Build Coastguard Worker <dt style="margin-top: .5em"> 847*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="@hangText" /> 848*912701f9SAndroid Build Coastguard Worker </dt> 849*912701f9SAndroid Build Coastguard Worker <dd> 850*912701f9SAndroid Build Coastguard Worker <!-- if hangIndent present, use 0.7 of the specified value (1em is the width of the "m" character --> 851*912701f9SAndroid Build Coastguard Worker <xsl:if test="../@hangIndent and ../@hangIndent!='0'"> 852*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="style">margin-left: <xsl:value-of select="../@hangIndent * 0.7"/>em</xsl:attribute> 853*912701f9SAndroid Build Coastguard Worker </xsl:if> 854*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 855*912701f9SAndroid Build Coastguard Worker </dd> 856*912701f9SAndroid Build Coastguard Worker</xsl:template> 857*912701f9SAndroid Build Coastguard Worker 858*912701f9SAndroid Build Coastguard Worker<xsl:template match="list[starts-with(@style,'format ') and (contains(@style,'%c') or contains(@style,'%d'))]/t"> 859*912701f9SAndroid Build Coastguard Worker <xsl:variable name="list" select=".." /> 860*912701f9SAndroid Build Coastguard Worker <xsl:variable name="format" select="substring-after(../@style,'format ')" /> 861*912701f9SAndroid Build Coastguard Worker <xsl:variable name="pos"> 862*912701f9SAndroid Build Coastguard Worker <xsl:choose> 863*912701f9SAndroid Build Coastguard Worker <xsl:when test="$list/@counter"> 864*912701f9SAndroid Build Coastguard Worker <xsl:number level="any" count="list[@counter=$list/@counter or (not(@counter) and @style=concat('format ',$list/@counter))]/t" /> 865*912701f9SAndroid Build Coastguard Worker </xsl:when> 866*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 867*912701f9SAndroid Build Coastguard Worker <xsl:number level="any" count="list[concat('format ',@counter)=$list/@style or (not(@counter) and @style=$list/@style)]/t" /> 868*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 869*912701f9SAndroid Build Coastguard Worker </xsl:choose> 870*912701f9SAndroid Build Coastguard Worker </xsl:variable> 871*912701f9SAndroid Build Coastguard Worker <dt> 872*912701f9SAndroid Build Coastguard Worker <xsl:choose> 873*912701f9SAndroid Build Coastguard Worker <xsl:when test="contains($format,'%c')"> 874*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="substring-before($format,'%c')"/><xsl:number value="$pos" format="a" /><xsl:value-of select="substring-after($format,'%c')"/> 875*912701f9SAndroid Build Coastguard Worker </xsl:when> 876*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 877*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="substring-before($format,'%d')"/><xsl:number value="$pos" format="1" /><xsl:value-of select="substring-after($format,'%d')"/> 878*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 879*912701f9SAndroid Build Coastguard Worker </xsl:choose> 880*912701f9SAndroid Build Coastguard Worker </dt> 881*912701f9SAndroid Build Coastguard Worker <dd> 882*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 883*912701f9SAndroid Build Coastguard Worker </dd> 884*912701f9SAndroid Build Coastguard Worker</xsl:template> 885*912701f9SAndroid Build Coastguard Worker 886*912701f9SAndroid Build Coastguard Worker<xsl:template match="middle"> 887*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 888*912701f9SAndroid Build Coastguard Worker</xsl:template> 889*912701f9SAndroid Build Coastguard Worker 890*912701f9SAndroid Build Coastguard Worker<xsl:template match="note"> 891*912701f9SAndroid Build Coastguard Worker <xsl:variable name="num"><xsl:number/></xsl:variable> 892*912701f9SAndroid Build Coastguard Worker <h1><a name="{$anchor-prefix}.note.{$num}"/><xsl:value-of select="@title" /></h1> 893*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 894*912701f9SAndroid Build Coastguard Worker</xsl:template> 895*912701f9SAndroid Build Coastguard Worker 896*912701f9SAndroid Build Coastguard Worker<xsl:template match="postamble"> 897*912701f9SAndroid Build Coastguard Worker <p> 898*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="editingMark" /> 899*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 900*912701f9SAndroid Build Coastguard Worker </p> 901*912701f9SAndroid Build Coastguard Worker</xsl:template> 902*912701f9SAndroid Build Coastguard Worker 903*912701f9SAndroid Build Coastguard Worker<xsl:template match="preamble"> 904*912701f9SAndroid Build Coastguard Worker <p> 905*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="editingMark" /> 906*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 907*912701f9SAndroid Build Coastguard Worker </p> 908*912701f9SAndroid Build Coastguard Worker</xsl:template> 909*912701f9SAndroid Build Coastguard Worker 910*912701f9SAndroid Build Coastguard Worker 911*912701f9SAndroid Build Coastguard Worker<xsl:template match="reference"> 912*912701f9SAndroid Build Coastguard Worker 913*912701f9SAndroid Build Coastguard Worker <xsl:variable name="target"> 914*912701f9SAndroid Build Coastguard Worker <xsl:choose> 915*912701f9SAndroid Build Coastguard Worker <xsl:when test="@target"><xsl:value-of select="@target" /></xsl:when> 916*912701f9SAndroid Build Coastguard Worker <xsl:when test="seriesInfo/@name='RFC'"><xsl:value-of select="concat($rfcUrlPrefix,seriesInfo[@name='RFC']/@value,'.txt')" /></xsl:when> 917*912701f9SAndroid Build Coastguard Worker <xsl:when test="seriesInfo[starts-with(.,'RFC')]"> 918*912701f9SAndroid Build Coastguard Worker <xsl:variable name="rfcRef" select="seriesInfo[starts-with(.,'RFC')]" /> 919*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat($rfcUrlPrefix,substring-after (normalize-space($rfcRef), ' '),'.txt')" /> 920*912701f9SAndroid Build Coastguard Worker </xsl:when> 921*912701f9SAndroid Build Coastguard Worker <xsl:otherwise /> 922*912701f9SAndroid Build Coastguard Worker </xsl:choose> 923*912701f9SAndroid Build Coastguard Worker </xsl:variable> 924*912701f9SAndroid Build Coastguard Worker 925*912701f9SAndroid Build Coastguard Worker <tr> 926*912701f9SAndroid Build Coastguard Worker <td class="topnowrap"> 927*912701f9SAndroid Build Coastguard Worker <b> 928*912701f9SAndroid Build Coastguard Worker <a name="{@anchor}"> 929*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="referencename"> 930*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="node" select="." /> 931*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 932*912701f9SAndroid Build Coastguard Worker </a> 933*912701f9SAndroid Build Coastguard Worker </b> 934*912701f9SAndroid Build Coastguard Worker </td> 935*912701f9SAndroid Build Coastguard Worker 936*912701f9SAndroid Build Coastguard Worker <td class="top"> 937*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="front/author"> 938*912701f9SAndroid Build Coastguard Worker <xsl:choose> 939*912701f9SAndroid Build Coastguard Worker <xsl:when test="@surname and @surname!=''"> 940*912701f9SAndroid Build Coastguard Worker <xsl:variable name="displayname"> 941*912701f9SAndroid Build Coastguard Worker <!-- surname/initials is reversed for last author except when it's the only one --> 942*912701f9SAndroid Build Coastguard Worker <xsl:choose> 943*912701f9SAndroid Build Coastguard Worker <xsl:when test="position()=last() and position()!=1"> 944*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat(@initials,' ',@surname)" /> 945*912701f9SAndroid Build Coastguard Worker </xsl:when> 946*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 947*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat(@surname,', ',@initials)" /> 948*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 949*912701f9SAndroid Build Coastguard Worker </xsl:choose> 950*912701f9SAndroid Build Coastguard Worker <xsl:if test="@role='editor'"> 951*912701f9SAndroid Build Coastguard Worker <xsl:text>, Ed.</xsl:text> 952*912701f9SAndroid Build Coastguard Worker </xsl:if> 953*912701f9SAndroid Build Coastguard Worker </xsl:variable> 954*912701f9SAndroid Build Coastguard Worker <xsl:choose> 955*912701f9SAndroid Build Coastguard Worker <xsl:when test="address/email"> 956*912701f9SAndroid Build Coastguard Worker <a> 957*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-linkmailto!='no'"> 958*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="href">mailto:<xsl:value-of select="address/email" /></xsl:attribute> 959*912701f9SAndroid Build Coastguard Worker </xsl:if> 960*912701f9SAndroid Build Coastguard Worker <xsl:if test="organization/text()"> 961*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="title"><xsl:value-of select="organization/text()"/></xsl:attribute> 962*912701f9SAndroid Build Coastguard Worker </xsl:if> 963*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="$displayname" /> 964*912701f9SAndroid Build Coastguard Worker </a> 965*912701f9SAndroid Build Coastguard Worker </xsl:when> 966*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 967*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="$displayname" /> 968*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 969*912701f9SAndroid Build Coastguard Worker </xsl:choose> 970*912701f9SAndroid Build Coastguard Worker 971*912701f9SAndroid Build Coastguard Worker <xsl:if test="position()!=last() - 1">, </xsl:if> 972*912701f9SAndroid Build Coastguard Worker <xsl:if test="position()=last() - 1"> and </xsl:if> 973*912701f9SAndroid Build Coastguard Worker </xsl:when> 974*912701f9SAndroid Build Coastguard Worker <xsl:when test="organization/text()"> 975*912701f9SAndroid Build Coastguard Worker <xsl:choose> 976*912701f9SAndroid Build Coastguard Worker <xsl:when test="address/uri"> 977*912701f9SAndroid Build Coastguard Worker <a href="{address/uri}"><xsl:value-of select="organization" /></a> 978*912701f9SAndroid Build Coastguard Worker </xsl:when> 979*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 980*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="organization" /> 981*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 982*912701f9SAndroid Build Coastguard Worker </xsl:choose> 983*912701f9SAndroid Build Coastguard Worker <xsl:if test="position()!=last() - 1">, </xsl:if> 984*912701f9SAndroid Build Coastguard Worker <xsl:if test="position()=last() - 1"> and </xsl:if> 985*912701f9SAndroid Build Coastguard Worker </xsl:when> 986*912701f9SAndroid Build Coastguard Worker <xsl:otherwise /> 987*912701f9SAndroid Build Coastguard Worker </xsl:choose> 988*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 989*912701f9SAndroid Build Coastguard Worker 990*912701f9SAndroid Build Coastguard Worker <xsl:choose> 991*912701f9SAndroid Build Coastguard Worker <xsl:when test="string-length($target) > 0"> 992*912701f9SAndroid Build Coastguard Worker <xsl:text>"</xsl:text><a href="{$target}"><xsl:value-of select="front/title" /></a><xsl:text>"</xsl:text> 993*912701f9SAndroid Build Coastguard Worker </xsl:when> 994*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 995*912701f9SAndroid Build Coastguard Worker <xsl:text>"</xsl:text><xsl:value-of select="front/title" /><xsl:text>"</xsl:text> 996*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 997*912701f9SAndroid Build Coastguard Worker </xsl:choose> 998*912701f9SAndroid Build Coastguard Worker 999*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="seriesInfo"> 1000*912701f9SAndroid Build Coastguard Worker <xsl:text>, </xsl:text> 1001*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1002*912701f9SAndroid Build Coastguard Worker <xsl:when test="not(@name) and not(@value) and ./text()"><xsl:value-of select="." /></xsl:when> 1003*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:value-of select="@name" /><xsl:if test="@value!=''"> <xsl:value-of select="@value" /></xsl:if></xsl:otherwise> 1004*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1005*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1006*912701f9SAndroid Build Coastguard Worker 1007*912701f9SAndroid Build Coastguard Worker <xsl:if test="front/date/@year != '' and front/date/@year != '???'"> 1008*912701f9SAndroid Build Coastguard Worker <xsl:text>, </xsl:text> 1009*912701f9SAndroid Build Coastguard Worker <xsl:if test="front/date/@month and front/date/@month!='???'"><xsl:value-of select="front/date/@month" /> </xsl:if> 1010*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="front/date/@year" /> 1011*912701f9SAndroid Build Coastguard Worker </xsl:if> 1012*912701f9SAndroid Build Coastguard Worker 1013*912701f9SAndroid Build Coastguard Worker <xsl:text>.</xsl:text> 1014*912701f9SAndroid Build Coastguard Worker 1015*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="annotation"> 1016*912701f9SAndroid Build Coastguard Worker <br /> 1017*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 1018*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1019*912701f9SAndroid Build Coastguard Worker 1020*912701f9SAndroid Build Coastguard Worker </td> 1021*912701f9SAndroid Build Coastguard Worker </tr> 1022*912701f9SAndroid Build Coastguard Worker 1023*912701f9SAndroid Build Coastguard Worker 1024*912701f9SAndroid Build Coastguard Worker</xsl:template> 1025*912701f9SAndroid Build Coastguard Worker 1026*912701f9SAndroid Build Coastguard Worker 1027*912701f9SAndroid Build Coastguard Worker<xsl:template match="references"> 1028*912701f9SAndroid Build Coastguard Worker 1029*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLink"> 1030*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="rule" select="true()" /> 1031*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 1032*912701f9SAndroid Build Coastguard Worker 1033*912701f9SAndroid Build Coastguard Worker <xsl:variable name="name"> 1034*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1035*912701f9SAndroid Build Coastguard Worker <xsl:when test="not(preceding::references)" /> 1036*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 1037*912701f9SAndroid Build Coastguard Worker <xsl:text>.</xsl:text><xsl:number/> 1038*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 1039*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1040*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1041*912701f9SAndroid Build Coastguard Worker 1042*912701f9SAndroid Build Coastguard Worker <h1> 1043*912701f9SAndroid Build Coastguard Worker <!-- force page break before first reference section --> 1044*912701f9SAndroid Build Coastguard Worker <xsl:if test="$name=''"> 1045*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insert-conditional-pagebreak"/> 1046*912701f9SAndroid Build Coastguard Worker </xsl:if> 1047*912701f9SAndroid Build Coastguard Worker 1048*912701f9SAndroid Build Coastguard Worker <a name="{$anchor-prefix}.references{$name}"> 1049*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1050*912701f9SAndroid Build Coastguard Worker <xsl:when test="not(@title) or @title=''">References</xsl:when> 1051*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:value-of select="@title"/></xsl:otherwise> 1052*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1053*912701f9SAndroid Build Coastguard Worker </a> 1054*912701f9SAndroid Build Coastguard Worker </h1> 1055*912701f9SAndroid Build Coastguard Worker 1056*912701f9SAndroid Build Coastguard Worker <table summary="{@title}" border="0" cellpadding="2"> 1057*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1058*912701f9SAndroid Build Coastguard Worker <xsl:when test="$xml2rfc-sortrefs='yes'"> 1059*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates> 1060*912701f9SAndroid Build Coastguard Worker <xsl:sort select="@anchor" /> 1061*912701f9SAndroid Build Coastguard Worker </xsl:apply-templates> 1062*912701f9SAndroid Build Coastguard Worker </xsl:when> 1063*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 1064*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 1065*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 1066*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1067*912701f9SAndroid Build Coastguard Worker </table> 1068*912701f9SAndroid Build Coastguard Worker 1069*912701f9SAndroid Build Coastguard Worker</xsl:template> 1070*912701f9SAndroid Build Coastguard Worker 1071*912701f9SAndroid Build Coastguard Worker<xsl:template match="rfc"> 1072*912701f9SAndroid Build Coastguard Worker 1073*912701f9SAndroid Build Coastguard Worker <xsl:variable name="lang"> 1074*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="get-lang" /> 1075*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1076*912701f9SAndroid Build Coastguard Worker 1077*912701f9SAndroid Build Coastguard Worker <html lang="{$lang}"> 1078*912701f9SAndroid Build Coastguard Worker <head> 1079*912701f9SAndroid Build Coastguard Worker <title><xsl:value-of select="front/title" /></title> 1080*912701f9SAndroid Build Coastguard Worker <style type="text/css" title="Xml2Rfc (sans serif)"> 1081*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertCss" /> 1082*912701f9SAndroid Build Coastguard Worker </style> 1083*912701f9SAndroid Build Coastguard Worker <!-- <link rel="alternate stylesheet" type="text/css" media="screen" title="Plain (typewriter)" href="rfc2629tty.css" /> --> 1084*912701f9SAndroid Build Coastguard Worker 1085*912701f9SAndroid Build Coastguard Worker <!-- link elements --> 1086*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-toc='yes'"> 1087*912701f9SAndroid Build Coastguard Worker <link rel="Contents" href="#{$anchor-prefix}.toc" /> 1088*912701f9SAndroid Build Coastguard Worker </xsl:if> 1089*912701f9SAndroid Build Coastguard Worker <link rel="Author" href="#{$anchor-prefix}.authors" /> 1090*912701f9SAndroid Build Coastguard Worker <xsl:if test="not($xml2rfc-private)"> 1091*912701f9SAndroid Build Coastguard Worker <link rel="Copyright" href="#{$anchor-prefix}.copyright" /> 1092*912701f9SAndroid Build Coastguard Worker </xsl:if> 1093*912701f9SAndroid Build Coastguard Worker <xsl:if test="//iref"> 1094*912701f9SAndroid Build Coastguard Worker <link rel="Index" href="#{$anchor-prefix}.index" /> 1095*912701f9SAndroid Build Coastguard Worker </xsl:if> 1096*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="/" mode="links" /> 1097*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="/rfc/ed:link"> 1098*912701f9SAndroid Build Coastguard Worker <link><xsl:copy-of select="@*" /></link> 1099*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1100*912701f9SAndroid Build Coastguard Worker <xsl:if test="/rfc/@number"> 1101*912701f9SAndroid Build Coastguard Worker <link rel="Alternate" title="Authorative ASCII version" href="http://www.ietf.org/rfc/rfc{/rfc/@number}" /> 1102*912701f9SAndroid Build Coastguard Worker </xsl:if> 1103*912701f9SAndroid Build Coastguard Worker 1104*912701f9SAndroid Build Coastguard Worker <!-- generator --> 1105*912701f9SAndroid Build Coastguard Worker <xsl:variable name="gen"> 1106*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="get-generator" /> 1107*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1108*912701f9SAndroid Build Coastguard Worker <meta name="generator" content="{$gen}" /> 1109*912701f9SAndroid Build Coastguard Worker 1110*912701f9SAndroid Build Coastguard Worker <!-- keywords --> 1111*912701f9SAndroid Build Coastguard Worker <xsl:if test="front/keyword"> 1112*912701f9SAndroid Build Coastguard Worker <xsl:variable name="keyw"> 1113*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="get-keywords" /> 1114*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1115*912701f9SAndroid Build Coastguard Worker <meta name="keywords" content="{$keyw}" /> 1116*912701f9SAndroid Build Coastguard Worker </xsl:if> 1117*912701f9SAndroid Build Coastguard Worker 1118*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-ext-support-rfc2731!='no'"> 1119*912701f9SAndroid Build Coastguard Worker <!-- Dublin Core Metadata --> 1120*912701f9SAndroid Build Coastguard Worker <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" /> 1121*912701f9SAndroid Build Coastguard Worker 1122*912701f9SAndroid Build Coastguard Worker <!-- DC creator, see RFC2731 --> 1123*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="/rfc/front/author"> 1124*912701f9SAndroid Build Coastguard Worker <meta name="DC.Creator" content="{concat(@surname,', ',@initials)}" /> 1125*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1126*912701f9SAndroid Build Coastguard Worker 1127*912701f9SAndroid Build Coastguard Worker <xsl:if test="not($xml2rfc-private)"> 1128*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1129*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@number"> 1130*912701f9SAndroid Build Coastguard Worker <meta name="DC.Identifier" content="urn:ietf:rfc:{/rfc/@number}" /> 1131*912701f9SAndroid Build Coastguard Worker </xsl:when> 1132*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@docName"> 1133*912701f9SAndroid Build Coastguard Worker <meta name="DC.Identifier" content="urn:ietf:id:{/rfc/@docName}" /> 1134*912701f9SAndroid Build Coastguard Worker </xsl:when> 1135*912701f9SAndroid Build Coastguard Worker <xsl:otherwise/> 1136*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1137*912701f9SAndroid Build Coastguard Worker <xsl:variable name="month"><xsl:call-template name="get-month-as-num"/></xsl:variable> 1138*912701f9SAndroid Build Coastguard Worker <meta name="DC.Date.Issued" scheme="ISO8601" content="{/rfc/front/date/@year}-{$month}" /> 1139*912701f9SAndroid Build Coastguard Worker 1140*912701f9SAndroid Build Coastguard Worker <xsl:if test="/rfc/@obsoletes!=''"> 1141*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="rfclist-for-dcmeta"> 1142*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="list" select="/rfc/@obsoletes"/> 1143*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 1144*912701f9SAndroid Build Coastguard Worker </xsl:if> 1145*912701f9SAndroid Build Coastguard Worker </xsl:if> 1146*912701f9SAndroid Build Coastguard Worker 1147*912701f9SAndroid Build Coastguard Worker <xsl:if test="/rfc/front/abstract"> 1148*912701f9SAndroid Build Coastguard Worker <meta name="DC.Description.Abstract" content="{normalize-space(/rfc/front/abstract)}" /> 1149*912701f9SAndroid Build Coastguard Worker </xsl:if> 1150*912701f9SAndroid Build Coastguard Worker </xsl:if> 1151*912701f9SAndroid Build Coastguard Worker </head> 1152*912701f9SAndroid Build Coastguard Worker <body> 1153*912701f9SAndroid Build Coastguard Worker <!-- insert diagnostics --> 1154*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insert-diagnostics"/> 1155*912701f9SAndroid Build Coastguard Worker 1156*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="front" /> 1157*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="middle" /> 1158*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="back" /> 1159*912701f9SAndroid Build Coastguard Worker </body> 1160*912701f9SAndroid Build Coastguard Worker </html> 1161*912701f9SAndroid Build Coastguard Worker</xsl:template> 1162*912701f9SAndroid Build Coastguard Worker 1163*912701f9SAndroid Build Coastguard Worker 1164*912701f9SAndroid Build Coastguard Worker<xsl:template match="t"> 1165*912701f9SAndroid Build Coastguard Worker <xsl:variable name="paraNumber"> 1166*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="sectionnumberPara" /> 1167*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1168*912701f9SAndroid Build Coastguard Worker 1169*912701f9SAndroid Build Coastguard Worker <xsl:if test="string-length($paraNumber) > 0"> 1170*912701f9SAndroid Build Coastguard Worker <div><a name="{$anchor-prefix}.section.{$paraNumber}" /></div> 1171*912701f9SAndroid Build Coastguard Worker </xsl:if> 1172*912701f9SAndroid Build Coastguard Worker 1173*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates mode="t-content" select="node()[1]" /> 1174*912701f9SAndroid Build Coastguard Worker</xsl:template> 1175*912701f9SAndroid Build Coastguard Worker 1176*912701f9SAndroid Build Coastguard Worker 1177*912701f9SAndroid Build Coastguard Worker 1178*912701f9SAndroid Build Coastguard Worker<!-- for t-content, dispatch to default templates if it's block-level content --> 1179*912701f9SAndroid Build Coastguard Worker<xsl:template mode="t-content" match="list|figure|texttable"> 1180*912701f9SAndroid Build Coastguard Worker <!-- <xsl:comment>t-content block-level</xsl:comment> --> 1181*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="." /> 1182*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="following-sibling::node()[1]" mode="t-content" /> 1183*912701f9SAndroid Build Coastguard Worker</xsl:template> 1184*912701f9SAndroid Build Coastguard Worker 1185*912701f9SAndroid Build Coastguard Worker<!-- ... otherwise group into p elements --> 1186*912701f9SAndroid Build Coastguard Worker<xsl:template mode="t-content" match="*|node()"> 1187*912701f9SAndroid Build Coastguard Worker <p> 1188*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertInsDelClass"/> 1189*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="editingMark" /> 1190*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates mode="t-content2" select="." /> 1191*912701f9SAndroid Build Coastguard Worker </p> 1192*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates mode="t-content" select="following-sibling::*[self::list or self::figure or self::texttable][1]" /> 1193*912701f9SAndroid Build Coastguard Worker</xsl:template> 1194*912701f9SAndroid Build Coastguard Worker 1195*912701f9SAndroid Build Coastguard Worker<xsl:template mode="t-content2" match="*|node()"> 1196*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="." /> 1197*912701f9SAndroid Build Coastguard Worker <xsl:if test="not(following-sibling::node()[1] [self::list or self::figure or self::texttable])"> 1198*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="following-sibling::node()[1]" mode="t-content2" /> 1199*912701f9SAndroid Build Coastguard Worker </xsl:if> 1200*912701f9SAndroid Build Coastguard Worker</xsl:template> 1201*912701f9SAndroid Build Coastguard Worker 1202*912701f9SAndroid Build Coastguard Worker<xsl:template match="section|appendix"> 1203*912701f9SAndroid Build Coastguard Worker 1204*912701f9SAndroid Build Coastguard Worker <xsl:variable name="sectionNumber"> 1205*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1206*912701f9SAndroid Build Coastguard Worker <xsl:when test="@myns:unnumbered"></xsl:when> 1207*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:call-template name="get-section-number" /></xsl:otherwise> 1208*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1209*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1210*912701f9SAndroid Build Coastguard Worker 1211*912701f9SAndroid Build Coastguard Worker <xsl:if test="not(ancestor::section) and not(@myns:notoclink)"> 1212*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLink"> 1213*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="rule" select="true()" /> 1214*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 1215*912701f9SAndroid Build Coastguard Worker </xsl:if> 1216*912701f9SAndroid Build Coastguard Worker 1217*912701f9SAndroid Build Coastguard Worker <xsl:variable name="elemtype"> 1218*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1219*912701f9SAndroid Build Coastguard Worker <xsl:when test="count(ancestor::section) = 0">h1</xsl:when> 1220*912701f9SAndroid Build Coastguard Worker <xsl:when test="count(ancestor::section) = 1">h2</xsl:when> 1221*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>h3</xsl:otherwise> 1222*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1223*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1224*912701f9SAndroid Build Coastguard Worker 1225*912701f9SAndroid Build Coastguard Worker <xsl:element name="{$elemtype}"> 1226*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1227*912701f9SAndroid Build Coastguard Worker <xsl:when test="$sectionNumber='1'"> 1228*912701f9SAndroid Build Coastguard Worker <!-- pagebreak, this the first section --> 1229*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">np</xsl:attribute> 1230*912701f9SAndroid Build Coastguard Worker </xsl:when> 1231*912701f9SAndroid Build Coastguard Worker <xsl:when test="not(ancestor::section) and not(@myns:notoclink)"> 1232*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insert-conditional-pagebreak"/> 1233*912701f9SAndroid Build Coastguard Worker </xsl:when> 1234*912701f9SAndroid Build Coastguard Worker <xsl:otherwise/> 1235*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1236*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertInsDelClass" /> 1237*912701f9SAndroid Build Coastguard Worker 1238*912701f9SAndroid Build Coastguard Worker <!-- generate anchors for irefs that are immediate childs of this section --> 1239*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="iref"/> 1240*912701f9SAndroid Build Coastguard Worker <xsl:if test="$sectionNumber!=''"> 1241*912701f9SAndroid Build Coastguard Worker <a name="{$anchor-prefix}.section.{$sectionNumber}"><xsl:value-of select="$sectionNumber" /></a>  1242*912701f9SAndroid Build Coastguard Worker </xsl:if> 1243*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1244*912701f9SAndroid Build Coastguard Worker <xsl:when test="@anchor"> 1245*912701f9SAndroid Build Coastguard Worker <a name="{@anchor}"><xsl:value-of select="@title" /></a> 1246*912701f9SAndroid Build Coastguard Worker </xsl:when> 1247*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 1248*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="@title" /> 1249*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 1250*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1251*912701f9SAndroid Build Coastguard Worker </xsl:element> 1252*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="*[not(self::iref)]" /> 1253*912701f9SAndroid Build Coastguard Worker</xsl:template> 1254*912701f9SAndroid Build Coastguard Worker 1255*912701f9SAndroid Build Coastguard Worker<xsl:template match="spanx[@style='emph' or not(@style)]"> 1256*912701f9SAndroid Build Coastguard Worker <em><xsl:apply-templates /></em> 1257*912701f9SAndroid Build Coastguard Worker</xsl:template> 1258*912701f9SAndroid Build Coastguard Worker 1259*912701f9SAndroid Build Coastguard Worker<xsl:template match="spanx[@style='verb']"> 1260*912701f9SAndroid Build Coastguard Worker <samp><xsl:apply-templates /></samp> 1261*912701f9SAndroid Build Coastguard Worker</xsl:template> 1262*912701f9SAndroid Build Coastguard Worker 1263*912701f9SAndroid Build Coastguard Worker<xsl:template match="spanx[@style='strong']"> 1264*912701f9SAndroid Build Coastguard Worker <strong><xsl:apply-templates /></strong> 1265*912701f9SAndroid Build Coastguard Worker</xsl:template> 1266*912701f9SAndroid Build Coastguard Worker 1267*912701f9SAndroid Build Coastguard Worker 1268*912701f9SAndroid Build Coastguard Worker<xsl:template match="vspace[not(@blankLines) or @blankLines=0]"> 1269*912701f9SAndroid Build Coastguard Worker <br /> 1270*912701f9SAndroid Build Coastguard Worker</xsl:template> 1271*912701f9SAndroid Build Coastguard Worker 1272*912701f9SAndroid Build Coastguard Worker<xsl:template match="vspace[@blankLines > 0]"> 1273*912701f9SAndroid Build Coastguard Worker <br/><xsl:for-each select="//*[position() <= @blankLines]"> <br /></xsl:for-each> 1274*912701f9SAndroid Build Coastguard Worker</xsl:template> 1275*912701f9SAndroid Build Coastguard Worker 1276*912701f9SAndroid Build Coastguard Worker<!-- keep the root for the case when we process XSLT-inline markup --> 1277*912701f9SAndroid Build Coastguard Worker<xsl:variable name="src" select="/" /> 1278*912701f9SAndroid Build Coastguard Worker 1279*912701f9SAndroid Build Coastguard Worker<xsl:template match="xref[node()]"> 1280*912701f9SAndroid Build Coastguard Worker <xsl:variable name="target" select="@target" /> 1281*912701f9SAndroid Build Coastguard Worker <xsl:variable name="node" select="$src//*[@anchor=$target]" /> 1282*912701f9SAndroid Build Coastguard Worker <a href="#{$target}"><xsl:apply-templates /></a> 1283*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="$src/rfc/back/references/reference[@anchor=$target]"> 1284*912701f9SAndroid Build Coastguard Worker <xsl:text> </xsl:text><xsl:call-template name="referencename"> 1285*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="node" select="." /> 1286*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 1287*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1288*912701f9SAndroid Build Coastguard Worker</xsl:template> 1289*912701f9SAndroid Build Coastguard Worker 1290*912701f9SAndroid Build Coastguard Worker<xsl:template match="xref[not(node())]"> 1291*912701f9SAndroid Build Coastguard Worker <xsl:variable name="context" select="." /> 1292*912701f9SAndroid Build Coastguard Worker <xsl:variable name="target" select="@target" /> 1293*912701f9SAndroid Build Coastguard Worker <xsl:variable name="node" select="$src//*[@anchor=$target]" /> 1294*912701f9SAndroid Build Coastguard Worker <xsl:if test="count($node)=0 and not(ancestor::ed:del)"> 1295*912701f9SAndroid Build Coastguard Worker <xsl:message>Undefined target: <xsl:value-of select="@target" /></xsl:message> 1296*912701f9SAndroid Build Coastguard Worker <span class="error">Undefined target: <xsl:value-of select="@target" /></span> 1297*912701f9SAndroid Build Coastguard Worker </xsl:if> 1298*912701f9SAndroid Build Coastguard Worker <a href="#{$target}"> 1299*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1300*912701f9SAndroid Build Coastguard Worker <xsl:when test="local-name($node)='section'"> 1301*912701f9SAndroid Build Coastguard Worker <xsl:variable name="refname"> 1302*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="$node"> 1303*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="get-section-type"> 1304*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="prec" select="$context/preceding-sibling::node()[1]" /> 1305*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 1306*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1307*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1308*912701f9SAndroid Build Coastguard Worker <xsl:variable name="refnum"> 1309*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="$node"> 1310*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="get-section-number" /> 1311*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1312*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1313*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="title"> 1314*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="$node/@title" /> 1315*912701f9SAndroid Build Coastguard Worker </xsl:attribute> 1316*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1317*912701f9SAndroid Build Coastguard Worker <xsl:when test="@format='counter'"> 1318*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="$refnum"/> 1319*912701f9SAndroid Build Coastguard Worker </xsl:when> 1320*912701f9SAndroid Build Coastguard Worker <xsl:when test="@format='title'"> 1321*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="$node/@title"/> 1322*912701f9SAndroid Build Coastguard Worker </xsl:when> 1323*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 1324*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="normalize-space(concat($refname,' ',$refnum))"/> 1325*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 1326*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1327*912701f9SAndroid Build Coastguard Worker </xsl:when> 1328*912701f9SAndroid Build Coastguard Worker <xsl:when test="local-name($node)='figure'"> 1329*912701f9SAndroid Build Coastguard Worker <xsl:variable name="figcnt"> 1330*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="$node"> 1331*912701f9SAndroid Build Coastguard Worker <xsl:number level="any" count="figure[@title!='' or @anchor!='']" /> 1332*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1333*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1334*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1335*912701f9SAndroid Build Coastguard Worker <xsl:when test="@format='counter'"> 1336*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="$figcnt" /> 1337*912701f9SAndroid Build Coastguard Worker </xsl:when> 1338*912701f9SAndroid Build Coastguard Worker <xsl:when test="@format='title'"> 1339*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="$node/@title" /> 1340*912701f9SAndroid Build Coastguard Worker </xsl:when> 1341*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 1342*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="normalize-space(concat('Figure ',$figcnt))"/> 1343*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 1344*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1345*912701f9SAndroid Build Coastguard Worker </xsl:when> 1346*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 1347*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="title"><xsl:value-of select="normalize-space($node/front/title)" /></xsl:attribute> 1348*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="referencename"><xsl:with-param name="node" select="$src/rfc/back/references/reference[@anchor=$target]" /></xsl:call-template></xsl:otherwise> 1349*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1350*912701f9SAndroid Build Coastguard Worker </a> 1351*912701f9SAndroid Build Coastguard Worker</xsl:template> 1352*912701f9SAndroid Build Coastguard Worker 1353*912701f9SAndroid Build Coastguard Worker 1354*912701f9SAndroid Build Coastguard Worker<!-- mark unmatched elements red --> 1355*912701f9SAndroid Build Coastguard Worker 1356*912701f9SAndroid Build Coastguard Worker<xsl:template match="*"> 1357*912701f9SAndroid Build Coastguard Worker <font color="red"><tt><<xsl:value-of select="name()" />></tt></font> 1358*912701f9SAndroid Build Coastguard Worker <xsl:copy><xsl:apply-templates select="node()|@*" /></xsl:copy> 1359*912701f9SAndroid Build Coastguard Worker <font color="red"><tt></<xsl:value-of select="name()" />></tt></font> 1360*912701f9SAndroid Build Coastguard Worker</xsl:template> 1361*912701f9SAndroid Build Coastguard Worker 1362*912701f9SAndroid Build Coastguard Worker<xsl:template match="/"> 1363*912701f9SAndroid Build Coastguard Worker <xsl:copy><xsl:apply-templates select="node()" /></xsl:copy> 1364*912701f9SAndroid Build Coastguard Worker</xsl:template> 1365*912701f9SAndroid Build Coastguard Worker 1366*912701f9SAndroid Build Coastguard Worker 1367*912701f9SAndroid Build Coastguard Worker 1368*912701f9SAndroid Build Coastguard Worker 1369*912701f9SAndroid Build Coastguard Worker 1370*912701f9SAndroid Build Coastguard Worker 1371*912701f9SAndroid Build Coastguard Worker 1372*912701f9SAndroid Build Coastguard Worker 1373*912701f9SAndroid Build Coastguard Worker<!-- utility templates --> 1374*912701f9SAndroid Build Coastguard Worker 1375*912701f9SAndroid Build Coastguard Worker<xsl:template name="collectLeftHeaderColumn"> 1376*912701f9SAndroid Build Coastguard Worker <xsl:param name="mode" /> 1377*912701f9SAndroid Build Coastguard Worker <!-- default case --> 1378*912701f9SAndroid Build Coastguard Worker <xsl:if test="not($xml2rfc-private)"> 1379*912701f9SAndroid Build Coastguard Worker <myns:item>Network Working Group</myns:item> 1380*912701f9SAndroid Build Coastguard Worker <myns:item> 1381*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1382*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@ipr and $mode='nroff'">Internet Draft</xsl:when> 1383*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@ipr">INTERNET DRAFT</xsl:when> 1384*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>Request for Comments: <xsl:value-of select="/rfc/@number"/></xsl:otherwise> 1385*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1386*912701f9SAndroid Build Coastguard Worker </myns:item> 1387*912701f9SAndroid Build Coastguard Worker <xsl:if test="/rfc/@docName and $mode!='nroff'"> 1388*912701f9SAndroid Build Coastguard Worker <myns:item> 1389*912701f9SAndroid Build Coastguard Worker <<xsl:value-of select="/rfc/@docName" />> 1390*912701f9SAndroid Build Coastguard Worker </myns:item> 1391*912701f9SAndroid Build Coastguard Worker </xsl:if> 1392*912701f9SAndroid Build Coastguard Worker <xsl:if test="/rfc/@obsoletes and /rfc/@obsoletes!=''"> 1393*912701f9SAndroid Build Coastguard Worker <myns:item> 1394*912701f9SAndroid Build Coastguard Worker Obsoletes: <xsl:call-template name="rfclist"> 1395*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="list" select="normalize-space(/rfc/@obsoletes)" /> 1396*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 1397*912701f9SAndroid Build Coastguard Worker <xsl:if test="not(/rfc/@number)"> (if approved)</xsl:if> 1398*912701f9SAndroid Build Coastguard Worker </myns:item> 1399*912701f9SAndroid Build Coastguard Worker </xsl:if> 1400*912701f9SAndroid Build Coastguard Worker <xsl:if test="/rfc/@seriesNo"> 1401*912701f9SAndroid Build Coastguard Worker <myns:item> 1402*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1403*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='bcp'">BCP: <xsl:value-of select="/rfc/@seriesNo" /></xsl:when> 1404*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='info'">FYI: <xsl:value-of select="/rfc/@seriesNo" /></xsl:when> 1405*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='std'">STD: <xsl:value-of select="/rfc/@seriesNo" /></xsl:when> 1406*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:value-of select="concat(/rfc/@category,': ',/rfc/@seriesNo)" /></xsl:otherwise> 1407*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1408*912701f9SAndroid Build Coastguard Worker </myns:item> 1409*912701f9SAndroid Build Coastguard Worker </xsl:if> 1410*912701f9SAndroid Build Coastguard Worker <xsl:if test="/rfc/@updates and /rfc/@updates!=''"> 1411*912701f9SAndroid Build Coastguard Worker <myns:item> 1412*912701f9SAndroid Build Coastguard Worker Updates: <xsl:call-template name="rfclist"> 1413*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="list" select="normalize-space(/rfc/@updates)" /> 1414*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 1415*912701f9SAndroid Build Coastguard Worker <xsl:if test="not(/rfc/@number)"> (if approved)</xsl:if> 1416*912701f9SAndroid Build Coastguard Worker </myns:item> 1417*912701f9SAndroid Build Coastguard Worker </xsl:if> 1418*912701f9SAndroid Build Coastguard Worker <xsl:if test="$mode!='nroff'"> 1419*912701f9SAndroid Build Coastguard Worker <myns:item> 1420*912701f9SAndroid Build Coastguard Worker Category: 1421*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="get-category-long" /> 1422*912701f9SAndroid Build Coastguard Worker </myns:item> 1423*912701f9SAndroid Build Coastguard Worker </xsl:if> 1424*912701f9SAndroid Build Coastguard Worker <xsl:if test="/rfc/@ipr"> 1425*912701f9SAndroid Build Coastguard Worker <myns:item>Expires: <xsl:call-template name="expirydate" /></myns:item> 1426*912701f9SAndroid Build Coastguard Worker </xsl:if> 1427*912701f9SAndroid Build Coastguard Worker </xsl:if> 1428*912701f9SAndroid Build Coastguard Worker 1429*912701f9SAndroid Build Coastguard Worker <!-- private case --> 1430*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-private"> 1431*912701f9SAndroid Build Coastguard Worker <myns:item><xsl:value-of select="$xml2rfc-private" /></myns:item> 1432*912701f9SAndroid Build Coastguard Worker </xsl:if> 1433*912701f9SAndroid Build Coastguard Worker</xsl:template> 1434*912701f9SAndroid Build Coastguard Worker 1435*912701f9SAndroid Build Coastguard Worker<xsl:template name="collectRightHeaderColumn"> 1436*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="author"> 1437*912701f9SAndroid Build Coastguard Worker <xsl:if test="@surname"> 1438*912701f9SAndroid Build Coastguard Worker <myns:item> 1439*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat(@initials,' ',@surname)" /> 1440*912701f9SAndroid Build Coastguard Worker <xsl:if test="@role"> 1441*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1442*912701f9SAndroid Build Coastguard Worker <xsl:when test="@role='editor'"> 1443*912701f9SAndroid Build Coastguard Worker <xsl:text>, Editor</xsl:text> 1444*912701f9SAndroid Build Coastguard Worker </xsl:when> 1445*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 1446*912701f9SAndroid Build Coastguard Worker <xsl:text>, </xsl:text><xsl:value-of select="@role" /> 1447*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 1448*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1449*912701f9SAndroid Build Coastguard Worker </xsl:if> 1450*912701f9SAndroid Build Coastguard Worker </myns:item> 1451*912701f9SAndroid Build Coastguard Worker </xsl:if> 1452*912701f9SAndroid Build Coastguard Worker <xsl:variable name="org"> 1453*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1454*912701f9SAndroid Build Coastguard Worker <xsl:when test="organization/@abbrev"><xsl:value-of select="organization/@abbrev" /></xsl:when> 1455*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:value-of select="organization" /></xsl:otherwise> 1456*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1457*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1458*912701f9SAndroid Build Coastguard Worker <xsl:variable name="orgOfFollowing"> 1459*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1460*912701f9SAndroid Build Coastguard Worker <xsl:when test="following-sibling::*[1]/organization/@abbrev"><xsl:value-of select="following-sibling::*[1]/organization/@abbrev" /></xsl:when> 1461*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:value-of select="following-sibling::*/organization" /></xsl:otherwise> 1462*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1463*912701f9SAndroid Build Coastguard Worker </xsl:variable> 1464*912701f9SAndroid Build Coastguard Worker <xsl:if test="$org != $orgOfFollowing"> 1465*912701f9SAndroid Build Coastguard Worker <myns:item><xsl:value-of select="$org" /></myns:item> 1466*912701f9SAndroid Build Coastguard Worker </xsl:if> 1467*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1468*912701f9SAndroid Build Coastguard Worker <myns:item> 1469*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat(date/@month,' ',date/@year)" /> 1470*912701f9SAndroid Build Coastguard Worker </myns:item> 1471*912701f9SAndroid Build Coastguard Worker</xsl:template> 1472*912701f9SAndroid Build Coastguard Worker 1473*912701f9SAndroid Build Coastguard Worker 1474*912701f9SAndroid Build Coastguard Worker<xsl:template name="emitheader"> 1475*912701f9SAndroid Build Coastguard Worker <xsl:param name="lc" /> 1476*912701f9SAndroid Build Coastguard Worker <xsl:param name="rc" /> 1477*912701f9SAndroid Build Coastguard Worker 1478*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="$lc/myns:item | $rc/myns:item"> 1479*912701f9SAndroid Build Coastguard Worker <xsl:variable name="pos" select="position()" /> 1480*912701f9SAndroid Build Coastguard Worker <xsl:if test="$pos < count($lc/myns:item) + 1 or $pos < count($rc/myns:item) + 1"> 1481*912701f9SAndroid Build Coastguard Worker <tr> 1482*912701f9SAndroid Build Coastguard Worker <td class="header-l"><xsl:call-template name="copynodes"><xsl:with-param name="nodes" select="$lc/myns:item[$pos]/node()" /></xsl:call-template> </td> 1483*912701f9SAndroid Build Coastguard Worker <td class="header-r"><xsl:call-template name="copynodes"><xsl:with-param name="nodes" select="$rc/myns:item[$pos]/node()" /></xsl:call-template> </td> 1484*912701f9SAndroid Build Coastguard Worker </tr> 1485*912701f9SAndroid Build Coastguard Worker </xsl:if> 1486*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1487*912701f9SAndroid Build Coastguard Worker</xsl:template> 1488*912701f9SAndroid Build Coastguard Worker 1489*912701f9SAndroid Build Coastguard Worker<!-- convenience template that avoids copying namespace nodes we don't want --> 1490*912701f9SAndroid Build Coastguard Worker<xsl:template name="copynodes"> 1491*912701f9SAndroid Build Coastguard Worker <xsl:param name="nodes" /> 1492*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="$nodes"> 1493*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1494*912701f9SAndroid Build Coastguard Worker <xsl:when test="namespace-uri()='http://www.w3.org/1999/xhtml'"><xsl:element name="{name()}" namespace="{namespace-uri()}"><xsl:copy-of select="@*|node()" /></xsl:element></xsl:when> 1495*912701f9SAndroid Build Coastguard Worker <xsl:when test="self::*"><xsl:element name="{name()}"><xsl:copy-of select="@*|node()" /></xsl:element></xsl:when> 1496*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:copy-of select="." /></xsl:otherwise> 1497*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1498*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1499*912701f9SAndroid Build Coastguard Worker</xsl:template> 1500*912701f9SAndroid Build Coastguard Worker 1501*912701f9SAndroid Build Coastguard Worker 1502*912701f9SAndroid Build Coastguard Worker<xsl:template name="expirydate"> 1503*912701f9SAndroid Build Coastguard Worker <xsl:variable name="date" select="/rfc/front/date" /> 1504*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1505*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='January'">July <xsl:value-of select="$date/@year" /></xsl:when> 1506*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='February'">August <xsl:value-of select="$date/@year" /></xsl:when> 1507*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='March'">September <xsl:value-of select="$date/@year" /></xsl:when> 1508*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='April'">October <xsl:value-of select="$date/@year" /></xsl:when> 1509*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='May'">November <xsl:value-of select="$date/@year" /></xsl:when> 1510*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='June'">December <xsl:value-of select="$date/@year" /></xsl:when> 1511*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='July'">January <xsl:value-of select="$date/@year + 1" /></xsl:when> 1512*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='August'">February <xsl:value-of select="$date/@year + 1" /></xsl:when> 1513*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='September'">March <xsl:value-of select="$date/@year + 1" /></xsl:when> 1514*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='October'">April <xsl:value-of select="$date/@year + 1" /></xsl:when> 1515*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='November'">May <xsl:value-of select="$date/@year + 1" /></xsl:when> 1516*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='December'">June <xsl:value-of select="$date/@year + 1" /></xsl:when> 1517*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>WRONG SYNTAX FOR MONTH</xsl:otherwise> 1518*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1519*912701f9SAndroid Build Coastguard Worker</xsl:template> 1520*912701f9SAndroid Build Coastguard Worker 1521*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-month-as-num"> 1522*912701f9SAndroid Build Coastguard Worker <xsl:variable name="date" select="/rfc/front/date" /> 1523*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1524*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='January'">01</xsl:when> 1525*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='February'">02</xsl:when> 1526*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='March'">03</xsl:when> 1527*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='April'">04</xsl:when> 1528*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='May'">05</xsl:when> 1529*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='June'">06</xsl:when> 1530*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='July'">07</xsl:when> 1531*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='August'">08</xsl:when> 1532*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='September'">09</xsl:when> 1533*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='October'">10</xsl:when> 1534*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='November'">11</xsl:when> 1535*912701f9SAndroid Build Coastguard Worker <xsl:when test="$date/@month='December'">12</xsl:when> 1536*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>WRONG SYNTAX FOR MONTH</xsl:otherwise> 1537*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1538*912701f9SAndroid Build Coastguard Worker</xsl:template> 1539*912701f9SAndroid Build Coastguard Worker 1540*912701f9SAndroid Build Coastguard Worker<!-- produce back section with author information --> 1541*912701f9SAndroid Build Coastguard Worker<xsl:template name="insertAuthors"> 1542*912701f9SAndroid Build Coastguard Worker 1543*912701f9SAndroid Build Coastguard Worker <!-- insert link to TOC including horizontal rule --> 1544*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLink"> 1545*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="rule" select="true()" /> 1546*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 1547*912701f9SAndroid Build Coastguard Worker 1548*912701f9SAndroid Build Coastguard Worker <h1> 1549*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insert-conditional-pagebreak"/> 1550*912701f9SAndroid Build Coastguard Worker <a name="{$anchor-prefix}.authors" />Author's Address<xsl:if test="count(/rfc/front/author) > 1">es</xsl:if> 1551*912701f9SAndroid Build Coastguard Worker </h1> 1552*912701f9SAndroid Build Coastguard Worker 1553*912701f9SAndroid Build Coastguard Worker <table summary="Authors" width="99%" border="0" cellpadding="0" cellspacing="0"> 1554*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="/rfc/front/author" /> 1555*912701f9SAndroid Build Coastguard Worker </table> 1556*912701f9SAndroid Build Coastguard Worker</xsl:template> 1557*912701f9SAndroid Build Coastguard Worker 1558*912701f9SAndroid Build Coastguard Worker 1559*912701f9SAndroid Build Coastguard Worker 1560*912701f9SAndroid Build Coastguard Worker<!-- insert copyright statement --> 1561*912701f9SAndroid Build Coastguard Worker 1562*912701f9SAndroid Build Coastguard Worker<xsl:template name="insertCopyright" xmlns=""> 1563*912701f9SAndroid Build Coastguard Worker 1564*912701f9SAndroid Build Coastguard Worker <section title="Intellectual Property Statement" anchor="{$anchor-prefix}.ipr" myns:unnumbered="unnumbered" myns:is-rfc2629="true"> 1565*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1566*912701f9SAndroid Build Coastguard Worker <xsl:when test="$ipr-rfc3667"> 1567*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1568*912701f9SAndroid Build Coastguard Worker The IETF takes no position regarding the validity or scope of any 1569*912701f9SAndroid Build Coastguard Worker Intellectual Property Rights or other rights that might be claimed to 1570*912701f9SAndroid Build Coastguard Worker pertain to the implementation or use of the technology described in 1571*912701f9SAndroid Build Coastguard Worker this document or the extent to which any license under such rights 1572*912701f9SAndroid Build Coastguard Worker might or might not be available; nor does it represent that it has 1573*912701f9SAndroid Build Coastguard Worker made any independent effort to identify any such rights. Information 1574*912701f9SAndroid Build Coastguard Worker on the IETF's procedures with respect to rights in IETF Documents 1575*912701f9SAndroid Build Coastguard Worker can be found in BCP 78 and BCP 79. 1576*912701f9SAndroid Build Coastguard Worker </t> 1577*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1578*912701f9SAndroid Build Coastguard Worker Copies of IPR disclosures made to the IETF Secretariat and any 1579*912701f9SAndroid Build Coastguard Worker assurances of licenses to be made available, or the result of an 1580*912701f9SAndroid Build Coastguard Worker attempt made to obtain a general license or permission for the use 1581*912701f9SAndroid Build Coastguard Worker of such proprietary rights by implementers or users of this 1582*912701f9SAndroid Build Coastguard Worker specification can be obtained from the IETF on-line IPR repository 1583*912701f9SAndroid Build Coastguard Worker at <eref target="http://www.ietf.org/ipr"/>. 1584*912701f9SAndroid Build Coastguard Worker </t> 1585*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1586*912701f9SAndroid Build Coastguard Worker The IETF invites any interested party to bring to its attention any 1587*912701f9SAndroid Build Coastguard Worker copyrights, patents or patent applications, or other proprietary 1588*912701f9SAndroid Build Coastguard Worker rights that may cover technology that may be required to implement 1589*912701f9SAndroid Build Coastguard Worker this standard. Please address the information to the IETF at 1590*912701f9SAndroid Build Coastguard Worker <eref target="mailto:[email protected]">[email protected]</eref>. 1591*912701f9SAndroid Build Coastguard Worker </t> 1592*912701f9SAndroid Build Coastguard Worker </xsl:when> 1593*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 1594*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1595*912701f9SAndroid Build Coastguard Worker The IETF takes no position regarding the validity or scope of 1596*912701f9SAndroid Build Coastguard Worker any intellectual property or other rights that might be claimed 1597*912701f9SAndroid Build Coastguard Worker to pertain to the implementation or use of the technology 1598*912701f9SAndroid Build Coastguard Worker described in this document or the extent to which any license 1599*912701f9SAndroid Build Coastguard Worker under such rights might or might not be available; neither does 1600*912701f9SAndroid Build Coastguard Worker it represent that it has made any effort to identify any such 1601*912701f9SAndroid Build Coastguard Worker rights. Information on the IETF's procedures with respect to 1602*912701f9SAndroid Build Coastguard Worker rights in standards-track and standards-related documentation 1603*912701f9SAndroid Build Coastguard Worker can be found in BCP-11. Copies of claims of rights made 1604*912701f9SAndroid Build Coastguard Worker available for publication and any assurances of licenses to 1605*912701f9SAndroid Build Coastguard Worker be made available, or the result of an attempt made 1606*912701f9SAndroid Build Coastguard Worker to obtain a general license or permission for the use of such 1607*912701f9SAndroid Build Coastguard Worker proprietary rights by implementors or users of this 1608*912701f9SAndroid Build Coastguard Worker specification can be obtained from the IETF Secretariat. 1609*912701f9SAndroid Build Coastguard Worker </t> 1610*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1611*912701f9SAndroid Build Coastguard Worker The IETF invites any interested party to bring to its 1612*912701f9SAndroid Build Coastguard Worker attention any copyrights, patents or patent applications, or 1613*912701f9SAndroid Build Coastguard Worker other proprietary rights which may cover technology that may be 1614*912701f9SAndroid Build Coastguard Worker required to practice this standard. Please address the 1615*912701f9SAndroid Build Coastguard Worker information to the IETF Executive Director. 1616*912701f9SAndroid Build Coastguard Worker </t> 1617*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-iprnotified='yes'"> 1618*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1619*912701f9SAndroid Build Coastguard Worker The IETF has been notified of intellectual property rights 1620*912701f9SAndroid Build Coastguard Worker claimed in regard to some or all of the specification contained 1621*912701f9SAndroid Build Coastguard Worker in this document. For more information consult the online list 1622*912701f9SAndroid Build Coastguard Worker of claimed rights. 1623*912701f9SAndroid Build Coastguard Worker </t> 1624*912701f9SAndroid Build Coastguard Worker </xsl:if> 1625*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 1626*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1627*912701f9SAndroid Build Coastguard Worker </section> 1628*912701f9SAndroid Build Coastguard Worker 1629*912701f9SAndroid Build Coastguard Worker <xsl:if test="$ipr-rfc3667"> 1630*912701f9SAndroid Build Coastguard Worker <section title="Disclaimer of Validity" anchor="{$anchor-prefix}.disclaimer" myns:unnumbered="unnumbered" myns:notoclink="notoclink" myns:is-rfc2629="true"> 1631*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1632*912701f9SAndroid Build Coastguard Worker This document and the information contained herein are provided on an 1633*912701f9SAndroid Build Coastguard Worker "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1634*912701f9SAndroid Build Coastguard Worker OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 1635*912701f9SAndroid Build Coastguard Worker ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 1636*912701f9SAndroid Build Coastguard Worker INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 1637*912701f9SAndroid Build Coastguard Worker INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1638*912701f9SAndroid Build Coastguard Worker WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1639*912701f9SAndroid Build Coastguard Worker </t> 1640*912701f9SAndroid Build Coastguard Worker </section> 1641*912701f9SAndroid Build Coastguard Worker </xsl:if> 1642*912701f9SAndroid Build Coastguard Worker 1643*912701f9SAndroid Build Coastguard Worker <xsl:choose> 1644*912701f9SAndroid Build Coastguard Worker <xsl:when test="$ipr-rfc3667"> 1645*912701f9SAndroid Build Coastguard Worker <section title="Copyright Statement" anchor="{$anchor-prefix}.copyright" myns:unnumbered="unnumbered" myns:notoclink="notoclink" myns:is-rfc2629="true"> 1646*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1647*912701f9SAndroid Build Coastguard Worker Copyright (C) The Internet Society (<xsl:value-of select="/rfc/front/date/@year" />). 1648*912701f9SAndroid Build Coastguard Worker This document is subject to the rights, licenses and restrictions 1649*912701f9SAndroid Build Coastguard Worker contained in BCP 78, and except as set forth therein, the authors 1650*912701f9SAndroid Build Coastguard Worker retain all their rights. 1651*912701f9SAndroid Build Coastguard Worker </t> 1652*912701f9SAndroid Build Coastguard Worker </section> 1653*912701f9SAndroid Build Coastguard Worker </xsl:when> 1654*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 1655*912701f9SAndroid Build Coastguard Worker <section title="Full Copyright Statement" anchor="{$anchor-prefix}.copyright" myns:unnumbered="unnumbered" myns:notoclink="notoclink" myns:is-rfc2629="true"> 1656*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1657*912701f9SAndroid Build Coastguard Worker Copyright (C) The Internet Society (<xsl:value-of select="/rfc/front/date/@year" />). All Rights Reserved. 1658*912701f9SAndroid Build Coastguard Worker </t> 1659*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1660*912701f9SAndroid Build Coastguard Worker This document and translations of it may be copied and furnished to 1661*912701f9SAndroid Build Coastguard Worker others, and derivative works that comment on or otherwise explain it 1662*912701f9SAndroid Build Coastguard Worker or assist in its implementation may be prepared, copied, published and 1663*912701f9SAndroid Build Coastguard Worker distributed, in whole or in part, without restriction of any kind, 1664*912701f9SAndroid Build Coastguard Worker provided that the above copyright notice and this paragraph are 1665*912701f9SAndroid Build Coastguard Worker included on all such copies and derivative works. However, this 1666*912701f9SAndroid Build Coastguard Worker document itself may not be modified in any way, such as by removing 1667*912701f9SAndroid Build Coastguard Worker the copyright notice or references to the Internet Society or other 1668*912701f9SAndroid Build Coastguard Worker Internet organizations, except as needed for the purpose of 1669*912701f9SAndroid Build Coastguard Worker developing Internet standards in which case the procedures for 1670*912701f9SAndroid Build Coastguard Worker copyrights defined in the Internet Standards process must be 1671*912701f9SAndroid Build Coastguard Worker followed, or as required to translate it into languages other than 1672*912701f9SAndroid Build Coastguard Worker English. 1673*912701f9SAndroid Build Coastguard Worker </t> 1674*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1675*912701f9SAndroid Build Coastguard Worker The limited permissions granted above are perpetual and will not be 1676*912701f9SAndroid Build Coastguard Worker revoked by the Internet Society or its successors or assignees. 1677*912701f9SAndroid Build Coastguard Worker </t> 1678*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1679*912701f9SAndroid Build Coastguard Worker This document and the information contained herein is provided on an 1680*912701f9SAndroid Build Coastguard Worker "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 1681*912701f9SAndroid Build Coastguard Worker TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 1682*912701f9SAndroid Build Coastguard Worker BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 1683*912701f9SAndroid Build Coastguard Worker HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 1684*912701f9SAndroid Build Coastguard Worker MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1685*912701f9SAndroid Build Coastguard Worker </t> 1686*912701f9SAndroid Build Coastguard Worker </section> 1687*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 1688*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1689*912701f9SAndroid Build Coastguard Worker 1690*912701f9SAndroid Build Coastguard Worker <section title="Acknowledgement" myns:unnumbered="unnumbered" myns:notoclink="notoclink" myns:is-rfc2629="true"> 1691*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 1692*912701f9SAndroid Build Coastguard Worker Funding for the RFC Editor function is currently provided by the 1693*912701f9SAndroid Build Coastguard Worker Internet Society. 1694*912701f9SAndroid Build Coastguard Worker </t> 1695*912701f9SAndroid Build Coastguard Worker </section> 1696*912701f9SAndroid Build Coastguard Worker 1697*912701f9SAndroid Build Coastguard Worker</xsl:template> 1698*912701f9SAndroid Build Coastguard Worker 1699*912701f9SAndroid Build Coastguard Worker 1700*912701f9SAndroid Build Coastguard Worker<!-- insert CSS style info --> 1701*912701f9SAndroid Build Coastguard Worker 1702*912701f9SAndroid Build Coastguard Worker<xsl:template name="insertCss"> 1703*912701f9SAndroid Build Coastguard Workera { 1704*912701f9SAndroid Build Coastguard Worker text-decoration: none 1705*912701f9SAndroid Build Coastguard Worker} 1706*912701f9SAndroid Build Coastguard Workera:hover { 1707*912701f9SAndroid Build Coastguard Worker text-decoration: underline 1708*912701f9SAndroid Build Coastguard Worker} 1709*912701f9SAndroid Build Coastguard Workera:active { 1710*912701f9SAndroid Build Coastguard Worker text-decoration: underline 1711*912701f9SAndroid Build Coastguard Worker} 1712*912701f9SAndroid Build Coastguard Workerbody { 1713*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-background!=''"> 1714*912701f9SAndroid Build Coastguard Worker background: url(<xsl:value-of select="$xml2rfc-background" />) #ffffff left top; 1715*912701f9SAndroid Build Coastguard Worker </xsl:if> 1716*912701f9SAndroid Build Coastguard Worker color: #000000; 1717*912701f9SAndroid Build Coastguard Worker font-family: helvetica, arial, sans-serif; 1718*912701f9SAndroid Build Coastguard Worker font-size: 13px; 1719*912701f9SAndroid Build Coastguard Worker} 1720*912701f9SAndroid Build Coastguard Workerdl { 1721*912701f9SAndroid Build Coastguard Worker margin-left: 2em; 1722*912701f9SAndroid Build Coastguard Worker} 1723*912701f9SAndroid Build Coastguard Workerh1 { 1724*912701f9SAndroid Build Coastguard Worker color: #333333; 1725*912701f9SAndroid Build Coastguard Worker font-size: 16px; 1726*912701f9SAndroid Build Coastguard Worker line-height: 16px; 1727*912701f9SAndroid Build Coastguard Worker font-family: helvetica, arial, sans-serif; 1728*912701f9SAndroid Build Coastguard Worker page-break-after: avoid; 1729*912701f9SAndroid Build Coastguard Worker} 1730*912701f9SAndroid Build Coastguard Workerh1.np { 1731*912701f9SAndroid Build Coastguard Worker page-break-before: always; 1732*912701f9SAndroid Build Coastguard Worker} 1733*912701f9SAndroid Build Coastguard Workerh2 { 1734*912701f9SAndroid Build Coastguard Worker color: #000000; 1735*912701f9SAndroid Build Coastguard Worker font-size: 14px; 1736*912701f9SAndroid Build Coastguard Worker font-family: helvetica, arial, sans-serif; 1737*912701f9SAndroid Build Coastguard Worker page-break-after: avoid; 1738*912701f9SAndroid Build Coastguard Worker} 1739*912701f9SAndroid Build Coastguard Workerh3 { 1740*912701f9SAndroid Build Coastguard Worker color: #000000; 1741*912701f9SAndroid Build Coastguard Worker font-size: 13px; 1742*912701f9SAndroid Build Coastguard Worker font-family: helvetica, arial, sans-serif; 1743*912701f9SAndroid Build Coastguard Worker page-break-after: avoid; 1744*912701f9SAndroid Build Coastguard Worker} 1745*912701f9SAndroid Build Coastguard Workerimg { 1746*912701f9SAndroid Build Coastguard Worker margin-left: 3em; 1747*912701f9SAndroid Build Coastguard Worker} 1748*912701f9SAndroid Build Coastguard Workerli { 1749*912701f9SAndroid Build Coastguard Worker margin-left: 2em; 1750*912701f9SAndroid Build Coastguard Worker margin-right: 2em; 1751*912701f9SAndroid Build Coastguard Worker} 1752*912701f9SAndroid Build Coastguard Workerol { 1753*912701f9SAndroid Build Coastguard Worker margin-left: 2em; 1754*912701f9SAndroid Build Coastguard Worker margin-right: 2em; 1755*912701f9SAndroid Build Coastguard Worker} 1756*912701f9SAndroid Build Coastguard Workerp { 1757*912701f9SAndroid Build Coastguard Worker margin-left: 2em; 1758*912701f9SAndroid Build Coastguard Worker margin-right: 2em; 1759*912701f9SAndroid Build Coastguard Worker} 1760*912701f9SAndroid Build Coastguard Workerpre { 1761*912701f9SAndroid Build Coastguard Worker margin-left: 3em; 1762*912701f9SAndroid Build Coastguard Worker background-color: lightyellow; 1763*912701f9SAndroid Build Coastguard Worker} 1764*912701f9SAndroid Build Coastguard Workertable { 1765*912701f9SAndroid Build Coastguard Worker margin-left: 2em; 1766*912701f9SAndroid Build Coastguard Worker} 1767*912701f9SAndroid Build Coastguard Workertable.header { 1768*912701f9SAndroid Build Coastguard Worker width: 66%; 1769*912701f9SAndroid Build Coastguard Worker} 1770*912701f9SAndroid Build Coastguard Workertd.top { 1771*912701f9SAndroid Build Coastguard Worker vertical-align: top; 1772*912701f9SAndroid Build Coastguard Worker} 1773*912701f9SAndroid Build Coastguard Workertd.topnowrap { 1774*912701f9SAndroid Build Coastguard Worker vertical-align: top; 1775*912701f9SAndroid Build Coastguard Worker white-space: nowrap; 1776*912701f9SAndroid Build Coastguard Worker} 1777*912701f9SAndroid Build Coastguard Workertd.right { 1778*912701f9SAndroid Build Coastguard Worker text-align: right; 1779*912701f9SAndroid Build Coastguard Worker} 1780*912701f9SAndroid Build Coastguard Workertd.header-l { 1781*912701f9SAndroid Build Coastguard Worker width: 33%; 1782*912701f9SAndroid Build Coastguard Worker color: #ffffff; 1783*912701f9SAndroid Build Coastguard Worker background-color: #666666; 1784*912701f9SAndroid Build Coastguard Worker font-size: 10px; 1785*912701f9SAndroid Build Coastguard Worker font-family: arial, helvetica, sans-serif; 1786*912701f9SAndroid Build Coastguard Worker vertical-align: top 1787*912701f9SAndroid Build Coastguard Worker} 1788*912701f9SAndroid Build Coastguard Workertd.header-r { 1789*912701f9SAndroid Build Coastguard Worker width: 33%; 1790*912701f9SAndroid Build Coastguard Worker color: #ffffff; 1791*912701f9SAndroid Build Coastguard Worker background-color: #666666; 1792*912701f9SAndroid Build Coastguard Worker font-size: 10px; 1793*912701f9SAndroid Build Coastguard Worker font-family: arial, helvetica, sans-serif; 1794*912701f9SAndroid Build Coastguard Worker vertical-align: top; 1795*912701f9SAndroid Build Coastguard Worker} 1796*912701f9SAndroid Build Coastguard Workerthead { 1797*912701f9SAndroid Build Coastguard Worker display:table-header-group 1798*912701f9SAndroid Build Coastguard Worker} 1799*912701f9SAndroid Build Coastguard Worker.editingmark { 1800*912701f9SAndroid Build Coastguard Worker background-color: khaki; 1801*912701f9SAndroid Build Coastguard Worker} 1802*912701f9SAndroid Build Coastguard Worker.error { 1803*912701f9SAndroid Build Coastguard Worker font-size: 14pt; 1804*912701f9SAndroid Build Coastguard Worker background-color: red; 1805*912701f9SAndroid Build Coastguard Worker} 1806*912701f9SAndroid Build Coastguard Worker.hotText { 1807*912701f9SAndroid Build Coastguard Worker color:#ffffff; 1808*912701f9SAndroid Build Coastguard Worker font-weight: normal; 1809*912701f9SAndroid Build Coastguard Worker text-decoration: none; 1810*912701f9SAndroid Build Coastguard Worker font-family: chelvetica, arial, sans-serif; 1811*912701f9SAndroid Build Coastguard Worker font-size: 9px 1812*912701f9SAndroid Build Coastguard Worker} 1813*912701f9SAndroid Build Coastguard Worker.link2 { 1814*912701f9SAndroid Build Coastguard Worker color:#ffffff; 1815*912701f9SAndroid Build Coastguard Worker font-weight: bold; 1816*912701f9SAndroid Build Coastguard Worker text-decoration: none; 1817*912701f9SAndroid Build Coastguard Worker font-family: helvetica, arial, sans-serif; 1818*912701f9SAndroid Build Coastguard Worker font-size: 9px 1819*912701f9SAndroid Build Coastguard Worker} 1820*912701f9SAndroid Build Coastguard Worker.toowide { 1821*912701f9SAndroid Build Coastguard Worker color: red; 1822*912701f9SAndroid Build Coastguard Worker font-weight: bold; 1823*912701f9SAndroid Build Coastguard Worker} 1824*912701f9SAndroid Build Coastguard Worker.RFC { 1825*912701f9SAndroid Build Coastguard Worker color:#666666; 1826*912701f9SAndroid Build Coastguard Worker font-weight: bold; 1827*912701f9SAndroid Build Coastguard Worker text-decoration: none; 1828*912701f9SAndroid Build Coastguard Worker font-family: helvetica, arial, sans-serif; 1829*912701f9SAndroid Build Coastguard Worker font-size: 9px 1830*912701f9SAndroid Build Coastguard Worker} 1831*912701f9SAndroid Build Coastguard Worker.title { 1832*912701f9SAndroid Build Coastguard Worker color: #990000; 1833*912701f9SAndroid Build Coastguard Worker font-size: 22px; 1834*912701f9SAndroid Build Coastguard Worker line-height: 22px; 1835*912701f9SAndroid Build Coastguard Worker font-weight: bold; 1836*912701f9SAndroid Build Coastguard Worker text-align: right; 1837*912701f9SAndroid Build Coastguard Worker font-family: helvetica, arial, sans-serif 1838*912701f9SAndroid Build Coastguard Worker} 1839*912701f9SAndroid Build Coastguard Worker.figure { 1840*912701f9SAndroid Build Coastguard Worker font-weight: bold; 1841*912701f9SAndroid Build Coastguard Worker text-align: center; 1842*912701f9SAndroid Build Coastguard Worker font-size: 12px; 1843*912701f9SAndroid Build Coastguard Worker} 1844*912701f9SAndroid Build Coastguard Worker.filename { 1845*912701f9SAndroid Build Coastguard Worker color: #333333; 1846*912701f9SAndroid Build Coastguard Worker font-weight: bold; 1847*912701f9SAndroid Build Coastguard Worker font-size: 16px; 1848*912701f9SAndroid Build Coastguard Worker line-height: 24px; 1849*912701f9SAndroid Build Coastguard Worker font-family: helvetica, arial, sans-serif; 1850*912701f9SAndroid Build Coastguard Worker text-align: right; 1851*912701f9SAndroid Build Coastguard Worker} 1852*912701f9SAndroid Build Coastguard Worker.warning { 1853*912701f9SAndroid Build Coastguard Worker font-size: 14pt; 1854*912701f9SAndroid Build Coastguard Worker background-color: yellow; 1855*912701f9SAndroid Build Coastguard Worker} 1856*912701f9SAndroid Build Coastguard Workerdel { 1857*912701f9SAndroid Build Coastguard Worker color: red; 1858*912701f9SAndroid Build Coastguard Worker text-decoration: line-through; 1859*912701f9SAndroid Build Coastguard Worker} 1860*912701f9SAndroid Build Coastguard Worker.del { 1861*912701f9SAndroid Build Coastguard Worker color: red; 1862*912701f9SAndroid Build Coastguard Worker text-decoration: line-through; 1863*912701f9SAndroid Build Coastguard Worker} 1864*912701f9SAndroid Build Coastguard Workerins { 1865*912701f9SAndroid Build Coastguard Worker color: green; 1866*912701f9SAndroid Build Coastguard Worker text-decoration: underline; 1867*912701f9SAndroid Build Coastguard Worker} 1868*912701f9SAndroid Build Coastguard Worker.ins { 1869*912701f9SAndroid Build Coastguard Worker color: green; 1870*912701f9SAndroid Build Coastguard Worker text-decoration: underline; 1871*912701f9SAndroid Build Coastguard Worker} 1872*912701f9SAndroid Build Coastguard Worker 1873*912701f9SAndroid Build Coastguard Workertable.openissue { 1874*912701f9SAndroid Build Coastguard Worker background-color: khaki; 1875*912701f9SAndroid Build Coastguard Worker border-width: thin; 1876*912701f9SAndroid Build Coastguard Worker border-style: solid; 1877*912701f9SAndroid Build Coastguard Worker border-color: black; 1878*912701f9SAndroid Build Coastguard Worker} 1879*912701f9SAndroid Build Coastguard Worker 1880*912701f9SAndroid Build Coastguard Workertable.closedissue { 1881*912701f9SAndroid Build Coastguard Worker background-color: white; 1882*912701f9SAndroid Build Coastguard Worker border-width: thin; 1883*912701f9SAndroid Build Coastguard Worker border-style: solid; 1884*912701f9SAndroid Build Coastguard Worker border-color: gray; 1885*912701f9SAndroid Build Coastguard Worker color: gray; 1886*912701f9SAndroid Build Coastguard Worker} 1887*912701f9SAndroid Build Coastguard Worker 1888*912701f9SAndroid Build Coastguard Worker.closed-issue { 1889*912701f9SAndroid Build Coastguard Worker border: solid; 1890*912701f9SAndroid Build Coastguard Worker border-width: thin; 1891*912701f9SAndroid Build Coastguard Worker background-color: lime; 1892*912701f9SAndroid Build Coastguard Worker font-size: small; 1893*912701f9SAndroid Build Coastguard Worker font-weight: bold; 1894*912701f9SAndroid Build Coastguard Worker} 1895*912701f9SAndroid Build Coastguard Worker 1896*912701f9SAndroid Build Coastguard Worker.open-issue { 1897*912701f9SAndroid Build Coastguard Worker border: solid; 1898*912701f9SAndroid Build Coastguard Worker border-width: thin; 1899*912701f9SAndroid Build Coastguard Worker background-color: red; 1900*912701f9SAndroid Build Coastguard Worker font-size: small; 1901*912701f9SAndroid Build Coastguard Worker font-weight: bold; 1902*912701f9SAndroid Build Coastguard Worker} 1903*912701f9SAndroid Build Coastguard Worker 1904*912701f9SAndroid Build Coastguard Worker.editor-issue { 1905*912701f9SAndroid Build Coastguard Worker border: solid; 1906*912701f9SAndroid Build Coastguard Worker border-width: thin; 1907*912701f9SAndroid Build Coastguard Worker background-color: yellow; 1908*912701f9SAndroid Build Coastguard Worker font-size: small; 1909*912701f9SAndroid Build Coastguard Worker font-weight: bold; 1910*912701f9SAndroid Build Coastguard Worker} 1911*912701f9SAndroid Build Coastguard Worker 1912*912701f9SAndroid Build Coastguard Worker@media print { 1913*912701f9SAndroid Build Coastguard Worker .noprint { 1914*912701f9SAndroid Build Coastguard Worker display: none; 1915*912701f9SAndroid Build Coastguard Worker } 1916*912701f9SAndroid Build Coastguard Worker} 1917*912701f9SAndroid Build Coastguard Worker</xsl:template> 1918*912701f9SAndroid Build Coastguard Worker 1919*912701f9SAndroid Build Coastguard Worker 1920*912701f9SAndroid Build Coastguard Worker<!-- generate the index section --> 1921*912701f9SAndroid Build Coastguard Worker 1922*912701f9SAndroid Build Coastguard Worker<xsl:template name="insertSingleIref"> 1923*912701f9SAndroid Build Coastguard Worker <xsl:variable name="backlink">#<xsl:value-of select="$anchor-prefix"/>.iref.<xsl:number level="any" /></xsl:variable> 1924*912701f9SAndroid Build Coastguard Worker  <a href="{$backlink}"><xsl:choose> 1925*912701f9SAndroid Build Coastguard Worker <xsl:when test="@primary='true'"><b><xsl:call-template name="get-section-number" /></b></xsl:when> 1926*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:call-template name="get-section-number" /></xsl:otherwise> 1927*912701f9SAndroid Build Coastguard Worker </xsl:choose> 1928*912701f9SAndroid Build Coastguard Worker </a><xsl:if test="position()!=last()">, </xsl:if> 1929*912701f9SAndroid Build Coastguard Worker</xsl:template> 1930*912701f9SAndroid Build Coastguard Worker 1931*912701f9SAndroid Build Coastguard Worker 1932*912701f9SAndroid Build Coastguard Worker<xsl:template name="insertIndex"> 1933*912701f9SAndroid Build Coastguard Worker 1934*912701f9SAndroid Build Coastguard Worker <!-- insert link to TOC including horizontal rule --> 1935*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLink"> 1936*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="rule" select="true()" /> 1937*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 1938*912701f9SAndroid Build Coastguard Worker 1939*912701f9SAndroid Build Coastguard Worker <h1> 1940*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insert-conditional-pagebreak"/> 1941*912701f9SAndroid Build Coastguard Worker <a name="{$anchor-prefix}.index" />Index 1942*912701f9SAndroid Build Coastguard Worker </h1> 1943*912701f9SAndroid Build Coastguard Worker 1944*912701f9SAndroid Build Coastguard Worker <table summary="Index"> 1945*912701f9SAndroid Build Coastguard Worker 1946*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="//iref[generate-id(.) = generate-id(key('index-first-letter',translate(substring(@item,1,1),$lcase,$ucase)))]"> 1947*912701f9SAndroid Build Coastguard Worker <xsl:sort select="translate(@item,$lcase,$ucase)" /> 1948*912701f9SAndroid Build Coastguard Worker 1949*912701f9SAndroid Build Coastguard Worker <tr> 1950*912701f9SAndroid Build Coastguard Worker <td> 1951*912701f9SAndroid Build Coastguard Worker <b><xsl:value-of select="translate(substring(@item,1,1),$lcase,$ucase)" /></b> 1952*912701f9SAndroid Build Coastguard Worker </td> 1953*912701f9SAndroid Build Coastguard Worker </tr> 1954*912701f9SAndroid Build Coastguard Worker 1955*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="key('index-first-letter',translate(substring(@item,1,1),$lcase,$ucase))"> 1956*912701f9SAndroid Build Coastguard Worker 1957*912701f9SAndroid Build Coastguard Worker <xsl:sort select="translate(@item,$lcase,$ucase)" /> 1958*912701f9SAndroid Build Coastguard Worker 1959*912701f9SAndroid Build Coastguard Worker <xsl:if test="generate-id(.) = generate-id(key('index-item',@item))"> 1960*912701f9SAndroid Build Coastguard Worker 1961*912701f9SAndroid Build Coastguard Worker <tr> 1962*912701f9SAndroid Build Coastguard Worker <td> 1963*912701f9SAndroid Build Coastguard Worker   <xsl:value-of select="@item" />  1964*912701f9SAndroid Build Coastguard Worker 1965*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="key('index-item',@item)[not(@subitem) or @subitem='']"> 1966*912701f9SAndroid Build Coastguard Worker <xsl:sort select="translate(@item,$lcase,$ucase)" /> 1967*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertSingleIref" /> 1968*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1969*912701f9SAndroid Build Coastguard Worker </td> 1970*912701f9SAndroid Build Coastguard Worker </tr> 1971*912701f9SAndroid Build Coastguard Worker 1972*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="key('index-item',@item)[@subitem and @subitem!='']"> 1973*912701f9SAndroid Build Coastguard Worker <xsl:sort select="translate(@subitem,$lcase,$ucase)" /> 1974*912701f9SAndroid Build Coastguard Worker 1975*912701f9SAndroid Build Coastguard Worker <xsl:if test="generate-id(.) = generate-id(key('index-item-subitem',concat(@item,'..',@subitem)))"> 1976*912701f9SAndroid Build Coastguard Worker <tr> 1977*912701f9SAndroid Build Coastguard Worker <td> 1978*912701f9SAndroid Build Coastguard Worker     <xsl:value-of select="@subitem" />  1979*912701f9SAndroid Build Coastguard Worker 1980*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="key('index-item-subitem',concat(@item,'..',@subitem))"> 1981*912701f9SAndroid Build Coastguard Worker <xsl:sort select="translate(@item,$lcase,$ucase)" /> 1982*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertSingleIref" /> 1983*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1984*912701f9SAndroid Build Coastguard Worker </td> 1985*912701f9SAndroid Build Coastguard Worker </tr> 1986*912701f9SAndroid Build Coastguard Worker </xsl:if> 1987*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1988*912701f9SAndroid Build Coastguard Worker 1989*912701f9SAndroid Build Coastguard Worker </xsl:if> 1990*912701f9SAndroid Build Coastguard Worker 1991*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1992*912701f9SAndroid Build Coastguard Worker 1993*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 1994*912701f9SAndroid Build Coastguard Worker </table> 1995*912701f9SAndroid Build Coastguard Worker</xsl:template> 1996*912701f9SAndroid Build Coastguard Worker 1997*912701f9SAndroid Build Coastguard Worker 1998*912701f9SAndroid Build Coastguard Worker 1999*912701f9SAndroid Build Coastguard Worker 2000*912701f9SAndroid Build Coastguard Worker<xsl:template name="insertPreamble" xmlns=""> 2001*912701f9SAndroid Build Coastguard Worker 2002*912701f9SAndroid Build Coastguard Worker <section title="Status of this Memo" myns:unnumbered="unnumbered" myns:notoclink="notoclink" anchor="{$anchor-prefix}.status" myns:is-rfc2629="true"> 2003*912701f9SAndroid Build Coastguard Worker 2004*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2005*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@ipr"> 2006*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2007*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2008*912701f9SAndroid Build Coastguard Worker 2009*912701f9SAndroid Build Coastguard Worker <!-- RFC2026 --> 2010*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@ipr = 'full2026'"> 2011*912701f9SAndroid Build Coastguard Worker This document is an Internet-Draft and is 2012*912701f9SAndroid Build Coastguard Worker in full conformance with all provisions of Section 10 of RFC2026. 2013*912701f9SAndroid Build Coastguard Worker </xsl:when> 2014*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@ipr = 'noDerivativeWorks2026'"> 2015*912701f9SAndroid Build Coastguard Worker This document is an Internet-Draft and is 2016*912701f9SAndroid Build Coastguard Worker in full conformance with all provisions of Section 10 of RFC2026 2017*912701f9SAndroid Build Coastguard Worker except that the right to produce derivative works is not granted. 2018*912701f9SAndroid Build Coastguard Worker </xsl:when> 2019*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@ipr = 'noDerivativeWorksNow'"> 2020*912701f9SAndroid Build Coastguard Worker This document is an Internet-Draft and is 2021*912701f9SAndroid Build Coastguard Worker in full conformance with all provisions of Section 10 of RFC2026 2022*912701f9SAndroid Build Coastguard Worker except that the right to produce derivative works is not granted. 2023*912701f9SAndroid Build Coastguard Worker (If this document becomes part of an IETF working group activity, 2024*912701f9SAndroid Build Coastguard Worker then it will be brought into full compliance with Section 10 of RFC2026.) 2025*912701f9SAndroid Build Coastguard Worker </xsl:when> 2026*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@ipr = 'none'"> 2027*912701f9SAndroid Build Coastguard Worker This document is an Internet-Draft and is 2028*912701f9SAndroid Build Coastguard Worker NOT offered in accordance with Section 10 of RFC2026, 2029*912701f9SAndroid Build Coastguard Worker and the author does not provide the IETF with any rights other 2030*912701f9SAndroid Build Coastguard Worker than to publish as an Internet-Draft. 2031*912701f9SAndroid Build Coastguard Worker </xsl:when> 2032*912701f9SAndroid Build Coastguard Worker 2033*912701f9SAndroid Build Coastguard Worker <!-- RFC3667 --> 2034*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@ipr = 'full3667'"> 2035*912701f9SAndroid Build Coastguard Worker By submitting this Internet-Draft, I certify that any applicable 2036*912701f9SAndroid Build Coastguard Worker patent or other IPR claims of which I am aware have been disclosed, 2037*912701f9SAndroid Build Coastguard Worker and any of which I become aware will be disclosed, in accordance 2038*912701f9SAndroid Build Coastguard Worker with RFC 3668. 2039*912701f9SAndroid Build Coastguard Worker </xsl:when> 2040*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@ipr = 'noModification3667'"> 2041*912701f9SAndroid Build Coastguard Worker By submitting this Internet-Draft, I certify that any applicable 2042*912701f9SAndroid Build Coastguard Worker patent or other IPR claims of which I am aware have been disclosed, 2043*912701f9SAndroid Build Coastguard Worker and any of which I become aware will be disclosed, in accordance 2044*912701f9SAndroid Build Coastguard Worker with RFC 3668. This document may not be modified, and derivative 2045*912701f9SAndroid Build Coastguard Worker works of it may not be created, except to publish it as an RFC and 2046*912701f9SAndroid Build Coastguard Worker to translate it into languages other than English<xsl:if test="/rfc/@iprExtract">, 2047*912701f9SAndroid Build Coastguard Worker other than to extract <xref target="{/rfc/@iprExtract}"/> as-is for separate use.</xsl:if>. 2048*912701f9SAndroid Build Coastguard Worker </xsl:when> 2049*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@ipr = 'noDerivatives3667'"> 2050*912701f9SAndroid Build Coastguard Worker By submitting this Internet-Draft, I certify that any applicable 2051*912701f9SAndroid Build Coastguard Worker patent or other IPR claims of which I am aware have been disclosed, 2052*912701f9SAndroid Build Coastguard Worker and any of which I become aware will be disclosed, in accordance 2053*912701f9SAndroid Build Coastguard Worker with RFC 3668. This document may not be modified, and derivative 2054*912701f9SAndroid Build Coastguard Worker works of it may not be created<xsl:if test="/rfc/@iprExtract">, 2055*912701f9SAndroid Build Coastguard Worker other than to extract <xref target="{/rfc/@iprExtract}"/> as-is for separate use.</xsl:if>.. 2056*912701f9SAndroid Build Coastguard Worker </xsl:when> 2057*912701f9SAndroid Build Coastguard Worker 2058*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>CONFORMANCE UNDEFINED.</xsl:otherwise> 2059*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2060*912701f9SAndroid Build Coastguard Worker </t> 2061*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2062*912701f9SAndroid Build Coastguard Worker Internet-Drafts are working documents of the Internet Engineering 2063*912701f9SAndroid Build Coastguard Worker Task Force (IETF), its areas, and its working groups. 2064*912701f9SAndroid Build Coastguard Worker Note that other groups may also distribute working documents as 2065*912701f9SAndroid Build Coastguard Worker Internet-Drafts. 2066*912701f9SAndroid Build Coastguard Worker </t> 2067*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2068*912701f9SAndroid Build Coastguard Worker Internet-Drafts are draft documents valid for a maximum of six months 2069*912701f9SAndroid Build Coastguard Worker and may be updated, replaced, or obsoleted by other documents at any time. 2070*912701f9SAndroid Build Coastguard Worker It is inappropriate to use Internet-Drafts as reference material or to cite 2071*912701f9SAndroid Build Coastguard Worker them other than as "work in progress". 2072*912701f9SAndroid Build Coastguard Worker </t> 2073*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2074*912701f9SAndroid Build Coastguard Worker The list of current Internet-Drafts can be accessed at 2075*912701f9SAndroid Build Coastguard Worker <eref target='http://www.ietf.org/ietf/1id-abstracts.txt' myns:is-rfc2629="true" />. 2076*912701f9SAndroid Build Coastguard Worker </t> 2077*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2078*912701f9SAndroid Build Coastguard Worker The list of Internet-Draft Shadow Directories can be accessed at 2079*912701f9SAndroid Build Coastguard Worker <eref target='http://www.ietf.org/shadow.html' myns:is-rfc2629="true"/>. 2080*912701f9SAndroid Build Coastguard Worker </t> 2081*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2082*912701f9SAndroid Build Coastguard Worker This Internet-Draft will expire in <xsl:call-template name="expirydate" />. 2083*912701f9SAndroid Build Coastguard Worker </t> 2084*912701f9SAndroid Build Coastguard Worker </xsl:when> 2085*912701f9SAndroid Build Coastguard Worker 2086*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='bcp'"> 2087*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2088*912701f9SAndroid Build Coastguard Worker This document specifies an Internet Best Current Practices for the Internet 2089*912701f9SAndroid Build Coastguard Worker Community, and requests discussion and suggestions for improvements. 2090*912701f9SAndroid Build Coastguard Worker Distribution of this memo is unlimited. 2091*912701f9SAndroid Build Coastguard Worker </t> 2092*912701f9SAndroid Build Coastguard Worker </xsl:when> 2093*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='exp'"> 2094*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2095*912701f9SAndroid Build Coastguard Worker This memo defines an Experimental Protocol for the Internet community. 2096*912701f9SAndroid Build Coastguard Worker It does not specify an Internet standard of any kind. 2097*912701f9SAndroid Build Coastguard Worker Discussion and suggestions for improvement are requested. 2098*912701f9SAndroid Build Coastguard Worker Distribution of this memo is unlimited. 2099*912701f9SAndroid Build Coastguard Worker </t> 2100*912701f9SAndroid Build Coastguard Worker </xsl:when> 2101*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='historic'"> 2102*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2103*912701f9SAndroid Build Coastguard Worker This memo describes a historic protocol for the Internet community. 2104*912701f9SAndroid Build Coastguard Worker It does not specify an Internet standard of any kind. 2105*912701f9SAndroid Build Coastguard Worker Distribution of this memo is unlimited. 2106*912701f9SAndroid Build Coastguard Worker </t> 2107*912701f9SAndroid Build Coastguard Worker </xsl:when> 2108*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='info' or not(/rfc/@category)"> 2109*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2110*912701f9SAndroid Build Coastguard Worker This memo provides information for the Internet community. 2111*912701f9SAndroid Build Coastguard Worker It does not specify an Internet standard of any kind. 2112*912701f9SAndroid Build Coastguard Worker Distribution of this memo is unlimited. 2113*912701f9SAndroid Build Coastguard Worker </t> 2114*912701f9SAndroid Build Coastguard Worker </xsl:when> 2115*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='std'"> 2116*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2117*912701f9SAndroid Build Coastguard Worker This document specifies an Internet standards track protocol for the Internet 2118*912701f9SAndroid Build Coastguard Worker community, and requests discussion and suggestions for improvements. 2119*912701f9SAndroid Build Coastguard Worker Please refer to the current edition of the "Internet Official Protocol 2120*912701f9SAndroid Build Coastguard Worker Standards" (STD 1) for the standardization state and status of this 2121*912701f9SAndroid Build Coastguard Worker protocol. Distribution of this memo is unlimited. 2122*912701f9SAndroid Build Coastguard Worker </t> 2123*912701f9SAndroid Build Coastguard Worker </xsl:when> 2124*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2125*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true">UNSUPPORTED CATEGORY.</t> 2126*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2127*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2128*912701f9SAndroid Build Coastguard Worker 2129*912701f9SAndroid Build Coastguard Worker </section> 2130*912701f9SAndroid Build Coastguard Worker 2131*912701f9SAndroid Build Coastguard Worker <section title="Copyright Notice" myns:unnumbered="unnumbered" myns:notoclink="notoclink" anchor="{$anchor-prefix}.copyrightnotice" myns:is-rfc2629="true"> 2132*912701f9SAndroid Build Coastguard Worker <t myns:is-rfc2629="true"> 2133*912701f9SAndroid Build Coastguard Worker Copyright (C) The Internet Society (<xsl:value-of select="/rfc/front/date/@year" />). All Rights Reserved. 2134*912701f9SAndroid Build Coastguard Worker </t> 2135*912701f9SAndroid Build Coastguard Worker </section> 2136*912701f9SAndroid Build Coastguard Worker 2137*912701f9SAndroid Build Coastguard Worker</xsl:template> 2138*912701f9SAndroid Build Coastguard Worker 2139*912701f9SAndroid Build Coastguard Worker<!-- TOC generation --> 2140*912701f9SAndroid Build Coastguard Worker 2141*912701f9SAndroid Build Coastguard Worker<xsl:template match="/" mode="toc"> 2142*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLink"> 2143*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="includeTitle" select="true()" /> 2144*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="rule" select="true()" /> 2145*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2146*912701f9SAndroid Build Coastguard Worker 2147*912701f9SAndroid Build Coastguard Worker <h1 class="np"> <!-- this pagebreak occurs always --> 2148*912701f9SAndroid Build Coastguard Worker <a name="{$anchor-prefix}.toc">Table of Contents</a> 2149*912701f9SAndroid Build Coastguard Worker </h1> 2150*912701f9SAndroid Build Coastguard Worker 2151*912701f9SAndroid Build Coastguard Worker <p> 2152*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates mode="toc" /> 2153*912701f9SAndroid Build Coastguard Worker </p> 2154*912701f9SAndroid Build Coastguard Worker</xsl:template> 2155*912701f9SAndroid Build Coastguard Worker 2156*912701f9SAndroid Build Coastguard Worker<xsl:template name="insertTocLine"> 2157*912701f9SAndroid Build Coastguard Worker <xsl:param name="number" /> 2158*912701f9SAndroid Build Coastguard Worker <xsl:param name="target" /> 2159*912701f9SAndroid Build Coastguard Worker <xsl:param name="title" /> 2160*912701f9SAndroid Build Coastguard Worker 2161*912701f9SAndroid Build Coastguard Worker <!-- handle tocdepth parameter --> 2162*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2163*912701f9SAndroid Build Coastguard Worker <xsl:when test="string-length(translate($number,'.ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890§','.')) >= $parsedTocDepth"> 2164*912701f9SAndroid Build Coastguard Worker <!-- dropped entry --> 2165*912701f9SAndroid Build Coastguard Worker </xsl:when> 2166*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2167*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2168*912701f9SAndroid Build Coastguard Worker <xsl:when test="starts-with($number,'del-')"> 2169*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="'      '"/> 2170*912701f9SAndroid Build Coastguard Worker <del> 2171*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="$number" />  2172*912701f9SAndroid Build Coastguard Worker <a href="#{$target}"><xsl:value-of select="$title"/></a> 2173*912701f9SAndroid Build Coastguard Worker </del> 2174*912701f9SAndroid Build Coastguard Worker </xsl:when> 2175*912701f9SAndroid Build Coastguard Worker <xsl:when test="$number=''"> 2176*912701f9SAndroid Build Coastguard Worker <b> 2177*912701f9SAndroid Build Coastguard Worker    2178*912701f9SAndroid Build Coastguard Worker <a href="#{$target}"><xsl:value-of select="$title"/></a> 2179*912701f9SAndroid Build Coastguard Worker </b> 2180*912701f9SAndroid Build Coastguard Worker </xsl:when> 2181*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2182*912701f9SAndroid Build Coastguard Worker <b> 2183*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="translate($number,'.ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890§',' ')"/> 2184*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="$number" />  2185*912701f9SAndroid Build Coastguard Worker <a href="#{$target}"><xsl:value-of select="$title"/></a> 2186*912701f9SAndroid Build Coastguard Worker </b> 2187*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2188*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2189*912701f9SAndroid Build Coastguard Worker <br /> 2190*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2191*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2192*912701f9SAndroid Build Coastguard Worker</xsl:template> 2193*912701f9SAndroid Build Coastguard Worker 2194*912701f9SAndroid Build Coastguard Worker 2195*912701f9SAndroid Build Coastguard Worker<xsl:template match="back" mode="toc"> 2196*912701f9SAndroid Build Coastguard Worker 2197*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="references" mode="toc" /> 2198*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="/rfc/front" mode="toc" /> 2199*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="*[not(self::references)]" mode="toc" /> 2200*912701f9SAndroid Build Coastguard Worker 2201*912701f9SAndroid Build Coastguard Worker <!-- copyright statements --> 2202*912701f9SAndroid Build Coastguard Worker <xsl:if test="not($xml2rfc-private)"> 2203*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLine"> 2204*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="number" select="'§'"/> 2205*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="target" select="concat($anchor-prefix,'.ipr')"/> 2206*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="title" select="'Intellectual Property and Copyright Statements'"/> 2207*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2208*912701f9SAndroid Build Coastguard Worker </xsl:if> 2209*912701f9SAndroid Build Coastguard Worker 2210*912701f9SAndroid Build Coastguard Worker <!-- insert the index if index entries exist --> 2211*912701f9SAndroid Build Coastguard Worker <xsl:if test="//iref"> 2212*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLine"> 2213*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="number" select="'§'"/> 2214*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="target" select="concat($anchor-prefix,'.index')"/> 2215*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="title" select="'Index'"/> 2216*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2217*912701f9SAndroid Build Coastguard Worker </xsl:if> 2218*912701f9SAndroid Build Coastguard Worker 2219*912701f9SAndroid Build Coastguard Worker</xsl:template> 2220*912701f9SAndroid Build Coastguard Worker 2221*912701f9SAndroid Build Coastguard Worker<xsl:template match="front" mode="toc"> 2222*912701f9SAndroid Build Coastguard Worker 2223*912701f9SAndroid Build Coastguard Worker <xsl:variable name="title"> 2224*912701f9SAndroid Build Coastguard Worker <xsl:if test="count(author)=1">Author's Address</xsl:if> 2225*912701f9SAndroid Build Coastguard Worker <xsl:if test="count(author)!=1">Author's Addresses</xsl:if> 2226*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2227*912701f9SAndroid Build Coastguard Worker 2228*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLine"> 2229*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="number" select="'§'"/> 2230*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="target" select="concat($anchor-prefix,'.authors')"/> 2231*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="title" select="$title"/> 2232*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2233*912701f9SAndroid Build Coastguard Worker 2234*912701f9SAndroid Build Coastguard Worker</xsl:template> 2235*912701f9SAndroid Build Coastguard Worker 2236*912701f9SAndroid Build Coastguard Worker<xsl:template match="references" mode="toc"> 2237*912701f9SAndroid Build Coastguard Worker 2238*912701f9SAndroid Build Coastguard Worker <xsl:variable name="num"> 2239*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2240*912701f9SAndroid Build Coastguard Worker <xsl:when test="not(preceding::references)" /> 2241*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2242*912701f9SAndroid Build Coastguard Worker <xsl:text>.</xsl:text><xsl:number/> 2243*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2244*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2245*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2246*912701f9SAndroid Build Coastguard Worker 2247*912701f9SAndroid Build Coastguard Worker <xsl:variable name="title"> 2248*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2249*912701f9SAndroid Build Coastguard Worker <xsl:when test="@title!=''"><xsl:value-of select="@title" /></xsl:when> 2250*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>References</xsl:otherwise> 2251*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2252*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2253*912701f9SAndroid Build Coastguard Worker 2254*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLine"> 2255*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="number" select="'§'"/> 2256*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="target" select="concat($anchor-prefix,'.references',$num)"/> 2257*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="title" select="$title"/> 2258*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2259*912701f9SAndroid Build Coastguard Worker 2260*912701f9SAndroid Build Coastguard Worker</xsl:template> 2261*912701f9SAndroid Build Coastguard Worker 2262*912701f9SAndroid Build Coastguard Worker<xsl:template match="section" mode="toc"> 2263*912701f9SAndroid Build Coastguard Worker <xsl:variable name="sectionNumber"> 2264*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="get-section-number" /> 2265*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2266*912701f9SAndroid Build Coastguard Worker 2267*912701f9SAndroid Build Coastguard Worker <xsl:variable name="target"> 2268*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2269*912701f9SAndroid Build Coastguard Worker <xsl:when test="@anchor"><xsl:value-of select="@anchor" /></xsl:when> 2270*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:value-of select="$anchor-prefix"/>.section.<xsl:value-of select="$sectionNumber" /></xsl:otherwise> 2271*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2272*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2273*912701f9SAndroid Build Coastguard Worker 2274*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLine"> 2275*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="number" select="$sectionNumber"/> 2276*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="target" select="$target"/> 2277*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="title" select="@title"/> 2278*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2279*912701f9SAndroid Build Coastguard Worker 2280*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates mode="toc" /> 2281*912701f9SAndroid Build Coastguard Worker</xsl:template> 2282*912701f9SAndroid Build Coastguard Worker 2283*912701f9SAndroid Build Coastguard Worker<xsl:template match="middle" mode="toc"> 2284*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates mode="toc" /> 2285*912701f9SAndroid Build Coastguard Worker</xsl:template> 2286*912701f9SAndroid Build Coastguard Worker 2287*912701f9SAndroid Build Coastguard Worker<xsl:template match="rfc" mode="toc"> 2288*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="middle|back" mode="toc" /> 2289*912701f9SAndroid Build Coastguard Worker</xsl:template> 2290*912701f9SAndroid Build Coastguard Worker 2291*912701f9SAndroid Build Coastguard Worker<xsl:template match="ed:del|ed:ins|ed:replace" mode="toc"> 2292*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates mode="toc" /> 2293*912701f9SAndroid Build Coastguard Worker</xsl:template> 2294*912701f9SAndroid Build Coastguard Worker 2295*912701f9SAndroid Build Coastguard Worker<xsl:template match="*" mode="toc" /> 2296*912701f9SAndroid Build Coastguard Worker 2297*912701f9SAndroid Build Coastguard Worker 2298*912701f9SAndroid Build Coastguard Worker<xsl:template name="insertTocAppendix"> 2299*912701f9SAndroid Build Coastguard Worker 2300*912701f9SAndroid Build Coastguard Worker <xsl:if test="//figure[@title!='' or @anchor!='']"> 2301*912701f9SAndroid Build Coastguard Worker <p> 2302*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="//figure[@title!='' or @anchor!='']"> 2303*912701f9SAndroid Build Coastguard Worker <xsl:variable name="title">Figure <xsl:value-of select="position()"/><xsl:if test="@title">: <xsl:value-of select="@title"/></xsl:if> 2304*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2305*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertTocLine"> 2306*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="target" select="concat($anchor-prefix,'.figure.',position())" /> 2307*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="title" select="$title" /> 2308*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2309*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2310*912701f9SAndroid Build Coastguard Worker </p> 2311*912701f9SAndroid Build Coastguard Worker </xsl:if> 2312*912701f9SAndroid Build Coastguard Worker 2313*912701f9SAndroid Build Coastguard Worker <!-- experimental --> 2314*912701f9SAndroid Build Coastguard Worker <xsl:if test="//ed:issue"> 2315*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insertIssuesList" /> 2316*912701f9SAndroid Build Coastguard Worker </xsl:if> 2317*912701f9SAndroid Build Coastguard Worker 2318*912701f9SAndroid Build Coastguard Worker</xsl:template> 2319*912701f9SAndroid Build Coastguard Worker 2320*912701f9SAndroid Build Coastguard Worker<xsl:template name="insertTocLink"> 2321*912701f9SAndroid Build Coastguard Worker <xsl:param name="includeTitle" select="false()" /> 2322*912701f9SAndroid Build Coastguard Worker <xsl:param name="rule" /> 2323*912701f9SAndroid Build Coastguard Worker <xsl:if test="$rule"><hr class="noprint"/></xsl:if> 2324*912701f9SAndroid Build Coastguard Worker <xsl:if test="$includeTitle or $xml2rfc-toc='yes'"> 2325*912701f9SAndroid Build Coastguard Worker <table summary="link to TOC" class="noprint" style="margin-left: auto; margin-right: 0; float: right; width: 2.5em;"> 2326*912701f9SAndroid Build Coastguard Worker <xsl:if test="$includeTitle"> 2327*912701f9SAndroid Build Coastguard Worker <tr> 2328*912701f9SAndroid Build Coastguard Worker <td style="background-color: #000000; text-align: center; vertical-align: middle; height: 2.5em;"> 2329*912701f9SAndroid Build Coastguard Worker <b><span class="RFC"> RFC </span></b> 2330*912701f9SAndroid Build Coastguard Worker <xsl:if test="/rfc/@number"> 2331*912701f9SAndroid Build Coastguard Worker <br /> 2332*912701f9SAndroid Build Coastguard Worker <span class="hotText"><xsl:value-of select="/rfc/@number"/></span> 2333*912701f9SAndroid Build Coastguard Worker </xsl:if> 2334*912701f9SAndroid Build Coastguard Worker </td> 2335*912701f9SAndroid Build Coastguard Worker </tr> 2336*912701f9SAndroid Build Coastguard Worker </xsl:if> 2337*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-toc='yes'"> 2338*912701f9SAndroid Build Coastguard Worker <tr> 2339*912701f9SAndroid Build Coastguard Worker <td style="background-color: #990000; text-align: center; height: 1.5em;"> 2340*912701f9SAndroid Build Coastguard Worker <a href="#{$anchor-prefix}.toc"><b class="link2"> TOC </b></a> 2341*912701f9SAndroid Build Coastguard Worker </td> 2342*912701f9SAndroid Build Coastguard Worker </tr> 2343*912701f9SAndroid Build Coastguard Worker </xsl:if> 2344*912701f9SAndroid Build Coastguard Worker </table> 2345*912701f9SAndroid Build Coastguard Worker </xsl:if> 2346*912701f9SAndroid Build Coastguard Worker</xsl:template> 2347*912701f9SAndroid Build Coastguard Worker 2348*912701f9SAndroid Build Coastguard Worker 2349*912701f9SAndroid Build Coastguard Worker<xsl:template name="referencename"> 2350*912701f9SAndroid Build Coastguard Worker <xsl:param name="node" /> 2351*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2352*912701f9SAndroid Build Coastguard Worker <xsl:when test="$xml2rfc-symrefs='yes'">[<xsl:value-of select="$node/@anchor" />]</xsl:when> 2353*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:for-each select="$node">[<xsl:number level="any" />]</xsl:for-each></xsl:otherwise> 2354*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2355*912701f9SAndroid Build Coastguard Worker</xsl:template> 2356*912701f9SAndroid Build Coastguard Worker 2357*912701f9SAndroid Build Coastguard Worker 2358*912701f9SAndroid Build Coastguard Worker 2359*912701f9SAndroid Build Coastguard Worker<xsl:template name="replace-substring"> 2360*912701f9SAndroid Build Coastguard Worker 2361*912701f9SAndroid Build Coastguard Worker <xsl:param name="string" /> 2362*912701f9SAndroid Build Coastguard Worker <xsl:param name="replace" /> 2363*912701f9SAndroid Build Coastguard Worker <xsl:param name="by" /> 2364*912701f9SAndroid Build Coastguard Worker 2365*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2366*912701f9SAndroid Build Coastguard Worker <xsl:when test="contains($string,$replace)"> 2367*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat(substring-before($string, $replace),$by)" /> 2368*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="replace-substring"> 2369*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="string" select="substring-after($string,$replace)" /> 2370*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="replace" select="$replace" /> 2371*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="by" select="$by" /> 2372*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2373*912701f9SAndroid Build Coastguard Worker </xsl:when> 2374*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:value-of select="$string" /></xsl:otherwise> 2375*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2376*912701f9SAndroid Build Coastguard Worker 2377*912701f9SAndroid Build Coastguard Worker</xsl:template> 2378*912701f9SAndroid Build Coastguard Worker 2379*912701f9SAndroid Build Coastguard Worker<xsl:template name="showArtworkLine"> 2380*912701f9SAndroid Build Coastguard Worker <xsl:param name="line" /> 2381*912701f9SAndroid Build Coastguard Worker <xsl:param name="mode" /> 2382*912701f9SAndroid Build Coastguard Worker 2383*912701f9SAndroid Build Coastguard Worker <xsl:variable name="maxw" select="69" /> 2384*912701f9SAndroid Build Coastguard Worker 2385*912701f9SAndroid Build Coastguard Worker <xsl:if test="string-length($line) > $maxw"> 2386*912701f9SAndroid Build Coastguard Worker <xsl:message>Artwork exceeds maximum width: <xsl:value-of select="$line" /></xsl:message> 2387*912701f9SAndroid Build Coastguard Worker </xsl:if> 2388*912701f9SAndroid Build Coastguard Worker 2389*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2390*912701f9SAndroid Build Coastguard Worker <xsl:when test="$mode='html'"> 2391*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="substring($line,0,$maxw)" /> 2392*912701f9SAndroid Build Coastguard Worker <xsl:if test="string-length($line) >= $maxw"> 2393*912701f9SAndroid Build Coastguard Worker <span class="toowide"><xsl:value-of select="substring($line,$maxw)" /></span> 2394*912701f9SAndroid Build Coastguard Worker </xsl:if> 2395*912701f9SAndroid Build Coastguard Worker <xsl:text> </xsl:text> 2396*912701f9SAndroid Build Coastguard Worker </xsl:when> 2397*912701f9SAndroid Build Coastguard Worker <xsl:when test="$mode='wordml'"> 2398*912701f9SAndroid Build Coastguard Worker <r xmlns="http://schemas.microsoft.com/office/word/2003/wordml"> 2399*912701f9SAndroid Build Coastguard Worker <t><xsl:value-of select="translate($line,' ',' ')"/></t> 2400*912701f9SAndroid Build Coastguard Worker </r> 2401*912701f9SAndroid Build Coastguard Worker </xsl:when> 2402*912701f9SAndroid Build Coastguard Worker <xsl:when test="$mode='nroff'"> 2403*912701f9SAndroid Build Coastguard Worker <xsl:variable name="cline"> 2404*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="replace-substring"> 2405*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="string" select="$line" /> 2406*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="replace" select="'\'" /> 2407*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="by" select="'\\'" /> 2408*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2409*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2410*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat($cline,' ')" /> 2411*912701f9SAndroid Build Coastguard Worker </xsl:when> 2412*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:value-of select="concat($line,' ')" /></xsl:otherwise> 2413*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2414*912701f9SAndroid Build Coastguard Worker 2415*912701f9SAndroid Build Coastguard Worker</xsl:template> 2416*912701f9SAndroid Build Coastguard Worker 2417*912701f9SAndroid Build Coastguard Worker<xsl:template name="showArtwork"> 2418*912701f9SAndroid Build Coastguard Worker <xsl:param name="mode" /> 2419*912701f9SAndroid Build Coastguard Worker <xsl:param name="text" /> 2420*912701f9SAndroid Build Coastguard Worker <xsl:param name="initial" /> 2421*912701f9SAndroid Build Coastguard Worker <xsl:variable name="delim" select="' '" /> 2422*912701f9SAndroid Build Coastguard Worker <xsl:variable name="first" select="substring-before($text,$delim)" /> 2423*912701f9SAndroid Build Coastguard Worker <xsl:variable name="remainder" select="substring-after($text,$delim)" /> 2424*912701f9SAndroid Build Coastguard Worker 2425*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2426*912701f9SAndroid Build Coastguard Worker <xsl:when test="not(contains($text,$delim))"> 2427*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="showArtworkLine"> 2428*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="line" select="$text" /> 2429*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="mode" select="$mode" /> 2430*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2431*912701f9SAndroid Build Coastguard Worker </xsl:when> 2432*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2433*912701f9SAndroid Build Coastguard Worker <!-- suppress empty initial lines --> 2434*912701f9SAndroid Build Coastguard Worker <xsl:if test="$initial!='yes' or normalize-space($first)!=''"> 2435*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="showArtworkLine"> 2436*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="line" select="$first" /> 2437*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="mode" select="$mode" /> 2438*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2439*912701f9SAndroid Build Coastguard Worker <xsl:if test="$mode='wordml' and $remainder!=''"> 2440*912701f9SAndroid Build Coastguard Worker <r xmlns="http://schemas.microsoft.com/office/word/2003/wordml"> 2441*912701f9SAndroid Build Coastguard Worker <br /> 2442*912701f9SAndroid Build Coastguard Worker </r> 2443*912701f9SAndroid Build Coastguard Worker </xsl:if> 2444*912701f9SAndroid Build Coastguard Worker </xsl:if> 2445*912701f9SAndroid Build Coastguard Worker <xsl:if test="$remainder!=''"> 2446*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="showArtwork"> 2447*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="text" select="$remainder" /> 2448*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="mode" select="$mode" /> 2449*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2450*912701f9SAndroid Build Coastguard Worker </xsl:if> 2451*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2452*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2453*912701f9SAndroid Build Coastguard Worker 2454*912701f9SAndroid Build Coastguard Worker</xsl:template> 2455*912701f9SAndroid Build Coastguard Worker 2456*912701f9SAndroid Build Coastguard Worker 2457*912701f9SAndroid Build Coastguard Worker<!--<xsl:template name="dump"> 2458*912701f9SAndroid Build Coastguard Worker <xsl:param name="text" /> 2459*912701f9SAndroid Build Coastguard Worker <xsl:variable name="c" select="substring($text,1,1)"/> 2460*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2461*912701f9SAndroid Build Coastguard Worker <xsl:when test="$c='	'">&#9;</xsl:when> 2462*912701f9SAndroid Build Coastguard Worker <xsl:when test="$c=' '">&#10;</xsl:when> 2463*912701f9SAndroid Build Coastguard Worker <xsl:when test="$c=' '">&#13;</xsl:when> 2464*912701f9SAndroid Build Coastguard Worker <xsl:when test="$c='&'">&amp;</xsl:when> 2465*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:value-of select="$c" /></xsl:otherwise> 2466*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2467*912701f9SAndroid Build Coastguard Worker <xsl:if test="string-length($text) > 1"> 2468*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="dump"> 2469*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="text" select="substring($text,2)" /> 2470*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2471*912701f9SAndroid Build Coastguard Worker </xsl:if> 2472*912701f9SAndroid Build Coastguard Worker</xsl:template>--> 2473*912701f9SAndroid Build Coastguard Worker 2474*912701f9SAndroid Build Coastguard Worker 2475*912701f9SAndroid Build Coastguard Worker<xsl:template name="rfclist"> 2476*912701f9SAndroid Build Coastguard Worker <xsl:param name="list" /> 2477*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2478*912701f9SAndroid Build Coastguard Worker <xsl:when test="contains($list,',')"> 2479*912701f9SAndroid Build Coastguard Worker <xsl:variable name="rfcNo" select="substring-before($list,',')" /> 2480*912701f9SAndroid Build Coastguard Worker <a href="{concat($rfcUrlPrefix,$rfcNo,'.txt')}"><xsl:value-of select="$rfcNo" /></a>, 2481*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="rfclist"> 2482*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="list" select="normalize-space(substring-after($list,','))" /> 2483*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2484*912701f9SAndroid Build Coastguard Worker </xsl:when> 2485*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2486*912701f9SAndroid Build Coastguard Worker <xsl:variable name="rfcNo" select="$list" /> 2487*912701f9SAndroid Build Coastguard Worker <a href="{concat($rfcUrlPrefix,$rfcNo,'.txt')}"><xsl:value-of select="$rfcNo" /></a> 2488*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2489*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2490*912701f9SAndroid Build Coastguard Worker</xsl:template> 2491*912701f9SAndroid Build Coastguard Worker 2492*912701f9SAndroid Build Coastguard Worker<xsl:template name="rfclist-for-dcmeta"> 2493*912701f9SAndroid Build Coastguard Worker <xsl:param name="list" /> 2494*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2495*912701f9SAndroid Build Coastguard Worker <xsl:when test="contains($list,',')"> 2496*912701f9SAndroid Build Coastguard Worker <xsl:variable name="rfcNo" select="substring-before($list,',')" /> 2497*912701f9SAndroid Build Coastguard Worker <meta name="DC.Relation.Replaces" content="urn:ietf:rfc:{$rfcNo}" /> 2498*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="rfclist-for-dcmeta"> 2499*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="list" select="normalize-space(substring-after($list,','))" /> 2500*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2501*912701f9SAndroid Build Coastguard Worker </xsl:when> 2502*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2503*912701f9SAndroid Build Coastguard Worker <xsl:variable name="rfcNo" select="$list" /> 2504*912701f9SAndroid Build Coastguard Worker <meta name="DC.Relation.Replaces" content="urn:ietf:rfc:{$rfcNo}" /> 2505*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2506*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2507*912701f9SAndroid Build Coastguard Worker</xsl:template> 2508*912701f9SAndroid Build Coastguard Worker 2509*912701f9SAndroid Build Coastguard Worker<xsl:template name="sectionnumberPara"> 2510*912701f9SAndroid Build Coastguard Worker <!-- get section number of ancestor section element, then add t or figure number --> 2511*912701f9SAndroid Build Coastguard Worker <xsl:if test="ancestor::section and not(ancestor::section[@myns:unnumbered='unnumbered'])"> 2512*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="ancestor::section[1]"><xsl:call-template name="get-section-number" />.p.</xsl:for-each><xsl:number count="t|figure" /> 2513*912701f9SAndroid Build Coastguard Worker </xsl:if> 2514*912701f9SAndroid Build Coastguard Worker</xsl:template> 2515*912701f9SAndroid Build Coastguard Worker 2516*912701f9SAndroid Build Coastguard Worker<xsl:template name="editingMark"> 2517*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-editing='yes' and ancestor::rfc"> 2518*912701f9SAndroid Build Coastguard Worker <sup class="editingmark"><span><xsl:number level="any" count="postamble|preamble|t"/></span> </sup> 2519*912701f9SAndroid Build Coastguard Worker </xsl:if> 2520*912701f9SAndroid Build Coastguard Worker</xsl:template> 2521*912701f9SAndroid Build Coastguard Worker 2522*912701f9SAndroid Build Coastguard Worker<!-- experimental annotation support --> 2523*912701f9SAndroid Build Coastguard Worker 2524*912701f9SAndroid Build Coastguard Worker<xsl:template match="ed:issue"> 2525*912701f9SAndroid Build Coastguard Worker <xsl:variable name="class"> 2526*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2527*912701f9SAndroid Build Coastguard Worker <xsl:when test="@status='closed'">closedissue</xsl:when> 2528*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>openissue</xsl:otherwise> 2529*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2530*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2531*912701f9SAndroid Build Coastguard Worker 2532*912701f9SAndroid Build Coastguard Worker <table summary="issue {@name}" class="{$class}"> 2533*912701f9SAndroid Build Coastguard Worker <tr> 2534*912701f9SAndroid Build Coastguard Worker <td colspan="3"> 2535*912701f9SAndroid Build Coastguard Worker <a name="{$anchor-prefix}.issue.{@name}"> 2536*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2537*912701f9SAndroid Build Coastguard Worker <xsl:when test="@status='closed'"> 2538*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">closed-issue</xsl:attribute> 2539*912701f9SAndroid Build Coastguard Worker </xsl:when> 2540*912701f9SAndroid Build Coastguard Worker <xsl:when test="@status='editor'"> 2541*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">editor-issue</xsl:attribute> 2542*912701f9SAndroid Build Coastguard Worker </xsl:when> 2543*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2544*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">open-issue</xsl:attribute> 2545*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2546*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2547*912701f9SAndroid Build Coastguard Worker <xsl:text> i </xsl:text> 2548*912701f9SAndroid Build Coastguard Worker </a> 2549*912701f9SAndroid Build Coastguard Worker <xsl:text> </xsl:text> 2550*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2551*912701f9SAndroid Build Coastguard Worker <xsl:when test="@href"> 2552*912701f9SAndroid Build Coastguard Worker <em><a href="{@href}"><xsl:value-of select="@name" /></a></em> 2553*912701f9SAndroid Build Coastguard Worker </xsl:when> 2554*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2555*912701f9SAndroid Build Coastguard Worker <em><xsl:value-of select="@name" /></em> 2556*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2557*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2558*912701f9SAndroid Build Coastguard Worker   2559*912701f9SAndroid Build Coastguard Worker (type: <xsl:value-of select="@type"/>, status: <xsl:value-of select="@status"/>) 2560*912701f9SAndroid Build Coastguard Worker </td> 2561*912701f9SAndroid Build Coastguard Worker </tr> 2562*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="ed:item"> 2563*912701f9SAndroid Build Coastguard Worker <tr> 2564*912701f9SAndroid Build Coastguard Worker <td class="top"> 2565*912701f9SAndroid Build Coastguard Worker <a href="mailto:{@entered-by}?subject={/rfc/@docName}, {../@name}"><i><xsl:value-of select="@entered-by"/></i></a> 2566*912701f9SAndroid Build Coastguard Worker </td> 2567*912701f9SAndroid Build Coastguard Worker <td class="topnowrap"> 2568*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="@date"/> 2569*912701f9SAndroid Build Coastguard Worker </td> 2570*912701f9SAndroid Build Coastguard Worker <td class="top"> 2571*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="copynodes"> 2572*912701f9SAndroid Build Coastguard Worker <xsl:with-param name="nodes" select="node()" /> 2573*912701f9SAndroid Build Coastguard Worker </xsl:call-template> 2574*912701f9SAndroid Build Coastguard Worker </td> 2575*912701f9SAndroid Build Coastguard Worker </tr> 2576*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2577*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="ed:resolution"> 2578*912701f9SAndroid Build Coastguard Worker <tr> 2579*912701f9SAndroid Build Coastguard Worker <td class="top"> 2580*912701f9SAndroid Build Coastguard Worker <xsl:if test="@entered-by"> 2581*912701f9SAndroid Build Coastguard Worker <a href="mailto:{@entered-by}?subject={/rfc/@docName}, {../@name}"><i><xsl:value-of select="@entered-by"/></i></a> 2582*912701f9SAndroid Build Coastguard Worker </xsl:if> 2583*912701f9SAndroid Build Coastguard Worker </td> 2584*912701f9SAndroid Build Coastguard Worker <td class="topnowrap"> 2585*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="@datetime"/> 2586*912701f9SAndroid Build Coastguard Worker </td> 2587*912701f9SAndroid Build Coastguard Worker <td class="top"> 2588*912701f9SAndroid Build Coastguard Worker <em>Resolution:</em> <xsl:copy-of select="node()" /> 2589*912701f9SAndroid Build Coastguard Worker </td> 2590*912701f9SAndroid Build Coastguard Worker </tr> 2591*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2592*912701f9SAndroid Build Coastguard Worker </table> 2593*912701f9SAndroid Build Coastguard Worker 2594*912701f9SAndroid Build Coastguard Worker</xsl:template> 2595*912701f9SAndroid Build Coastguard Worker 2596*912701f9SAndroid Build Coastguard Worker<xsl:template name="insertIssuesList"> 2597*912701f9SAndroid Build Coastguard Worker 2598*912701f9SAndroid Build Coastguard Worker <h2><a name="{$anchor-prefix}.issues-list">Issues list</a></h2> 2599*912701f9SAndroid Build Coastguard Worker <table summary="Issues list"> 2600*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="//ed:issue"> 2601*912701f9SAndroid Build Coastguard Worker <xsl:sort select="@status" /> 2602*912701f9SAndroid Build Coastguard Worker <xsl:sort select="@name" /> 2603*912701f9SAndroid Build Coastguard Worker <tr> 2604*912701f9SAndroid Build Coastguard Worker <td><a href="#{$anchor-prefix}.issue.{@name}"><xsl:value-of select="@name" /></a></td> 2605*912701f9SAndroid Build Coastguard Worker <td><xsl:value-of select="@type" /></td> 2606*912701f9SAndroid Build Coastguard Worker <td><xsl:value-of select="@status" /></td> 2607*912701f9SAndroid Build Coastguard Worker <td><xsl:value-of select="ed:item[1]/@date" /></td> 2608*912701f9SAndroid Build Coastguard Worker <td><a href="mailto:{ed:item[1]/@entered-by}?subject={/rfc/@docName}, {@name}"><xsl:value-of select="ed:item[1]/@entered-by" /></a></td> 2609*912701f9SAndroid Build Coastguard Worker </tr> 2610*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2611*912701f9SAndroid Build Coastguard Worker </table> 2612*912701f9SAndroid Build Coastguard Worker 2613*912701f9SAndroid Build Coastguard Worker</xsl:template> 2614*912701f9SAndroid Build Coastguard Worker 2615*912701f9SAndroid Build Coastguard Worker<xsl:template name="formatTitle"> 2616*912701f9SAndroid Build Coastguard Worker <xsl:if test="@who"> 2617*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="@who" /> 2618*912701f9SAndroid Build Coastguard Worker </xsl:if> 2619*912701f9SAndroid Build Coastguard Worker <xsl:if test="@datetime"> 2620*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat(' (',@datetime,')')" /> 2621*912701f9SAndroid Build Coastguard Worker </xsl:if> 2622*912701f9SAndroid Build Coastguard Worker <xsl:if test="@reason"> 2623*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat(': ',@reason)" /> 2624*912701f9SAndroid Build Coastguard Worker </xsl:if> 2625*912701f9SAndroid Build Coastguard Worker <xsl:if test="@cite"> 2626*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat(' <',@cite,'>')" /> 2627*912701f9SAndroid Build Coastguard Worker </xsl:if> 2628*912701f9SAndroid Build Coastguard Worker</xsl:template> 2629*912701f9SAndroid Build Coastguard Worker 2630*912701f9SAndroid Build Coastguard Worker<xsl:template name="insert-diagnostics"> 2631*912701f9SAndroid Build Coastguard Worker 2632*912701f9SAndroid Build Coastguard Worker <!-- check anchor names --> 2633*912701f9SAndroid Build Coastguard Worker <xsl:variable name="badAnchors" select="//*[starts-with(@anchor,concat($anchor-prefix,'.'))]" /> 2634*912701f9SAndroid Build Coastguard Worker <xsl:if test="$badAnchors"> 2635*912701f9SAndroid Build Coastguard Worker <p class="warning"> 2636*912701f9SAndroid Build Coastguard Worker The following anchor names may collide with internally generated anchors because of their prefix "<xsl:value-of select="$anchor-prefix" />": 2637*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="$badAnchors"> 2638*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="@anchor"/><xsl:if test="position()!=last()">, </xsl:if> 2639*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2640*912701f9SAndroid Build Coastguard Worker </p> 2641*912701f9SAndroid Build Coastguard Worker <xsl:message> 2642*912701f9SAndroid Build Coastguard Worker The following anchor names may collide with internally generated anchors because of their prefix "<xsl:value-of select="$anchor-prefix" />": 2643*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="$badAnchors"> 2644*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="@anchor"/><xsl:if test="position()!=last()">, </xsl:if> 2645*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2646*912701f9SAndroid Build Coastguard Worker </xsl:message> 2647*912701f9SAndroid Build Coastguard Worker </xsl:if> 2648*912701f9SAndroid Build Coastguard Worker 2649*912701f9SAndroid Build Coastguard Worker <!-- check IDs --> 2650*912701f9SAndroid Build Coastguard Worker <xsl:variable name="badTargets" select="//xref[not(@target=//@anchor) and not(ancestor::ed:del)]" /> 2651*912701f9SAndroid Build Coastguard Worker <xsl:if test="$badTargets"> 2652*912701f9SAndroid Build Coastguard Worker <p class="error"> 2653*912701f9SAndroid Build Coastguard Worker The following target names do not exist: 2654*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="$badTargets"> 2655*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="@target"/><xsl:if test="position()!=last()">, </xsl:if> 2656*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2657*912701f9SAndroid Build Coastguard Worker </p> 2658*912701f9SAndroid Build Coastguard Worker <xsl:message> 2659*912701f9SAndroid Build Coastguard Worker The following target names do not exist: 2660*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="$badTargets"> 2661*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="@target"/><xsl:if test="position()!=last()">, </xsl:if> 2662*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2663*912701f9SAndroid Build Coastguard Worker </xsl:message> 2664*912701f9SAndroid Build Coastguard Worker </xsl:if> 2665*912701f9SAndroid Build Coastguard Worker 2666*912701f9SAndroid Build Coastguard Worker 2667*912701f9SAndroid Build Coastguard Worker</xsl:template> 2668*912701f9SAndroid Build Coastguard Worker 2669*912701f9SAndroid Build Coastguard Worker<!-- special change mark support, not supported by RFC2629 yet --> 2670*912701f9SAndroid Build Coastguard Worker 2671*912701f9SAndroid Build Coastguard Worker<xsl:template match="@ed:*" /> 2672*912701f9SAndroid Build Coastguard Worker 2673*912701f9SAndroid Build Coastguard Worker<xsl:template match="ed:del"> 2674*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insert-issue-pointer"/> 2675*912701f9SAndroid Build Coastguard Worker <del> 2676*912701f9SAndroid Build Coastguard Worker <xsl:copy-of select="@*[namespace-uri()='']"/> 2677*912701f9SAndroid Build Coastguard Worker <xsl:if test="not(@title) and ancestor-or-self::*[@ed:entered-by] and @datetime"> 2678*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="title"><xsl:value-of select="concat(@datetime,', ',ancestor-or-self::*[@ed:entered-by][1]/@ed:entered-by)"/></xsl:attribute> 2679*912701f9SAndroid Build Coastguard Worker </xsl:if> 2680*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 2681*912701f9SAndroid Build Coastguard Worker </del> 2682*912701f9SAndroid Build Coastguard Worker</xsl:template> 2683*912701f9SAndroid Build Coastguard Worker 2684*912701f9SAndroid Build Coastguard Worker<xsl:template match="ed:ins"> 2685*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insert-issue-pointer"/> 2686*912701f9SAndroid Build Coastguard Worker <ins> 2687*912701f9SAndroid Build Coastguard Worker <xsl:copy-of select="@*[namespace-uri()='']"/> 2688*912701f9SAndroid Build Coastguard Worker <xsl:if test="not(@title) and ancestor-or-self::*[@ed:entered-by] and @datetime"> 2689*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="title"><xsl:value-of select="concat(@datetime,', ',ancestor-or-self::*[@ed:entered-by][1]/@ed:entered-by)"/></xsl:attribute> 2690*912701f9SAndroid Build Coastguard Worker </xsl:if> 2691*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 2692*912701f9SAndroid Build Coastguard Worker </ins> 2693*912701f9SAndroid Build Coastguard Worker</xsl:template> 2694*912701f9SAndroid Build Coastguard Worker 2695*912701f9SAndroid Build Coastguard Worker<xsl:template name="insert-issue-pointer"> 2696*912701f9SAndroid Build Coastguard Worker <xsl:if test="@ed:resolves"> 2697*912701f9SAndroid Build Coastguard Worker <xsl:variable name="resolves" select="@ed:resolves"/> 2698*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2699*912701f9SAndroid Build Coastguard Worker <xsl:when test="not(ancestor::t)"> 2700*912701f9SAndroid Build Coastguard Worker <div><a class="open-issue" href="#{$anchor-prefix}.issue.{$resolves}" title="resolves: {$resolves}"> 2701*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2702*912701f9SAndroid Build Coastguard Worker <xsl:when test="//ed:issue[@name=$resolves and @status='closed']"> 2703*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">closed-issue</xsl:attribute> 2704*912701f9SAndroid Build Coastguard Worker </xsl:when> 2705*912701f9SAndroid Build Coastguard Worker <xsl:when test="//ed:issue[@name=$resolves and @status='editor']"> 2706*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">editor-issue</xsl:attribute> 2707*912701f9SAndroid Build Coastguard Worker </xsl:when> 2708*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2709*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">open-issue</xsl:attribute> 2710*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2711*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2712*912701f9SAndroid Build Coastguard Worker <xsl:text> i </xsl:text> 2713*912701f9SAndroid Build Coastguard Worker </a></div> 2714*912701f9SAndroid Build Coastguard Worker </xsl:when> 2715*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2716*912701f9SAndroid Build Coastguard Worker <a class="open-issue" href="#{$anchor-prefix}.issue.{$resolves}" title="resolves: {$resolves}"> 2717*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2718*912701f9SAndroid Build Coastguard Worker <xsl:when test="//ed:issue[@name=$resolves and @status='closed']"> 2719*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">closed-issue</xsl:attribute> 2720*912701f9SAndroid Build Coastguard Worker </xsl:when> 2721*912701f9SAndroid Build Coastguard Worker <xsl:when test="//ed:issue[@name=$resolves and @status='editor']"> 2722*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">editor-issue</xsl:attribute> 2723*912701f9SAndroid Build Coastguard Worker </xsl:when> 2724*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2725*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">open-issue</xsl:attribute> 2726*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2727*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2728*912701f9SAndroid Build Coastguard Worker <xsl:text> i </xsl:text> 2729*912701f9SAndroid Build Coastguard Worker </a> 2730*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2731*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2732*912701f9SAndroid Build Coastguard Worker </xsl:if> 2733*912701f9SAndroid Build Coastguard Worker</xsl:template> 2734*912701f9SAndroid Build Coastguard Worker 2735*912701f9SAndroid Build Coastguard Worker<xsl:template match="ed:replace"> 2736*912701f9SAndroid Build Coastguard Worker <xsl:if test="@cite"> 2737*912701f9SAndroid Build Coastguard Worker <a class="editor-issue" href="{@cite}" target="_blank" title="see {@cite}"> 2738*912701f9SAndroid Build Coastguard Worker <xsl:text> i </xsl:text> 2739*912701f9SAndroid Build Coastguard Worker </a> 2740*912701f9SAndroid Build Coastguard Worker </xsl:if> 2741*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="insert-issue-pointer"/> 2742*912701f9SAndroid Build Coastguard Worker <xsl:if test="ed:del"> 2743*912701f9SAndroid Build Coastguard Worker <del> 2744*912701f9SAndroid Build Coastguard Worker <xsl:copy-of select="@*[namespace-uri()='']"/> 2745*912701f9SAndroid Build Coastguard Worker <xsl:if test="not(@title) and ancestor-or-self::*[@ed:entered-by] and @datetime"> 2746*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="title"><xsl:value-of select="concat(@datetime,', ',ancestor-or-self::*[@ed:entered-by][1]/@ed:entered-by)"/></xsl:attribute> 2747*912701f9SAndroid Build Coastguard Worker </xsl:if> 2748*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="ed:del/node()" /> 2749*912701f9SAndroid Build Coastguard Worker </del> 2750*912701f9SAndroid Build Coastguard Worker </xsl:if> 2751*912701f9SAndroid Build Coastguard Worker <xsl:if test="ed:ins"> 2752*912701f9SAndroid Build Coastguard Worker <ins> 2753*912701f9SAndroid Build Coastguard Worker <xsl:copy-of select="@*[namespace-uri()='']"/> 2754*912701f9SAndroid Build Coastguard Worker <xsl:if test="not(@title) and ancestor-or-self::*[@ed:entered-by] and @datetime"> 2755*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="title"><xsl:value-of select="concat(@datetime,', ',ancestor-or-self::*[@ed:entered-by][1]/@ed:entered-by)"/></xsl:attribute> 2756*912701f9SAndroid Build Coastguard Worker </xsl:if> 2757*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="ed:ins/node()" /> 2758*912701f9SAndroid Build Coastguard Worker </ins> 2759*912701f9SAndroid Build Coastguard Worker </xsl:if> 2760*912701f9SAndroid Build Coastguard Worker</xsl:template> 2761*912701f9SAndroid Build Coastguard Worker 2762*912701f9SAndroid Build Coastguard Worker<!-- convenience template for helping Mozilla (pre/ins inheritance problem) --> 2763*912701f9SAndroid Build Coastguard Worker<xsl:template name="insertInsDelClass"> 2764*912701f9SAndroid Build Coastguard Worker <xsl:if test="ancestor::ed:del"> 2765*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">del</xsl:attribute> 2766*912701f9SAndroid Build Coastguard Worker </xsl:if> 2767*912701f9SAndroid Build Coastguard Worker <xsl:if test="ancestor::ed:ins"> 2768*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">ins</xsl:attribute> 2769*912701f9SAndroid Build Coastguard Worker </xsl:if> 2770*912701f9SAndroid Build Coastguard Worker</xsl:template> 2771*912701f9SAndroid Build Coastguard Worker 2772*912701f9SAndroid Build Coastguard Worker 2773*912701f9SAndroid Build Coastguard Worker<xsl:template name="sectionnumberAndEdits"> 2774*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2775*912701f9SAndroid Build Coastguard Worker <xsl:when test="ancestor::ed:del">del-<xsl:number count="ed:del//section" level="any"/></xsl:when> 2776*912701f9SAndroid Build Coastguard Worker <xsl:when test="self::section and parent::ed:ins and local-name(../..)='replace'"> 2777*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="../.."><xsl:call-template name="sectionnumberAndEdits" /></xsl:for-each> 2778*912701f9SAndroid Build Coastguard Worker <xsl:for-each select=".."> 2779*912701f9SAndroid Build Coastguard Worker <xsl:if test="parent::ed:replace"> 2780*912701f9SAndroid Build Coastguard Worker <xsl:for-each select=".."> 2781*912701f9SAndroid Build Coastguard Worker <xsl:if test="parent::section">.</xsl:if><xsl:value-of select="1+count(preceding-sibling::section|preceding-sibling::ed:ins/section|preceding-sibling::ed:replace/ed:ins/section)" /> 2782*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2783*912701f9SAndroid Build Coastguard Worker </xsl:if> 2784*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2785*912701f9SAndroid Build Coastguard Worker </xsl:when> 2786*912701f9SAndroid Build Coastguard Worker <xsl:when test="self::section[parent::ed:ins]"> 2787*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="../.."><xsl:call-template name="sectionnumberAndEdits" /></xsl:for-each> 2788*912701f9SAndroid Build Coastguard Worker <xsl:for-each select=".."> 2789*912701f9SAndroid Build Coastguard Worker <xsl:if test="parent::section">.</xsl:if><xsl:value-of select="1+count(preceding-sibling::section|preceding-sibling::ed:ins/section|preceding-sibling::ed:replace/ed:ins/section)" /> 2790*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2791*912701f9SAndroid Build Coastguard Worker </xsl:when> 2792*912701f9SAndroid Build Coastguard Worker <xsl:when test="self::section"> 2793*912701f9SAndroid Build Coastguard Worker <xsl:for-each select=".."><xsl:call-template name="sectionnumberAndEdits" /></xsl:for-each> 2794*912701f9SAndroid Build Coastguard Worker <xsl:if test="parent::section">.</xsl:if> 2795*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2796*912701f9SAndroid Build Coastguard Worker <xsl:when test="parent::back"> 2797*912701f9SAndroid Build Coastguard Worker <xsl:number format="A" value="1+count(preceding-sibling::section|preceding-sibling::ed:ins/section|preceding-sibling::ed:replace/ed:ins/section)" /> 2798*912701f9SAndroid Build Coastguard Worker </xsl:when> 2799*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2800*912701f9SAndroid Build Coastguard Worker <xsl:number value="1+count(preceding-sibling::section|preceding-sibling::ed:ins/section|preceding-sibling::ed:replace/ed:ins/section)" /> 2801*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2802*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2803*912701f9SAndroid Build Coastguard Worker </xsl:when> 2804*912701f9SAndroid Build Coastguard Worker <xsl:when test="self::middle or self::back"><!-- done --></xsl:when> 2805*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2806*912701f9SAndroid Build Coastguard Worker <!-- go up one level --> 2807*912701f9SAndroid Build Coastguard Worker <xsl:for-each select=".."><xsl:call-template name="sectionnumberAndEdits" /></xsl:for-each> 2808*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2809*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2810*912701f9SAndroid Build Coastguard Worker</xsl:template> 2811*912701f9SAndroid Build Coastguard Worker 2812*912701f9SAndroid Build Coastguard Worker<!-- experimental table formatting --> 2813*912701f9SAndroid Build Coastguard Worker 2814*912701f9SAndroid Build Coastguard Worker<xsl:template match="texttable"> 2815*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="preamble" /> 2816*912701f9SAndroid Build Coastguard Worker <table summary="{preamble}" border="1" cellpadding="3" cellspacing="0"> 2817*912701f9SAndroid Build Coastguard Worker <thead> 2818*912701f9SAndroid Build Coastguard Worker <tr> 2819*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="ttcol" /> 2820*912701f9SAndroid Build Coastguard Worker </tr> 2821*912701f9SAndroid Build Coastguard Worker </thead> 2822*912701f9SAndroid Build Coastguard Worker <tbody> 2823*912701f9SAndroid Build Coastguard Worker <xsl:variable name="columns" select="count(ttcol)" /> 2824*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="c[(position() mod $columns) = 1]"> 2825*912701f9SAndroid Build Coastguard Worker <tr> 2826*912701f9SAndroid Build Coastguard Worker <xsl:for-each select=". | following-sibling::c[position() < $columns]"> 2827*912701f9SAndroid Build Coastguard Worker <td class="top"> 2828*912701f9SAndroid Build Coastguard Worker <xsl:variable name="pos" select="position()" /> 2829*912701f9SAndroid Build Coastguard Worker <xsl:variable name="col" select="../ttcol[position() = $pos]" /> 2830*912701f9SAndroid Build Coastguard Worker <xsl:if test="$col/@align"> 2831*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="style">text-align: <xsl:value-of select="$col/@align" />;</xsl:attribute> 2832*912701f9SAndroid Build Coastguard Worker </xsl:if> 2833*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="node()" /> 2834*912701f9SAndroid Build Coastguard Worker   2835*912701f9SAndroid Build Coastguard Worker </td> 2836*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2837*912701f9SAndroid Build Coastguard Worker </tr> 2838*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2839*912701f9SAndroid Build Coastguard Worker </tbody> 2840*912701f9SAndroid Build Coastguard Worker </table> 2841*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates select="postamble" /> 2842*912701f9SAndroid Build Coastguard Worker</xsl:template> 2843*912701f9SAndroid Build Coastguard Worker 2844*912701f9SAndroid Build Coastguard Worker<xsl:template match="ttcol"> 2845*912701f9SAndroid Build Coastguard Worker <th valign="top"> 2846*912701f9SAndroid Build Coastguard Worker <xsl:variable name="width"> 2847*912701f9SAndroid Build Coastguard Worker <xsl:if test="@width">width: <xsl:value-of select="@width" />; </xsl:if> 2848*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2849*912701f9SAndroid Build Coastguard Worker <xsl:variable name="align"> 2850*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2851*912701f9SAndroid Build Coastguard Worker <xsl:when test="@align">text-align: <xsl:value-of select="@align" />;</xsl:when> 2852*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>text-align: left;</xsl:otherwise> 2853*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2854*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2855*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="style"><xsl:value-of select="concat($width,$align)" /></xsl:attribute> 2856*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates /> 2857*912701f9SAndroid Build Coastguard Worker </th> 2858*912701f9SAndroid Build Coastguard Worker</xsl:template> 2859*912701f9SAndroid Build Coastguard Worker 2860*912701f9SAndroid Build Coastguard Worker<!-- Chapter Link Generation --> 2861*912701f9SAndroid Build Coastguard Worker 2862*912701f9SAndroid Build Coastguard Worker<xsl:template match="*" mode="links"><xsl:apply-templates mode="links"/></xsl:template> 2863*912701f9SAndroid Build Coastguard Worker<xsl:template match="text()" mode="links" /> 2864*912701f9SAndroid Build Coastguard Worker 2865*912701f9SAndroid Build Coastguard Worker<xsl:template match="/*/middle//section[not(myns:unnumbered) and not(ancestor::section)]" mode="links"> 2866*912701f9SAndroid Build Coastguard Worker <xsl:variable name="sectionNumber"><xsl:call-template name="get-section-number" /></xsl:variable> 2867*912701f9SAndroid Build Coastguard Worker <link rel="Chapter" title="{$sectionNumber} {@title}" href="#{$anchor-prefix}.section.{$sectionNumber}" /> 2868*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates mode="links" /> 2869*912701f9SAndroid Build Coastguard Worker</xsl:template> 2870*912701f9SAndroid Build Coastguard Worker 2871*912701f9SAndroid Build Coastguard Worker<xsl:template match="/*/back//section[not(myns:unnumbered) and not(ancestor::section)]" mode="links"> 2872*912701f9SAndroid Build Coastguard Worker <xsl:variable name="sectionNumber"><xsl:call-template name="get-section-number" /></xsl:variable> 2873*912701f9SAndroid Build Coastguard Worker <link rel="Appendix" title="{$sectionNumber} {@title}" href="#{$anchor-prefix}.section.{$sectionNumber}" /> 2874*912701f9SAndroid Build Coastguard Worker <xsl:apply-templates mode="links" /> 2875*912701f9SAndroid Build Coastguard Worker</xsl:template> 2876*912701f9SAndroid Build Coastguard Worker 2877*912701f9SAndroid Build Coastguard Worker<!-- convenience templates --> 2878*912701f9SAndroid Build Coastguard Worker 2879*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-author-summary"> 2880*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2881*912701f9SAndroid Build Coastguard Worker <xsl:when test="count(/rfc/front/author)=1"> 2882*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="/rfc/front/author[1]/@surname" /> 2883*912701f9SAndroid Build Coastguard Worker </xsl:when> 2884*912701f9SAndroid Build Coastguard Worker <xsl:when test="count(/rfc/front/author)=2"> 2885*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat(/rfc/front/author[1]/@surname,' & ',/rfc/front/author[2]/@surname)" /> 2886*912701f9SAndroid Build Coastguard Worker </xsl:when> 2887*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2888*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat(/rfc/front/author[1]/@surname,', et al.')" /> 2889*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2890*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2891*912701f9SAndroid Build Coastguard Worker</xsl:template> 2892*912701f9SAndroid Build Coastguard Worker 2893*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-authors"> 2894*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="/rfc/front/author"> 2895*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="@fullname" /> 2896*912701f9SAndroid Build Coastguard Worker <xsl:if test="position()!=last()">, </xsl:if> 2897*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2898*912701f9SAndroid Build Coastguard Worker</xsl:template> 2899*912701f9SAndroid Build Coastguard Worker 2900*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-category-long"> 2901*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2902*912701f9SAndroid Build Coastguard Worker <xsl:when test="$xml2rfc-footer"><xsl:value-of select="$xml2rfc-footer" /></xsl:when> 2903*912701f9SAndroid Build Coastguard Worker <xsl:when test="$xml2rfc-private"/> <!-- private draft, footer not set --> 2904*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='bcp'">Best Current Practice</xsl:when> 2905*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='historic'">Historic</xsl:when> 2906*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='info' or not(/rfc/@category)">Informational</xsl:when> 2907*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='std'">Standards Track</xsl:when> 2908*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@category='exp'">Experimental</xsl:when> 2909*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>(category unknown)</xsl:otherwise> 2910*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2911*912701f9SAndroid Build Coastguard Worker</xsl:template> 2912*912701f9SAndroid Build Coastguard Worker 2913*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-header-center"> 2914*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2915*912701f9SAndroid Build Coastguard Worker <xsl:when test="string-length(/rfc/front/title/@abbrev) > 0"> 2916*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="/rfc/front/title/@abbrev" /> 2917*912701f9SAndroid Build Coastguard Worker </xsl:when> 2918*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2919*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="/rfc/front/title" /> 2920*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2921*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2922*912701f9SAndroid Build Coastguard Worker</xsl:template> 2923*912701f9SAndroid Build Coastguard Worker 2924*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-header-left"> 2925*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2926*912701f9SAndroid Build Coastguard Worker <xsl:when test="$xml2rfc-header"><xsl:value-of select="$xml2rfc-header" /></xsl:when> 2927*912701f9SAndroid Build Coastguard Worker <xsl:when test="$xml2rfc-private"/> <!-- private draft, header not set --> 2928*912701f9SAndroid Build Coastguard Worker <xsl:when test="/rfc/@ipr">INTERNET DRAFT</xsl:when> 2929*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>RFC <xsl:value-of select="/rfc/@number"/></xsl:otherwise> 2930*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2931*912701f9SAndroid Build Coastguard Worker</xsl:template> 2932*912701f9SAndroid Build Coastguard Worker 2933*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-generator"> 2934*912701f9SAndroid Build Coastguard Worker <xsl:variable name="gen"> 2935*912701f9SAndroid Build Coastguard Worker <xsl:text>http://greenbytes.de/tech/webdav/rfc2629.xslt, </xsl:text> 2936*912701f9SAndroid Build Coastguard Worker <!-- when RCS keyword substitution in place, add version info --> 2937*912701f9SAndroid Build Coastguard Worker <xsl:if test="contains('$Revision: 1.149 $',':')"> 2938*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.149 $', 'Revision: '),'$','')),', ')" /> 2939*912701f9SAndroid Build Coastguard Worker </xsl:if> 2940*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat('XSLT vendor: ',system-property('xsl:vendor'),' ',system-property('xsl:vendor-url'))" /> 2941*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2942*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="$gen" /> 2943*912701f9SAndroid Build Coastguard Worker</xsl:template> 2944*912701f9SAndroid Build Coastguard Worker 2945*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-header-right"> 2946*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="concat(/rfc/front/date/@month,' ',/rfc/front/date/@year)" /> 2947*912701f9SAndroid Build Coastguard Worker</xsl:template> 2948*912701f9SAndroid Build Coastguard Worker 2949*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-keywords"> 2950*912701f9SAndroid Build Coastguard Worker <xsl:variable name="keyw"> 2951*912701f9SAndroid Build Coastguard Worker <xsl:for-each select="/rfc/front/keyword"> 2952*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="translate(.,',',' ')" /> 2953*912701f9SAndroid Build Coastguard Worker <xsl:if test="position()!=last()">, </xsl:if> 2954*912701f9SAndroid Build Coastguard Worker </xsl:for-each> 2955*912701f9SAndroid Build Coastguard Worker </xsl:variable> 2956*912701f9SAndroid Build Coastguard Worker <xsl:value-of select="normalize-space($keyw)" /> 2957*912701f9SAndroid Build Coastguard Worker</xsl:template> 2958*912701f9SAndroid Build Coastguard Worker 2959*912701f9SAndroid Build Coastguard Worker<!-- get language from context node. nearest ancestor or return the default of "en" --> 2960*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-lang"> 2961*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2962*912701f9SAndroid Build Coastguard Worker <xsl:when test="ancestor-or-self::*[@xml:lang]"><xsl:value-of select="ancestor-or-self::*/@xml:lang" /></xsl:when> 2963*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>en</xsl:otherwise> 2964*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2965*912701f9SAndroid Build Coastguard Worker</xsl:template> 2966*912701f9SAndroid Build Coastguard Worker 2967*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-section-number"> 2968*912701f9SAndroid Build Coastguard Worker <xsl:variable name="hasEdits" select="count(//ed:del|//ed:ins)!=0" /> 2969*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2970*912701f9SAndroid Build Coastguard Worker <xsl:when test="$hasEdits"> 2971*912701f9SAndroid Build Coastguard Worker <xsl:call-template name="sectionnumberAndEdits" /> 2972*912701f9SAndroid Build Coastguard Worker </xsl:when> 2973*912701f9SAndroid Build Coastguard Worker <xsl:otherwise> 2974*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2975*912701f9SAndroid Build Coastguard Worker <xsl:when test="ancestor::back"><xsl:number count="ed:del|ed:ins|section|appendix" level="multiple" format="A.1.1.1.1.1.1.1" /></xsl:when> 2976*912701f9SAndroid Build Coastguard Worker <xsl:when test="self::appendix"><xsl:number count="ed:del|ed:ins|appendix" level="multiple" format="A.1.1.1.1.1.1.1" /></xsl:when> 2977*912701f9SAndroid Build Coastguard Worker <xsl:otherwise><xsl:number count="ed:del|ed:ins|section" level="multiple"/></xsl:otherwise> 2978*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2979*912701f9SAndroid Build Coastguard Worker </xsl:otherwise> 2980*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2981*912701f9SAndroid Build Coastguard Worker</xsl:template> 2982*912701f9SAndroid Build Coastguard Worker 2983*912701f9SAndroid Build Coastguard Worker<xsl:template name="get-section-type"> 2984*912701f9SAndroid Build Coastguard Worker <xsl:param name="prec" /> 2985*912701f9SAndroid Build Coastguard Worker <xsl:choose> 2986*912701f9SAndroid Build Coastguard Worker <xsl:when test="ancestor::back">Appendix</xsl:when> 2987*912701f9SAndroid Build Coastguard Worker <xsl:otherwise>Section</xsl:otherwise> 2988*912701f9SAndroid Build Coastguard Worker </xsl:choose> 2989*912701f9SAndroid Build Coastguard Worker</xsl:template> 2990*912701f9SAndroid Build Coastguard Worker 2991*912701f9SAndroid Build Coastguard Worker<xsl:template name="insert-conditional-pagebreak"> 2992*912701f9SAndroid Build Coastguard Worker <xsl:if test="$xml2rfc-compact!='yes'"> 2993*912701f9SAndroid Build Coastguard Worker <xsl:attribute name="class">np</xsl:attribute> 2994*912701f9SAndroid Build Coastguard Worker </xsl:if> 2995*912701f9SAndroid Build Coastguard Worker</xsl:template> 2996*912701f9SAndroid Build Coastguard Worker 2997*912701f9SAndroid Build Coastguard Worker 2998*912701f9SAndroid Build Coastguard Worker</xsl:stylesheet> 2999