Re: How to get an apostrophe into a test expression

Subject: Re: How to get an apostrophe into a test expression
From: Eric van der Vlist <vdv@xxxxxxxxxxxx>
Date: Tue, 12 Oct 1999 20:17:58 +0200
Hi Michel,

The only place where you can fully escape this kind of characters is
between xsl:text :

<xsl:text disable-output-escaping="yes">&apos;</xsl:text>

Unfortunately, you will not be able to use this within a test attribute,
but you can use a variable :

<xsl:variable name="apos"><xsl:text
disable-output-escaping="yes">&apos;</xsl:text></xsl:variable>

and use this variable in your test.

The xsl is then :

<xsl:variable name="apos"><xsl:text
disable-output-escaping="yes">&apos;</xsl:text></xsl:variable>
<xsl:template match="//a">
 <xsl:variable name="Nom" select="string(.)"/>
  <xsl:choose>
   <xsl:when test="substring($Nom,1,3) = 'le '">
    <xsl:text>du </xsl:text>
    <xsl:value-of select="substring-after($Nom,' ')"/>
   </xsl:when>
   <xsl:when test="substring($Nom,1,3) = 'la '">
    <xsl:text>de </xsl:text>
    <xsl:value-of select="$Nom"/>
   </xsl:when>
   <xsl:when test="substring($Nom,1,3) = 'les'">
    <xsl:text>des </xsl:text>
    <xsl:value-of select="$Nom"/>
   </xsl:when>
   <xsl:when test="substring($Nom,1,2) = '$apos'">
    <xsl:text> de </xsl:text>
    <xsl:value-of select="$Nom"/>
   </xsl:when>
   <xsl:otherwise>
    <xsl:text> est la capitale de </xsl:text>
    <xsl:value-of select="$Nom"/>
   </xsl:otherwise>
  </xsl:choose>
  <xsl:text>.?xA;</xsl:text><!-- retour à la ligne -->
</xsl:template>

</xsl:stylesheet>

and it's working for me.

Hope this helps.

Eric

-- 
------------------------------------------------------------------------
Eric van der Vlist                                              Dyomedea

http://www.dyomedea.com                          http://www.ducotede.com
------------------------------------------------------------------------


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread