Subject: Re: [xsl] That's a wrap! From: "Charles O'Connor coconnor@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 4 Jan 2018 19:19:30 -0000 |
Thanks. This gets me where I need to be, and introduces me to ways of doing things I did not know about. I'm looking at the grouping examples on W3C now. The only issue is that the grouping of adjacent nodes captures the leading and trailing text as well as the text between. I don't need to solve the problem for my current uses, however. (I'm making test files for a DTD.) Thanks again to this community! -----Original Message----- From: Martin Honnen martin.honnen@xxxxxx [mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx] Sent: Thursday, January 4, 2018 1:26 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] That's a wrap! On 04.01.2018 19:16, Charles O'Connor coconnor@xxxxxxxxxxxx wrote: > Thanks to you and Christophe. > > > > For the below, I would want the second group of <string-name> elements to be in a different <person-group>, actually, but I hadn't gotten that far. To me it looks as if <xsl:template match="mixed-citation"> <xsl:copy> <xsl:for-each-group select="node()" group-adjacent="boolean(self::string-name | self::etal | self::collab | self::text())"> <xsl:choose> <xsl:when test="current-grouping-key() and current-group()[self::*] "> <person-group> <xsl:apply-templates select="current-group()"/> </person-group> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="current-group()"/> </xsl:otherwise> </xsl:choose> </xsl:for-each-group> </xsl:copy> </xsl:template> might do the job.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] That's a wrap!, Martin Honnen martin | Thread | Re: [xsl] That's a wrap!, Christophe Marchand |
Re: [xsl] That's a wrap!, Martin Honnen martin | Date | [xsl] Different Behavior for Regex , Eliot Kimber ekimber |
Month |