Subject: Re: [xsl] Escaping Characters in replace() From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 15 Oct 2013 20:54:02 +0100 |
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()
<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>
-- google plus: https:/profiles.google.com/d.p.carlisle
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Escaping Characters in re, Nathan Tallman | Thread | Re: [xsl] Escaping Characters in re, Nathan Tallman |
Re: [xsl] Escaping Characters in re, Nathan Tallman | Date | Re: [xsl] Escaping Characters in re, Nathan Tallman |
Month |