xsl-list
[Top] [All Lists]

variables and inline tags

2005-05-04 13:52:35
Having problems with variables, applying templates and parsing
strings. Been working on it all day and can't seem to wrap my mind
around it.

Here is my simplified xml:

<definition>
  <term>recognized</term>
  <def>, under the <em>Company Act</em></def>
</definition>

What I need to do is substring the def information when it starts with
a comma, ie:

with comma
<p class="def">"recognized", under the <em>Company Act</em></p>

without comma
<p class="def">"recognized" under the <em>Company Act</em></p>

Ok, there's the background. I'm having problems because I'm using a
variable to parse out the unwanted space in the with comma example
above, then to get the variable I use a value-of statement which
promptly drops the <em> tags. Any suggestions or advive would be
appreciated.


Here's my simplified xsl:

<!-- Defintion -->
<xsl:template match="definition" mode="contentsection">
        <p class="def">
        <xsl:choose>
        <xsl:when test="substring(def, 1, 1)=','">
                <strong>"<xsl:apply-templates
select="term"/>"</strong>,&#160;<xsl:variable name="uncommadef">
                        <xsl:apply-templates select="def"/>
                </xsl:variable>

                 <!-- Problem is here -->
                <xsl:value-of select="substring($uncommadef, 2)"/>
        </xsl:when>
        <xsl:otherwise>
                <strong>"<xsl:apply-templates
select="term"/>"</strong>&#160;<xsl:apply-templates select="def"/>
        </xsl:otherwise>
        </xsl:choose>
        </p>
 </xsl:template>
 <xsl:template match="term">
        <xsl:apply-templates 
select="text()|strong|em|sup|sub|u|insert|br|eacute"/>
 </xsl:template>
 <xsl:template match="def">
        <xsl:apply-templates 
select="text()|strong|em|sup|sub|u|insert|br|eacute"/>
 </xsl:template>
<!-- End of Definition -->

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>