|
Subject: Re: [xsl] problem with transforming mixed content From: "Graydon graydon@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sat, 15 Aug 2020 02:34:12 -0000 |
On Sat, Aug 15, 2020 at 02:16:04AM -0000, Wolfhart Totschnig wolfhart.totschnig@xxxxxxxxxxx scripsit:
> <title>THE TITLE OF THE BOOK WITH SOME <i>ITALICS</i> AND SOME MORE WORDS:
> THE SUBTITLE OF THE BOOK WITH SOME <i>ITALICS</i></title>
>
> What I would like to do is
> 1) separate the title from the subtitle (i.e., divide the data at the colon)
> and put each in a separate element node;
> 2) all the while maintaining the <i> markup;
> 3) and perform certain string manipulations on all of the text nodes; for
> the purposes of this post, I will use the example of converting upper-case
> to lower-case.
>
> So the desired output is the following:
>
> <title>the title of the book with some <i>italics</i> and some more
> words</title>
> <subtitle>the subtitle of the book with some <i>italics</i></subtitle>
<xsl:template match="title">
<title>
<xsl:sequence select="serialize(node()) => substring-before(':') => lower-case() => parse-xml-fragment()" />
</title>
<subtitle>
<xsl:sequence select="serialize(node()) => substring-after(':') => lower-case() => parse-xml-fragment()" />
</subtitle>
</xsl:template>
gives
<title>the title of the book with some <i>italics</i> and some more words</title>
<subtitle> the subtitle of the book with some <i>italics</i></subtitle>
That's XSLT 3.0, it assumes there's always a colon, and could be made
rather more robust, but that's the general idea; treat the contents of
the element as a string sometimes and as nodes sometimes.
--
Graydon Saunders | graydonish@xxxxxxxxx
^fs oferiode, pisses swa mfg.
-- Deor ("That passed, so may this.")
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] problem with transforming mix, Wolfhart Totschnig w | Thread | Re: [xsl] problem with transforming, Dimitre Novatchev dn |
| [xsl] problem with transforming mix, Wolfhart Totschnig w | Date | Re: [xsl] problem with transforming, Dimitre Novatchev dn |
| Month |