Ignore:
Timestamp:
04/10/21 13:39:33 (12 months ago)
Author:
julian.reschke@…
Message:

update specs and rfc2629.xslt

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rfc2629xslt/gen-reference-graph.xslt

    r2761 r2762  
    44    "tr.rdf", available from <http://www.w3.org/2002/01/tr-automation/tr.rdf>)
    55
    6     Copyright (c) 2006-2017, Julian Reschke (julian.reschke@greenbytes.de)
     6    Copyright (c) 2006-2021, Julian Reschke (julian.reschke@greenbytes.de)
    77    All rights reserved.
    88
     
    3838                xmlns:ed="http://greenbytes.de/2002/rfcedit"
    3939                xmlns:exslt="http://exslt.org/common"
    40                 xmlns:msxsl="urn:schemas-microsoft-com:xslt"
    4140                xmlns:rfced="http://www.rfc-editor.org/rfc-index"
    4241                xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     
    4645<xsl:output method="text" encoding="UTF-8"/>
    4746
     47<!-- create graph for specific RFC from RFC index -->
     48<xsl:param name="rfc"/>
     49
    4850<!-- character translation tables -->
    4951<xsl:variable name="lcase" select="'abcdefghijklmnopqrstuvwxyz'" />
    5052<xsl:variable name="ucase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
    51 
    52 <!-- define exslt:node-set for msxml -->       
    53 <msxsl:script language="JScript" implements-prefix="exslt">
    54   this['node-set'] = function (x) {
    55     return x;
    56   }
    57 </msxsl:script>
    5853
    5954<xsl:template match="/">
     
    6459
    6560  <xsl:variable name="out">
    66     <xsl:for-each select="//references">
    67       <xsl:variable name="title">
    68         <xsl:choose>
    69           <xsl:when test="@title">
    70             <xsl:value-of select="@title"/>
    71           </xsl:when>
    72           <xsl:otherwise>
    73             <xsl:text>References</xsl:text>
    74           </xsl:otherwise>
    75         </xsl:choose>
    76       </xsl:variable>
    77       <xsl:for-each select=".//reference[not(ancestor::ed:del)]">
    78         <xsl:sort select="@anchor"/>
    79         <xsl:choose>
    80           <xsl:when test="seriesInfo/@name='RFC'">
    81             <xsl:apply-templates select="." mode="check-rfc"/>
    82           </xsl:when>
    83           <xsl:when test="seriesInfo/@name='Internet-Draft'">
    84             <!-- Nothing to do -->
    85           </xsl:when>
    86           <xsl:when test="seriesInfo/@name='W3C'">
    87             <xsl:call-template name="check-w3c">
    88               <xsl:with-param name="serinfo" select="seriesInfo[@name='W3C']"/>
    89             </xsl:call-template>
    90           </xsl:when>
    91           <xsl:when test="seriesInfo/@name='W3C NOTE'">
    92             <xsl:message>Warning: seriesInfo/@name for W3C specs should be 'W3C', found: 'W3C NOTE'.</xsl:message>
    93             <xsl:call-template name="check-w3c">
    94               <xsl:with-param name="serinfo" select="seriesInfo[@name='W3C NOTE']"/>
    95             </xsl:call-template>
    96           </xsl:when>
    97           <xsl:when test="seriesInfo/@name='W3C REC'">
    98             <xsl:message>Warning: seriesInfo/@name for W3C specs should be 'W3C', found: 'W3C REC'.</xsl:message>
    99             <xsl:call-template name="check-w3c">
    100               <xsl:with-param name="serinfo" select="seriesInfo[@name='W3C REC']"/>
    101             </xsl:call-template>
    102           </xsl:when>
    103           <xsl:when test="seriesInfo/@name='World Wide Web Consortium FirstEdition'">
    104             <xsl:message>Warning: seriesInfo/@name for W3C specs should be 'W3C', found: 'World Wide Web Consortium FirstEdition'.</xsl:message>
    105             <xsl:call-template name="check-w3c">
    106               <xsl:with-param name="serinfo" select="seriesInfo[@name='World Wide Web Consortium FirstEdition']"/>
    107             </xsl:call-template>
    108           </xsl:when>
    109           <xsl:when test="seriesInfo/@name='World Wide Web Consortium Recommendation'">
    110             <xsl:message>Warning: seriesInfo/@name for W3C specs should be 'W3C', found: 'World Wide Web Consortium Recommendation'.</xsl:message>
    111             <xsl:call-template name="check-w3c">
    112               <xsl:with-param name="serinfo" select="seriesInfo[@name='World Wide Web Consortium Recommendation']"/>
    113             </xsl:call-template>
    114           </xsl:when>
    115           <xsl:when test="seriesInfo/@name">
    116             <xsl:message>Warning: unknown seriesInfo/@name: '<xsl:value-of select="seriesInfo/@name"/>'. </xsl:message>
    117           </xsl:when>
    118           <xsl:otherwise/>
    119         </xsl:choose>
    120       </xsl:for-each>
    121     </xsl:for-each>
     61    <xsl:choose>
     62      <xsl:when test="$rfc!=''">
     63        <xsl:call-template name="check-rfc-index-entry">
     64          <xsl:with-param name="doc-id" select="$rfc"/>
     65        </xsl:call-template>
     66      </xsl:when>
     67      <xsl:otherwise>
     68        <xsl:for-each select="//references">
     69          <xsl:variable name="title">
     70            <xsl:choose>
     71              <xsl:when test="@title">
     72                <xsl:value-of select="@title"/>
     73              </xsl:when>
     74              <xsl:otherwise>
     75                <xsl:text>References</xsl:text>
     76              </xsl:otherwise>
     77            </xsl:choose>
     78          </xsl:variable>
     79          <xsl:for-each select=".//reference[not(ancestor::ed:del)]">
     80            <xsl:sort select="@anchor"/>
     81            <xsl:choose>
     82              <xsl:when test="seriesInfo/@name='RFC'">
     83                <xsl:apply-templates select="." mode="check-rfc"/>
     84              </xsl:when>
     85              <xsl:when test="seriesInfo/@name='Internet-Draft'">
     86                <!-- Nothing to do -->
     87              </xsl:when>
     88              <xsl:when test="seriesInfo/@name='W3C'">
     89                <xsl:call-template name="check-w3c">
     90                  <xsl:with-param name="serinfo" select="seriesInfo[@name='W3C']"/>
     91                </xsl:call-template>
     92              </xsl:when>
     93              <xsl:when test="seriesInfo/@name='W3C NOTE'">
     94                <xsl:message>Warning: seriesInfo/@name for W3C specs should be 'W3C', found: 'W3C NOTE'.</xsl:message>
     95                <xsl:call-template name="check-w3c">
     96                  <xsl:with-param name="serinfo" select="seriesInfo[@name='W3C NOTE']"/>
     97                </xsl:call-template>
     98              </xsl:when>
     99              <xsl:when test="seriesInfo/@name='W3C REC'">
     100                <xsl:message>Warning: seriesInfo/@name for W3C specs should be 'W3C', found: 'W3C REC'.</xsl:message>
     101                <xsl:call-template name="check-w3c">
     102                  <xsl:with-param name="serinfo" select="seriesInfo[@name='W3C REC']"/>
     103                </xsl:call-template>
     104              </xsl:when>
     105              <xsl:when test="seriesInfo/@name='World Wide Web Consortium FirstEdition'">
     106                <xsl:message>Warning: seriesInfo/@name for W3C specs should be 'W3C', found: 'World Wide Web Consortium FirstEdition'.</xsl:message>
     107                <xsl:call-template name="check-w3c">
     108                  <xsl:with-param name="serinfo" select="seriesInfo[@name='World Wide Web Consortium FirstEdition']"/>
     109                </xsl:call-template>
     110              </xsl:when>
     111              <xsl:when test="seriesInfo/@name='World Wide Web Consortium Recommendation'">
     112                <xsl:message>Warning: seriesInfo/@name for W3C specs should be 'W3C', found: 'World Wide Web Consortium Recommendation'.</xsl:message>
     113                <xsl:call-template name="check-w3c">
     114                  <xsl:with-param name="serinfo" select="seriesInfo[@name='World Wide Web Consortium Recommendation']"/>
     115                </xsl:call-template>
     116              </xsl:when>
     117              <xsl:when test="seriesInfo/@name">
     118                <xsl:message>Warning: unknown seriesInfo/@name: '<xsl:value-of select="seriesInfo/@name"/>'. </xsl:message>
     119              </xsl:when>
     120              <xsl:otherwise/>
     121            </xsl:choose>
     122          </xsl:for-each>
     123        </xsl:for-each>
     124      </xsl:otherwise>
     125    </xsl:choose>
     126
    122127  </xsl:variable>
    123128 
     
    165170    <xsl:text>  "</xsl:text>
    166171    <xsl:value-of select="$node/rfced:doc-id"/>
    167     <xsl:text>" [URL = "</xsl:text>
    168     <xsl:value-of select="concat('http://tools.ietf.org/html/',translate($node/rfced:doc-id,$ucase,$lcase))"/>
     172    <xsl:text>" [id = "</xsl:text>
     173    <xsl:value-of select="$node/rfced:doc-id"/>
     174    <xsl:text>"][URL = "</xsl:text>
     175    <xsl:variable name="num" select="number(substring-after(translate($node/rfced:doc-id,$ucase,$lcase),'rfc'))"/>
     176    <xsl:value-of select="concat('https://www.rfc-editor.org/rfc/rfc',$num,'.html')"/>
    169177    <xsl:text>"][tooltip = "</xsl:text>
    170178    <xsl:call-template name="replace-substring">
Note: See TracChangeset for help on using the changeset viewer.