Re: [xsl] Troublshooting XSLT replace()

Subject: Re: [xsl] Troublshooting XSLT replace()
From: Nathan Tallman <ntallman@xxxxxxxxx>
Date: Tue, 3 Dec 2013 16:05:04 -0500
I spoke to early, o omniscient one. <unittitle> can contain child
nodes that are being stripped. I tried <xsl:copy-of> instead of
<xsl:value-of>, but they're still being stripped.

The desired result is to keep all child nodes, remove trailing
punctuation, replace Undated/undated, and replace Circa/circa.

Is there a way to do this with the identity template, without using *|node() ?

Thanks,
Nathan

On Tue, Dec 3, 2013 at 1:15 PM, Nathan Tallman <ntallman@xxxxxxxxx> wrote:
> Thank you, David. Your omniscience is in working order as your
> suggestion does exactly what I was looking for and certainly in a much
> more elegant way.
>
> Nathan
>
> On Tue, Dec 3, 2013 at 12:19 PM, David Carlisle <davidc@xxxxxxxxx> wrote:
>> On 03/12/2013 16:52, Nathan Tallman wrote:
>>>
>>> Could you make a suggestion to change my master template match and
>>> mode template match?
>>
>>
>>
>> well no as you haven't said what the code is supposed to do or what the
>> input is like, so as I'm not Jeni Tennison I can't answer much more than
>> point out the more obvious places that are wrong as in the last message.
>>
>> It's almost always a bad idea to match on text() rather than the parent
>> element as comments or other things will bite you.
>>
>> Having said that, I'll try anyway:-)
>>
>> It's possible that you just want the identity template along with
>>
>> <xsl:template match="unittitle">
>>
>> <xsl:copy>
>> <xsl:copy-of select="@*"/>
>> <xsl:value-of select="replace(replace(replace(
>> ., '(^.*)\p{P}$', '$1'),
>> 'Undated','undated'),
>>
>> 'Circa','circa')"/>
>> </xsl:copy>
>> </xsl:template>
>>
>> but that is just a guess
>>
>>
>>
>> David
>>
>> ________________________________________________________________________
>> The Numerical Algorithms Group Ltd is a company registered in England
>> and Wales with company number 1249803. The registered office is:
>> Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
>>
>> This e-mail has been scanned for all viruses by Star. The service is
>> powered by MessageLabs.
>> ________________________________________________________________________

Current Thread