[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Great, many thanks, that's exactly what I meant.
However, on trying it out, I found that any newlines and indentation within my <block> element contribute to the string_length, so that my <block> is no longer 1 character long when they are present.
So I would like to ask again, but this time: how to match any <block> in which the sum of the lengths of the child <inline> elements is 1 character? (My newlines and indentation will be outside any <inline> element, but all the "content" is inside <inline> elements.) Do I need to program a loop somehow, or is there a handy function?
Ciaran S Duibhmn
----- Original Message ----- From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Saturday, December 11, 2010 3:13 AM
Subject: Re: [xsl] template match question
At 2010-12-11 02:30 +0000, Ciaran S Duibhmn wrote:
If I've understood you correctly, this is what you need:
<xsl:template match="block[string-length(.)=1]">
The block is matched if its string length is one character.
I hope this helps.
. . . . . . . . . Ken
Re: [xsl] template match question
Subject: Re: [xsl] template match question From: Ciarán Ó Duibhín <ciaran@xxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat, 11 Dec 2010 03:37:33 -0000 |
Great, many thanks, that's exactly what I meant.
However, on trying it out, I found that any newlines and indentation within my <block> element contribute to the string_length, so that my <block> is no longer 1 character long when they are present.
So I would like to ask again, but this time: how to match any <block> in which the sum of the lengths of the child <inline> elements is 1 character? (My newlines and indentation will be outside any <inline> element, but all the "content" is inside <inline> elements.) Do I need to program a loop somehow, or is there a handy function?
Ciaran S Duibhmn
----- Original Message ----- From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Saturday, December 11, 2010 3:13 AM
Subject: Re: [xsl] template match question
At 2010-12-11 02:30 +0000, Ciaran S Duibhmn wrote:
Please excuse a specific and elementary query on XSL.
I understand how
<xsl:template match="block[string-length(./inline)=1]">
matches any <block> element which has as child an <inline> element whose text content is one character in length.
But how can I change this to match any <block>, for which the sum of the lengths of its <inline> child elements is one character; or alternatively, any <block> the length of whose whole text content is1 character, since all the text in my <block> elements is found in child <inline> elements?
If I've understood you correctly, this is what you need:
<xsl:template match="block[string-length(.)=1]">
The block is matched if its string length is one character.
I hope this helps.
. . . . . . . . . Ken
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] template match question, Piet van Oostrum | Thread | Re: [xsl] template match question, Syd Bauman |
Re: [xsl] template match question, Piet van Oostrum | Date | Re: [xsl] template match question, Syd Bauman |
Month |