|
Subject: [xsl] variables and inline tags From: Spencer Tickner <spencertickner@xxxxxxxxx> Date: Wed, 4 May 2005 13:52:35 -0700 |
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>, <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> <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 -->
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Do Templates Conflict?, Andrew Welch | Thread | Re: [xsl] variables and inline tags, David Carlisle |
| Re: [xsl] Do Templates Conflict?, JBryant | Date | RE: [xsl] Do Templates Conflict?, Michael Kay |
| Month |