Subject: [xsl] Process the following group From: "rick@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 7 Jul 2022 19:10:26 -0000 |
Hi All, I have something like this: <?xml version="1.0" encoding="UTF-8"?> <root> <div1/> <div1/> <div2/> <div2/> <div1/> </root> And I want to end up with this: <?xml version="1.0" encoding="UTF-8"?> <root> <div1/> <div1> <div2/> <div2/> </div1> <div1/> </root> Here is my stylesheet. When I am the last in the <div1> group, I want to process the following <div2> group, if there is one. <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:math="http://www.w3.org/2005/xpath-functions/math" exclude-result-prefixes="xs math" version="3.0" expand-text="yes"> <xsl:output indent="yes"/> <xsl:template match="/root"> <root> <xsl:for-each-group select="*" group-adjacent="local-name()"> <xsl:choose> <xsl:when test="local-name(current-group()[1])='div1'"> <xsl:apply-templates select="current-group()"/> </xsl:when> </xsl:choose> </xsl:for-each-group> </root> </xsl:template> <xsl:template match="div1"> <div1> <!-- Am I the last in the group? --> <xsl:if test="position()=last()"> <xsl:comment>I want process the entire following div2 group in here.</xsl:comment> </xsl:if> </div1> </xsl:template> </xsl:stylesheet> Thanks for any pointers you can provide. Rick Rick Quatro Carmen Publishing Inc. 585-729-6746 rick@xxxxxxxxxxxxxxx <mailto:rick@xxxxxxxxxxxxxxx> http://www.frameexpert.com/store
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XPath expression to conve, Dimitre Novatchev dn | Thread | Re: [xsl] Process the following gro, Martin Honnen martin |
Re: [xsl] XPath expression to conve, Martin Honnen martin | Date | Re: [xsl] Process the following gro, Martin Honnen martin |
Month |