Subject: [xsl] Re: xsl-list Digest 1 Jul 2005 05:10:00 -0000 Issue 464 From: cookie king <cookieking@xxxxxxxxxxx> Date: Tue, 05 Jul 2005 16:03:31 -0400 |
David, Thanks worked perfect,
Date: Thu, 30 Jun 2005 09:37:02 +0100 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx From: David Carlisle <davidc@xxxxxxxxx> Subject: Re: [xsl] sorting issue Message-Id: <200506300837.JAA23207@xxxxxxxxxxxxxxxxx>
This is just selecting one node from each document which is why each document is sorted as a whole, you want t(I think) to select all the subclients from all documents so that is
and then sort them by title <xsl:sort select="name/lname" />
(some of your subclients have a title not an name currently they'll all sort together as "" you may want to have title|name/lname or something I don't konw...
xsl-list Digest 1 Jul 2005 05:10:00 -0000 Issue 464
Topics (messages 18233 through 18282):
Re: sorting issue 18233 by: omprakash.v.polaris.co.in 18237 by: David Carlisle
Problems grouping adjacent siblings 18234 by: Huditsch Roman 18235 by: Mukul Gandhi 18238 by: David Carlisle 18239 by: Huditsch Roman 18260 by: Michael Kay
Re: problems with copying duplicate nodes 18236 by: Rahil Qamar
Re: [exslt] Re: [xsl] Importing compiled stylesheets 18240 by: James Fuller 18241 by: Colin Paul Adams 18277 by: Michael Kay
Cocoon and CSS 18242 by: Mike Holt
Re: [exslt] Re: Re: [xsl] Importing compiled stylesheets 18243 by: James Fuller 18273 by: Dimitre Novatchev 18276 by: Michael Kay
XSLT2/XPath2 books 18244 by: Sylvain Hellegouarch 18245 by: James Fuller 18246 by: Sylvain Hellegouarch 18247 by: John 18248 by: Sylvain Hellegouarch 18261 by: Michael Kay 18271 by: Dimitre Novatchev 18274 by: Sylvain Hellegouarch
Re: Spam:[xsl] sorting issue 18249 by: JBryant.s-s-t.com
priority attribute 18250 by: Arian Hojat 18251 by: Arian Hojat 18255 by: David Carlisle 18256 by: David Carlisle
Saxon SQL extension and Oracle Date format 18252 by: Perry Molendijk 18257 by: JBryant.s-s-t.com
an elements schema context via xslt 18253 by: Jan Limpens 18258 by: George Cristian Bina 18259 by: Arian Hojat 18266 by: Wendell Piez 18267 by: Jan Limpens 18269 by: Jan Limpens 18270 by: Wendell Piez 18278 by: Michael Kay
Re: priority attribute... Doh Solved 18254 by: Arian Hojat
Building OpenURL formatted URLs in XSLT 18262 by: GPoindexter.computer.org 18279 by: Michael Kay
Group problem with blank elements 18263 by: Ed Yau 18264 by: JBryant.s-s-t.com 18280 by: Michael Kay 18282 by: Mukul Gandhi
Re: test if null 18265 by: Wendell Piez 18275 by: Michael Kay
select all answers belongs to one question from xml with xpath 18268 by: 04083259.brookes.ac.uk 18272 by: Joris Gillis
XSL related activities at Extreme Markup Languages 18281 by: B. Tommie Usdin
Administrivia:
To subscribe to the digest, e-mail: <xsl-list-digest-subscribe@xxxxxxxxxxxxxxxxxxxxxx>
To unsubscribe from the digest, e-mail: <xsl-list-digest-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx>
To post to the list, e-mail: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
---------------------------------------------------------------------- Date: Thu, 30 Jun 2005 11:48:33 +0530 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx From: omprakash.v@xxxxxxxxxxxxx Subject: Re: [xsl] sorting issue Message-ID: <OF1E8BFA1C.F59486D6-ON65257030.00221CE6@xxxxxxxxxxxxx>
Hi, I have modified your stylesheet to make it work:
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:preserve-space elements="text"/> <xsl:template match="masterfile"> <merged> <table style="border:1px solid #000000;border-collapse:collapse"> <xsl:apply-templates select="document(doc/@filename)/client"> <!-- <xsl:sort select="name"/> --> <!-- <xsl:sort select="subclient/name/lname" /> --> </xsl:apply-templates> </table> </merged> </xsl:template> <xsl:template match="text()"> <xsl:value-of select="translate(., '

', ' ')"/> </xsl:template>
<!-- newly added template for client and xsl:sort moved from above template to here --> <!-- major change was I modified the select attribute of sort to be name/lname instead of subclient/name/lname --> <xsl:template match="client"> <xsl:apply-templates select="subclient"> <xsl:sort select="name/lname" /> </xsl:apply-templates> </xsl:template>
<xsl:template match="client/subclient"> <xsl:copy> <!-- <tr> <th> <xsl:apply-templates select="title"/> </th> </tr> --> <tr> <td style="border:1px solid #000000"> <!-- <xsl:apply-templates select="@*|node()"/> --> <!-- <xsl:apply-templates select="name"/> --> <xsl:for-each select="name"> <xsl:sort select="lname" order="ascending"/> <xsl:value-of select="fname"/> <xsl:text> </xsl:text> <xsl:value-of select="lname"/> </xsl:for-each> <!-- <xsl:apply-templates select="lname"/> --> </td> <td style="border:1px solid #000000"> <xsl:apply-templates select="phones"/> </td> <td style="border:1px solid #000000"> <xsl:apply-templates select="address"/> </td> </tr> </xsl:copy> </xsl:template> <!-- <xsl:for-each select="name"> <xsl:sort select="lname"/> <xsl:value-of select="fname"/> </xsl:for-each> --> <xsl:template match="address"> <xsl:for-each select="line"> <xsl:apply-templates/> <br/> </xsl:for-each> <xsl:value-of select="url"/> <br/> <xsl:value-of select="email"/> <br/> </xsl:template> <xsl:template match="name"> <xsl:apply-templates/> <xsl:text> </xsl:text> </xsl:template> </xsl:stylesheet>
Hope this helps.
Cheers, prakash
cookie king <cookieking@comc To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx ast.net> cc: (bcc: omprakash.v/Polaris) Subject: [xsl] sorting issue 06/30/2005 06:27 AM Please respond to xsl-list
Recently submitted a post requesting help with sorting. my situation is still the same. i am merging many documents. i get the sort to work but not correctly. it appears to be looking at only the first node of each file and sorting the files according to the first node. i need to sort each individual file first. then merge the sort of all file, or sort each file then merge all.
mastermerge.xsl ===================================== <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:preserve-space elements="text"/> <xsl:template match="masterfile"> <merged> <table style="border:1px solid #000000;border-collapse:collapse"> <xsl:apply-templates select="document(doc/@filename)/client"> <!-- <xsl:sort select="name"/> --> <xsl:sort select="subclient/name/lname" /> </xsl:apply-templates> </table> </merged> </xsl:template> <xsl:template match="text()"> <xsl:value-of select="translate(., '

', ' ')"/> </xsl:template> <xsl:template match="client/subclient"> <xsl:copy> <!-- <tr> <th> <xsl:apply-templates select="title"/> </th> </tr> --> <tr> <td style="border:1px solid #000000"> <!-- <xsl:apply-templates select="@*|node()"/> --> <!-- <xsl:apply-templates select="name"/> --> <xsl:for-each select="name"> <xsl:sort select="lname" order="ascending"/> <xsl:value-of select="fname"/> <xsl:text> </xsl:text> <xsl:value-of select="lname"/> </xsl:for-each> <!-- <xsl:apply-templates select="lname"/> --> </td> <td style="border:1px solid #000000"> <xsl:apply-templates select="phones"/> </td> <td style="border:1px solid #000000"> <xsl:apply-templates select="address"/> </td> </tr> </xsl:copy> </xsl:template> <!-- <xsl:for-each select="name"> <xsl:sort select="lname"/> <xsl:value-of select="fname"/> </xsl:for-each> --> <xsl:template match="address"> <xsl:for-each select="line"> <xsl:apply-templates/> <br/> </xsl:for-each> <xsl:value-of select="url"/> <br/> <xsl:value-of select="email"/> <br/> </xsl:template> <xsl:template match="name"> <xsl:apply-templates/> <xsl:text> </xsl:text> </xsl:template> </xsl:stylesheet> ==================================== file1.xml ====================================
<client> <subclient> <title>A</title> </subclient> <subclient> <name> <fname>Jack</fname> <lname>John</lname> </name> <phones> <phone/> <ext/> <fax/> </phones> <address> <line>address 1</line> <line>address 2</line> <url>www.what.com</url> <email/></address> </subclient> </client> =================================== masterfile.xml =================================== <masterfile> <doc filename="file1.xml"/> <doc filename="file2.xml"/> </masterfile>
This e-Mail may contain proprietary and confidential information and is sent for the intended recipient(s) only. If by an addressing or transmission error this mail has been misdirected to you, you are requested to delete this mail immediately.
You are also hereby notified that any use, any form of reproduction, dissemination, copying, disclosure, modification,
distribution and/or publication of this e-mail message, contents or its attachment other than by its intended recipient/s is strictly prohibited.
Visit Us at http://www.polaris.co.in
------------------------------
Date: Thu, 30 Jun 2005 09:37:02 +0100 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx From: David Carlisle <davidc@xxxxxxxxx> Subject: Re: [xsl] sorting issue Message-Id: <200506300837.JAA23207@xxxxxxxxxxxxxxxxx>
<xsl:preserve-space elements="text"/>
that line isn't doing anything (preserve space is the default)
<xsl:apply-templates select="document(doc/@filename)/client">
This is just selecting one node from each document which is why each document is sorted as a whole, you want t(I think) to select all the subclients from all documents so that is
<xsl:apply-templates select="document(doc/@filename)/client/subclient">
and then sort them by title <xsl:sort select="name/lname" />
(some of your subclients have a title not an name currently they'll all sort together as "" you may want to have title|name/lname or something I don't konw...
David
________________________________________________________________________ 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: http://www.star.net.uk ________________________________________________________________________
------------------------------
Date: Thu, 30 Jun 2005 08:37:54 +0200 To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> From: "Huditsch Roman" <Roman.Huditsch@xxxxxxxxxxxxx> Subject: Problems grouping adjacent siblings Message-ID: <AA7BAD89B2B0C746A26452F44939F1E301603DE1@xxxxxxxxxxxxxxxxxxxx>
Good morning list,
I would like to group adjacent siblings which share the same local-name into a container element.
Given this structure
<ax> <e></e> <r></r> <exp>Example</exp> <exp>bla bla</exp> <exp>jada jada</exp> <b></b> <e></e> <exp>Example 2</exp> <exp>bla bla</exp> <v></v> </ax> <bx> <c></c> <exp>Example 3</exp> <exp>bla bla</exp> <b></b> </bx>
The following output should be produced:
<ax> <e></e> <r></r> <remark> <exp>Example</exp> <exp>bla bla</exp> <exp>jada jada</exp> </remark> <b></b> <e></e> <remark> <exp>Example 2</exp> <exp>bla bla</exp> </remark> <v></v> </ax> <bx> <c></c> <r></r> <remark> =20 <exp>Example 3</exp> <exp>bla bla</exp> </remark> <b></b> </bx>
I thought that this would be the classical use-case for an <xsl:for-each-group> with @group-adjacent, but I am getting the strangest results... I don't even know if it is better to do the grouping in a template matching exp[not(preceding-sibling::*[1][local-name()=3D'exp']) or in a template matching exp's parent I also tried to find a @group-starting-with solution, since the first <exp> always starts with the string 'Example'. But with no success either.... Can you help me with this problem? Thank you very much for your help!
Wbr, Roman
------------------------------
Date: Thu, 30 Jun 2005 01:06:17 -0700 (PDT) To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx From: Mukul Gandhi <mukul_gandhi@xxxxxxxxx> Subject: Re: [xsl] Problems grouping adjacent siblings Message-ID: <20050630080617.29379.qmail@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Hi Roman, I thought the following stylesheet would have worked.. But its not working. Its identity template based ..
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*" /> </xsl:copy>
</xsl:template>
<xsl:template match="exp"> <xsl:if test="not(name(preceding-sibling::*[1]) = 'exp')"> <remark> <xsl:copy-of select=". | following-sibling::exp" /> </remark> </xsl:if> </xsl:template>
</xsl:stylesheet>
Regards, Mukul
--- Huditsch Roman <Roman.Huditsch@xxxxxxxxxxxxx> wrote:
Good morning list,
I would like to group adjacent siblings which share the same local-name into a container element.
Given this structure
<ax> <e></e> <r></r> <exp>Example</exp> <exp>bla bla</exp> <exp>jada jada</exp> <b></b> <e></e> <exp>Example 2</exp> <exp>bla bla</exp> <v></v> </ax> <bx> <c></c> <exp>Example 3</exp> <exp>bla bla</exp> <b></b> </bx>
The following output should be produced:
<ax>
<e></e>
<r></r>
<remark>
<exp>Example</exp>
<exp>bla bla</exp>
<exp>jada jada</exp>
</remark>
<b></b>
<e></e>
<remark>
<exp>Example 2</exp>
<exp>bla bla</exp>
</remark>
<v></v>
</ax>
<bx>
<c></c>
<r></r>
<remark> <exp>Example 3</exp>
<exp>bla bla</exp>
</remark>
<b></b>
</bx>
I thought that this would be the classical use-case for an <xsl:for-each-group> with @group-adjacent, but I am getting the strangest results... I don't even know if it is better to do the grouping in a template matching exp[not(preceding-sibling::*[1][local-name()='exp']) or in a template matching exp's parent I also tried to find a @group-starting-with solution, since the first <exp> always starts with the string 'Example'. But with no success either.... Can you help me with this problem? Thank you very much for your help!
Wbr, Roman
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
------------------------------
Date: Thu, 30 Jun 2005 09:39:22 +0100 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx From: David Carlisle <davidc@xxxxxxxxx> Subject: Re: [xsl] Problems grouping adjacent siblings Message-Id: <200506300839.JAA23221@xxxxxxxxxxxxxxxxx>
You want to use group-adjacent, grouping on name() no need to use the sibling axis explictly here.
David
________________________________________________________________________ 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: http://www.star.net.uk ________________________________________________________________________
------------------------------
Date: Thu, 30 Jun 2005 10:57:17 +0200 To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> From: "Huditsch Roman" <Roman.Huditsch@xxxxxxxxxxxxx> Subject: AW: [xsl] Problems grouping adjacent siblings Message-ID: <AA7BAD89B2B0C746A26452F44939F1E3A54884@xxxxxxxxxxxxxxxxxxxx>
Hi
With the help of a colleague, I managed to get a working solution.
<xsl:template match=3D"*[exp]"> <xsl:copy> <xsl:for-each-group select=3D"*" group-adjacent=3D"if (self::exp) = then 'remark' else 'other'"> <xsl:choose> <xsl:when test=3D"current-grouping-key() =3D 'other'"> <xsl:copy-of select=3D"current-group()"/> </xsl:when> <xsl:otherwise> <xsl:element name=3D"{current-grouping-key()}"> <xsl:copy-of select=3D"current-group()"/> </xsl:element> </xsl:otherwise> </xsl:choose> </xsl:for-each-group> </xsl:copy> </xsl:template>
Thanks for the help!
wbr, Roman
-----Urspr=FCngliche Nachricht-----
Von: David Carlisle [mailto:davidc@xxxxxxxxx]=20
Gesendet: Donnerstag, 30. Juni 2005 10:39
An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Betreff: Re: [xsl] Problems grouping adjacent siblings
=20
=20
You want to use group-adjacent, grouping on name() no need to=20
use the sibling axis explictly here.
=20
David
=20
______________________________________________________________
__________
This e-mail has been scanned for all viruses by Star. The=20
service is powered by MessageLabs. For more information on a=20
proactive anti-virus service working around the clock, around=20
the globe, visit:
http://www.star.net.uk
______________________________________________________________
__________
=20
=20
=20
------------------------------
Date: Thu, 30 Jun 2005 18:01:27 +0100 To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> From: "Michael Kay" <mike@xxxxxxxxxxxx> Subject: RE: [xsl] Problems grouping adjacent siblings
I would like to group adjacent siblings which share the same local-name
into a container element.
I thought that this would be the classical use-case for an
<xsl:for-each-group> with @group-adjacent, but I am getting the
strangest results...
I can't tell what you are doing wrong without seeing your code.
With ax as the context node, you can do
<xsl:for-each-group select="*" group-adjacent="local-name()"> <xsl:choose> <xsl:when test="current-grouping-key()='ex'"> <remark><xsl:copy-of select="current-group()"/></remark> </ <xsl:otherwise> <xsl:copy-of select="current-group()"/> </ </ </
Michael Kay
http://www.saxonica.com/
------------------------------
Date: Thu, 30 Jun 2005 09:31:55 +0100 (BST) To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx From: Rahil Qamar <qamar_rahil@xxxxxxxxxxx> Subject: Re: [xsl] problems with copying duplicate nodes Message-ID: <20050630083155.69005.qmail@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Thanks Mukul and David for the clarifications you provided.
Much appreciate your help. Rahil
--- Mukul Gandhi <mukul_gandhi@xxxxxxxxx> wrote:
Hi Rahil,________________________________________________________________________
--- Rahil Qamar <qamar_rahil@xxxxxxxxxxx> wrote:
<xsl:variable name="rtf">
<temp>
<xsl:copy-of select="TD" />
</temp> </xsl:variable>
So the variable 'rtf' contained the entire TD
content.
The variable rtf (Result Tree Fragment) contains a XML fragment, which is part of the Result Tree ..
the<xsl:for-each select="$rtf/temp/TD[generate-id() = generate-id(key('by-td', .)[1])]"> <xsl:copy-of select="." /> </xsl:for-each>
Then for each TD in the $rtf you checked whether
there
was a duplicate TD present bz comparing it with
first occurrence of TD.Yes, thats true ..
Well I must thank you for providing me with aI thank you for the nice problem you posted ..
solution. I had truly been struggling ! :)
Regards, Mukul
..Thanks Rahil
--- Mukul Gandhi <mukul_gandhi@xxxxxxxxx> wrote:
Hi Rahil,
Please read my thoughts below your sentences
<temp>SaxonYou posted an interesting problem for me to find an answer .. Thanks..
--- Rahil Qamar <qamar_rahil@xxxxxxxxxxx> wrote:
(I am glad I was able to help ..)
The solution you posted worked even with my
8.1.1 processor using XSLT 2.0.
Im getting the output just as I wanted but Im
intrigued about the functionality of the
laternode
and how it eliminated the duplicates at a
whichstage.I used temp as a convenience element, using
Iproperly
was able to distinguish element hierarchy
do..also
We could write the stylesheet using without it
..
But I am not sure at this moment, how we should
thisthat? I think David answered the question to
insome time back .. Please ask him :)
Just so I know how to resolve a similar query
infuture could you please explain what you did
thattheportion
<template match="TABLE/TR/TR"> block ?In this template, I matched a pattern with a
of the result tree (which was body of thetemplate)
..
I think the explanation could be as simple as
wrote:;)
Regards, Mukul
Thanks again Rahil
--- Mukul Gandhi <mukul_gandhi@xxxxxxxxx>
commentsHi David,
Please read my response below your
..and
--- David Carlisle <davidc@xxxxxxxxx> wrote:
The stylesheet uses node-set function,
stylesheet,asMuenchian
Grouping (over a RTF) ..
It _needs_ to use a node-set function, but
posted
you did not use itSorry if I am wrong. I tested the
(you need common:node-set($rtf))
andwith
it
ran successfully with Saxon.
The stylesheet is tested with Saxon 8.4.
It's best not to test xslt 1 stylesheets
angenerate
xslt2 processor.
As (as in this case) many things that
an
error in xslt1 willYou are always right :)
not be reported.
Regards, Mukul
David
________________________________________________________________________virusesThis e-mail has been scanned for all
moreby
Star. The
service is powered by MessageLabs. For
clock,information on a proactive
anti-virus service working around the
around
the globe, visit: http://www.star.net.uk
=== message truncated ===
___________________________________________________________ Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail http://uk.messenger.yahoo.com
------------------------------
Date: Thu, 30 Jun 2005 11:05:06 +0200 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx From: James Fuller <jim.fuller@xxxxxxxxxxxxxx> CC: ElektonikaMail@xxxxxxxxxxxxxxxxxxxxxx, exslt@xxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Re: [exslt] Re: [xsl] Importing compiled stylesheets Message-ID: <42C3B5C2.5010508@xxxxxxxxxxxxxx>
Colin Paul Adams wrote:
Mike, what you say is true, but is not relevant to the case.
xsl:use-when IS a compile-time construction - it runs at compile-time, not at run-time.
and the condiotion is not a runt-ime condition - element-available
evaluates, AT COMPILE TIME, whether or not the instruction is
available.
being very lazy at the moment,
is this behavior what the spec explicitly states or is it implementator intepretation...also is it consistent between XSLT 1.0 and XSLT 2.0 ?
cheers, Jim Fuller
------------------------------
Date: 30 Jun 2005 10:48:17 +0100 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx From: Colin Paul Adams <colin@xxxxxxxxxxxxxxxxxx> Cc: ElektonikaMail@xxxxxxxxxxxxxxxxxxxxxx, exslt@xxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Re: [exslt] Re: [xsl] Importing compiled stylesheets Message-ID: <m3ll4s41lq.fsf@xxxxxxxxxxxxxxxxxx>
"James" == James Fuller <jim.fuller@xxxxxxxxxxxxxx> writes:
James> Colin Paul Adams wrote:
>>>>>>> Mike, what you say is true, but is not relevant to the
>>>>>>> case. xsl:use-when IS a compile-time construction - it
>>>>>>> runs at compile-time, not at run-time. and the condiotion
>>>>>>> is not a runt-ime condition - element-available evaluates,
>>>>>>> AT COMPILE TIME, whether or not the instruction is
>>>>>>> available.
>>>>>>> >>>>>>>
James> being very lazy at the moment,
James> is this behavior what the spec explicitly states or is it James> implementator intepretation...also is it consistent between James> XSLT 1.0 and XSLT 2.0 ?
It is explicit, and it is not optional.
And it is not consistent, as XSLT 1.0 does not have a conditional compilation facility.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] namespaces gets copied to, Michael Kay | Thread | [xsl] [ANN] A World Class XML Confe, Scott Abel |
RE: [xsl] only display if subnodes , Aron Bock | Date | RE: [xsl] only display if subnodes , Wendell Piez |
Month |