On 15/10/2013 20:31, Nathan Tallman wrote:
Thank you, David and Ivan. It did, of course, work... I just had more
problems than I thought. The code you helped with, works in situations
like:
<unittitle>"The Atomic Bomb Foreshadowed: 1700 Years Ago".
1947.</unittitle>
However, I also have to account for situations like:
<unittitle>
<title render="doublequote">The Atomic Bomb Foreshadowed: 1700
Years Ago</title>. 1947.</unitdate>
</unittitle>
There are separate instructions that insert " before the title/text()
and ." after title/text(), which results in:
"The Atomic Bomb Foreshadowed: 1700 Years Ago.". 1947.
In this scenario, how can I get rid of the extraneous period? Should I
test for a unittitle/title that is immediately followed by a period?
If so, how would I do that? Testing on unittitle/title won't let me
change anything outside the node, like the extra period.
Many, many thanks for your wisdom.
Don't match on text() unless you have to:
> insert " before the title/text()
in <title> blah <!-- stuff -->blah</title>
there are two text nodes so if you are not careful and add " around
title/text() you will get " blah ""blah" I'd so
<xsl:template match="title[@render='doublequote">
<xsl:text>"</xsl:text>
<xsl:apply-templates/>
<xsl:text>"</xsl:text>
</xsl:template>
<xsl:template match="unititle">
<xsl:variable name="x">
<xsl:apply-templates/>
</xsl:variable>
<xsl:value-of select="replace($x,'"\.','."')"/>
</xsl:template>
David
--
google plus: https:/profiles.google.com/d.p.carlisle
--~------------------------------------------------------------------
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>
--~--