xsl-list
[Top] [All Lists]

Re: Removing entity in specific element

2005-06-17 11:28:41
I've searched the net high and low, but Google has thus far failed 
me. I have an element that looks like this:

<dt><b>Asana</b></dt>
<dd><p>&#x2014;A position or stance in yoga.</p></dd>

I want to remove '&#x2014;' from the dd/p, but I can't seem to figure 
out how to go about doing this. Now, &#x2014; shows up elsewhere (ie. 
in non dd p tags) and I want those to remain intact and be translated 
into dashes, but not in this case.

If I understand your question correctly, this is a variation of the 
identity transformation:

<?xml version="1.0"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">

<xsl:template match="@* | node()">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>
 
<xsl:template match="dd/p/text()">
  <xsl:value-of select="translate(., '&#x2014;', '-')"/>
</xsl:template>
 
</xsl:stylesheet>

This stylesheet just copies the source tree, but replaces the Em Dash 
character in text nodes that have a parent element "p" and a grandparent 
element "dd" with a hyphen.

Hope that helps...

Dave

--~------------------------------------------------------------------
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>