This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

searching and replacing



Hi,

I have written a template to search for any string containing <sub> or <sup> and to do subscript and superscript accordingly.  The template works fine (I think)...

Then I have written these lines ... to search through the document for the sub/sup to do the appropriate..  But, this is not doing the expected... 
<xsl:template match="address//*">
    <xsl:call-template name="supsubstring">
                   <xsl:with-param name="Text" select="."/>
    </xsl:call-template>    
</xsl:template>

Need your help!

Thanking you in advance
Norm


<!-- XML file -->
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type='text/xsl' href='test.xsl'?>
<document id="test">
  <chapter>
        <name>Testing sup/sub</name>    
        <name>test superscript <sup>L</sup> ***</name>
        <name>testing agian <sup>L</sup>AFTER ***</name>
        <line1>
            <line2>
                    <line3>
                           testing lines subscript <sub></sub> ***        
                    </line3>
            </line2>
        </line1>
        <name>last one <sub>L</sub>AFTER***</name>
</chapter>
</document>


<!-- XSL file -->
<?xml version="1.0" encoding="iso-8859-1" ?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
      xmlns:fo="http://www.w3.org/1999/XSL/Format""; xml:space="preserve">
             
            <!-- SUBSCRITPT -->
 <xsl:template name="supsubstring">
             <xsl:param name="Text"/>
            <xsl:choose>
                    <xsl:when test="contains($Text, '<sub>')">
                          <xsl:value-of select="substring-before($Text,  '<sub>')" />
                           <xsl:variable name="stringaftersub" select="substring-after($Text, '<sub>')" />
                           <sub>
                                <xsl:value-of select="substring-before($stringaftersub,  '</sub>')" />
                            </sub>
                            <xsl:value-of select="substring-after($stringaftersub, '</sub>')" />
                    </xsl:when>
                    
                    <!-- SUPERSCRIPT -->
                    <xsl:when test="contains($Text, '<sup>')">
                          <xsl:value-of select="substring-before($Text,  '<sup>')" />
                           <xsl:variable name="stringaftersup" select="substring-after($Text, '<sup>')" />
                           <sup>
                                <xsl:value-of select="substring-before($stringaftersup,  '</sup>')" />
                           </sup>
                         <xsl:value-of select="substring-after($stringaftersup, '</sup>')" />
                    </xsl:when>
                     <xsl:otherwise><xsl:value-of select="$Text" /></xsl:otherwise>    
            </xsl:choose>
        </xsl:template>
    
<xsl:template match="address//*">
    <xsl:call-template name="supsubstring">
                   <xsl:with-param name="Text" select="."/>
    </xsl:call-template>    
</xsl:template> 

</xsl:stylesheet>



 



__________________________________________________________________
Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/

Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]