Subject: [xsl] Eliminating duplicates while processing: the answer... From: José Carlos Ramalho <jcr@xxxxxxxxxxxx> Date: Thu, 14 Nov 2002 10:10:59 -0000 |
Hi, all. Tahnk you to those who reply to my question that was: >I want to process a list of nodes that can appear at several different >points of the structure, and I ant to process them in a particular order. >This is easy to specify: > > for-each select="//node-name" > sort select="criteria" > >The problem is that I want to supress the node's processing if it is equal >to the one that precedes it in that order. How can I have access to the last >processed node while processing the current one? > >TIA >jcr I just found a nice solution in Bob DuCharme's column at O'Reilly: you just need to put the following test: <xsl:if test="not(.=preceding::node-name)"> ... This way you can guarantee that if you have already processed a node with the same content of current one you skip this one. This helped me to solve an interesting problem: I had a Bibliography XML file regarding to a DocBook application. Each BIBLIOENTRY has a list of authors and I wanted to transform that structure into another that for each AUTHOR lists his entries. This is a structure inversion problem is not trivial in a normal programming language. Spite all the tags the XSL solution is quite nice: <xsl:template match="/"> <UL> <xsl:for-each select="//AUTHOR"> <xsl:sort select="SURNAME" order="ascending"/> <xsl:if test="not(./SURNAME=preceding::SURNAME)"> <xsl:call-template name="getEntries"> <xsl:with-param name="snome" select="SURNAME"/> </xsl:call-template> </xsl:if> </xsl:for-each> </UL> </xsl:template> Let´s come up with some new tags... jcr ---------------------------------------------------------------------------- --- José Carlos Ramalho orienteer Dep. Informática - U.Minho windsurfer http://www.di.uminho.pt/~jcr engineer +351 253 604479 ---------------------------------------------------------------------------- ----- XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] encoding of text files, Yates, Danny (ANTS) | Thread | [xsl] How to address generic unknow, Delaney Robin |
[xsl] encoding of text files, Joerg Heinicke | Date | Re: [xsl] serialization question, Oleg Tkachenko |
Month |