Ignore:
Timestamp:
Jul 6, 2008, 6:57:34 AM (12 years ago)
Author:
julian.reschke@…
Message:

Update to latest version of rfc2629.xslt, and take advantage of it.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rfc2629xslt/rfc2629toFO.xslt

    r246 r272  
    191191    <fo:block>Fax:&#0160;<fo:basic-link external-destination="url('tel:{translate(address/facsimile,' ','')}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="address/facsimile" /></fo:basic-link></fo:block>
    192192  </xsl:if>
    193         <xsl:if test="address/email">
     193        <xsl:for-each select="address/email">
     194    <xsl:variable name="email">
     195      <xsl:call-template name="extract-email"/>
     196    </xsl:variable>
    194197    <fo:block>EMail:&#0160;
    195198      <xsl:choose>
    196199        <xsl:when test="$xml2rfc-linkmailto='no'">
    197             <xsl:value-of select="address/email" />
     200            <xsl:value-of select="$email" />
    198201        </xsl:when>
    199202        <xsl:otherwise>
    200           <fo:basic-link external-destination="url('mailto:{address/email}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="address/email" /></fo:basic-link>
     203          <fo:basic-link external-destination="url('mailto:{$email}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="$email" /></fo:basic-link>
    201204        </xsl:otherwise>
    202205      </xsl:choose>
    203206    </fo:block>
    204   </xsl:if>
     207  </xsl:for-each>
    205208        <xsl:if test="address/uri">
    206209    <fo:block>URI:&#0160;<fo:basic-link external-destination="url('{address/uri}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="address/uri" /></fo:basic-link></fo:block>
     
    231234    <!-- emit it -->
    232235    <xsl:choose>
    233       <xsl:when test="function-available('msxsl:node-set')">
    234         <xsl:apply-templates select="msxsl:node-set($copyright)/node()" />
    235       </xsl:when>
    236236      <xsl:when test="function-available('exslt:node-set')">
    237237        <xsl:apply-templates select="exslt:node-set($copyright)/node()" />
     
    288288      <fo:table-body>
    289289        <xsl:choose>
    290           <xsl:when test="function-available('msxsl:node-set')">
    291             <xsl:call-template name="emitheader">
    292                         <xsl:with-param name="lc" select="msxsl:node-set($leftColumn)" />   
    293                 <xsl:with-param name="rc" select="msxsl:node-set($rightColumn)" />   
    294             </xsl:call-template>
    295           </xsl:when>   
    296290          <xsl:when test="function-available('exslt:node-set')">
    297291                <xsl:call-template name="emitheader">
     
    324318    <!-- emit it -->
    325319    <xsl:choose>
    326       <xsl:when test="function-available('msxsl:node-set')">
    327         <xsl:apply-templates select="msxsl:node-set($preamble)/node()" />
    328       </xsl:when>
    329320      <xsl:when test="function-available('exslt:node-set')">
    330321        <xsl:apply-templates select="exslt:node-set($preamble)/node()" />
     
    14571448                      <xsl:if test="generate-id(.) = generate-id(key('index-xref-by-sec',concat(@target,'..',@x:sec)))">
    14581449                        <fo:block start-indent="2em" hyphenate="true">
    1459                           <fo:wrapper font-style="italic"><xsl:value-of select="concat('Section ',@x:sec)" /></fo:wrapper>
     1450                          <fo:wrapper font-style="italic">
     1451                            <xsl:choose>
     1452                              <xsl:when test="translate(substring(@x:sec,1,1),$ucase,'')=''">
     1453                                <xsl:text>Appendix </xsl:text>
     1454                              </xsl:when>
     1455                              <xsl:otherwise>
     1456                                <xsl:text>Section </xsl:text>
     1457                              </xsl:otherwise>
     1458                            </xsl:choose>
     1459                            <xsl:value-of select="@x:sec"/>
     1460                            <xsl:text> </xsl:text>
     1461                          </fo:wrapper>
    14601462                          <fo:index-page-citation-list merge-sequential-page-numbers="merge">
    14611463                            <fo:index-key-reference page-number-treatment="link" ref-index-key="{concat('xrefitem=',@target,'#',@x:sec)}"/>
     
    14791481                              </xsl:for-each>
    14801482                            </xsl:variable>
    1481                             <fo:wrapper font-style="italic"><xsl:value-of select="concat('Section ',$sec)" /></fo:wrapper>
     1483                            <fo:wrapper font-style="italic">
     1484                              <xsl:choose>
     1485                                <xsl:when test="translate(substring($sec,1,1),$ucase,'')=''">
     1486                                  <xsl:text>Appendix </xsl:text>
     1487                                </xsl:when>
     1488                                <xsl:otherwise>
     1489                                  <xsl:text>Section </xsl:text>
     1490                                </xsl:otherwise>
     1491                              </xsl:choose>
     1492                              <xsl:value-of select="$sec"/>
     1493                              <xsl:text> </xsl:text>
     1494                            </fo:wrapper>
    14821495                            <fo:index-page-citation-list merge-sequential-page-numbers="merge">
    14831496                              <fo:index-key-reference page-number-treatment="link" ref-index-key="{concat('xrefitem=',@target,'#',$sec)}"/>
     
    20422055    <!-- emit it -->
    20432056    <xsl:choose>
    2044       <xsl:when test="function-available('msxsl:node-set')">
    2045         <xsl:apply-templates select="msxsl:node-set($preamble)/node()" mode="bookmarks"/>
    2046       </xsl:when>
    20472057      <xsl:when test="function-available('exslt:node-set')">
    20482058        <xsl:apply-templates select="exslt:node-set($preamble)/node()" mode="bookmarks"/>
     
    22672277              <fo:inline font-size="8pt" vertical-align="super">[<xsl:value-of select="$cid"/>]</fo:inline>
    22682278              <xsl:text> </xsl:text>
    2269               <xsl:value-of select="."/>
     2279              <xsl:apply-templates select="node()"/>
    22702280              <xsl:if test="@source"> --<xsl:value-of select="@source"/></xsl:if>
    22712281            </fo:block>
     
    22782288          <xsl:value-of select="$cid"/>
    22792289          <xsl:text>: </xsl:text>
    2280           <xsl:value-of select="."/>
     2290          <xsl:apply-templates select="node()"/>
    22812291          <xsl:if test="@source"> --<xsl:value-of select="@source"/></xsl:if>
    22822292          <xsl:text>]</xsl:text>
     
    23892399<xsl:template match="x:span">
    23902400  <xsl:apply-templates/>
     2401</xsl:template>
     2402
     2403<xsl:template match="x:abnf-char-sequence">
     2404  <xsl:choose>
     2405    <xsl:when test="substring(.,1,1) != '&quot;' or substring(.,string-length(.),1) != '&quot;'">
     2406      <xsl:call-template name="error">
     2407        <xsl:with-param name="msg" select="'contents of x:abnf-char-sequence needs to be quoted.'" />
     2408      </xsl:call-template>
     2409    </xsl:when>
     2410    <xsl:otherwise>
     2411      <xsl:text>%x</xsl:text>
     2412      <xsl:call-template name="to-abnf-char-sequence">
     2413        <xsl:with-param name="chars" select="substring(.,2,string-length(.)-2)"/>
     2414      </xsl:call-template>
     2415    </xsl:otherwise>
     2416  </xsl:choose>
    23912417</xsl:template>
    23922418
Note: See TracChangeset for help on using the changeset viewer.