[XSL-LIST Mailing List Archive Home]
Re: [xsl] Remove Duplicates from Recursive Template Calls
Subject: Re: [xsl] Remove Duplicates from Recursive Template Calls|
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 3 May 2005 15:12:02 +0100
> I can't use the ".=preceding" because I'm using recursive template
Why does the test for whether this is teh first node in a document
depend on whether the template invocation is recursive?
that's a very odd XPath. selecting the parent of every node below
As a side issue I note that you are combining indent="yes" with
explictly addded indentation eg
which adds the value of $indent followed by 10 spaces and a ( before the
Results are usually more consistent across systems if you either turn
off automatic indent and do it all by hand or make sure that there
is no white space in the output and just let the system do it.
The specification for what indentation is supposed to do in the
presence of mixed content is rather under-specified.
> I tried to find a way to set an attribute in the source document to
> indicate that the component has been processed, but I can not find a
> method to do that. I tried to flag the processed nodes, but I can't
> find a method to do that either
The input tree is read-only in XSLT.
If you need to omit elements if they have been processed earlier rather
than if they occur earlier in teh document it's probably simpler to do
First do your existing stylesheet into a variable, and then do a second
pass to remove duplicates.
The templates in the second pass (which you can put in a separae mode if
they would clash with your first pass) just need to be an identity
transform with extra templates to filter out whatever needs filtering.
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit: