Re: [xsl] How to remove a single quote?

Subject: Re: [xsl] How to remove a single quote?
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 31 Jul 2024 20:02:01 -0000
On 31/07/2024 21:51, dvint@xxxxxxxxx wrote:
I have content like this:

<topic file="fs_task_with_collapse_in_tabs.dita"
B B B B title="FORMAT: task inside a tab using collapsed sections"
B B B B chunk="child"
B B B B B B B  tabtitle="'Collapse Sections'">

Notice the single quotes in the tabtitle attrbiute. I would like to
get just the text out of that attribute without the quotes. I've been
trying to use substring-before/after like this but I get no result

<xsl:attribute name="tabtitle" select="substring-after(@tabtitle,
'&apos;')"/>

I'm getting an unmatched quote message and if I switch to ''' I get
the same message. I thought the entity would escape this. If I use
&quot;, I don't get the error, but my result is empty as that
character doesn't exist.

What is the proper way to escape and match a ' ?



You can use


<xsl:attribute name="tabtitle" select="substring-after(., &quot;'&quot;)"/>

to use XML escaping mechanisms or (with XPath 2 and higher)

<xsl:attribute name="tabtitle" select="substring-after(., '''')"/>

Current Thread