Subject: Do you know how to refer to a node?
From: Jonathan Asbell <jonathana@xxxxxxxxxxxxxx>
Date: Sun, 19 Dec 1999 13:33:44 -0500
|
I need to refer to
node(0)
node(1)
node(2)
etc. which are children of a node "CUSTOMER". How do I refer to each
successive node child of node "CUSTOMER"? My aim is to transform this into
xml with more meaningful tag names
<CUSTOMER>
<xsl:text>WHITC</xsl:text>
<xsl:text>White Clover Markets</xsl:text>
<xsl:text>Karl Jablonski</xsl:text>
<xsl:text>Owner</xsl:text>
<xsl:text>305 - 14th Ave. S.<BR>Suite 3B</xsl:text>
<xsl:text>Seattle</xsl:text>
<xsl:text>WA</xsl:text>
<xsl:text>98128</xsl:text>
<xsl:text>USA</xsl:text>
<xsl:text>(206) 555-4112</xsl:text>
<xsl:text>(206) 555-4115</xsl:text>
</CUSTOMER>
-----Original Message-----
From: John Robert Gardner [mailto:jrgardn@xxxxxxxxx]
Sent: Sunday, December 19, 1999 12:05 PM
To: xsl-list@xxxxxxxxxxxxxxxx
Subject: Re: Preserve ancestors/discard children
Thanks Steve, with just a snippet of tweaking, it did the trick. I must
remember to use xsl:if more often. Elsewise I shame the lumberjack and
his finely taught lore.
jr
=-=-=-=-=-=-=-=-=-==-=-=-=
John Robert Gardner
ATLA-CERTR
Emory University
------------------------------------------------------------
http://vedavid.org/diss/
"If there is something you're thinking of doing, or wish you could do,
begin it. In boldness there is mystery and power . . . . " -Goethe
On Sun, 19 Dec 1999, Steve Tinney wrote:
> Here is a lightly tested solution along the lines in my previous post.
> The test data you gave is too complex, incidentally, to tell exactly
> what the parameters of your needs are.
>
> Still, this XSL:
>
> <?xml version='1.0'?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:template match="*|@*|text()">
> <xsl:if test="not(name(.)='ul') or not(./li[@class='L'])">
> <xsl:copy>
> <xsl:apply-templates select="*|@*|text()"/>
> </xsl:copy>
> </xsl:if>
> </xsl:template>
>
> </xsl:stylesheet>
>
> When applied to this XML:
>
> <?xml version="1.0"?>
> <html>
> <body bgcolor="#ffffff">
>
> <div class="Rgveda">
> <div1>
> <ul><li class="L">agni;m ILe puro;hitam</li>
> <li class="L">yajJa;sya deva;m Rtvi;jam /</li>
> </ul>
> <ul><li class="L">agni;m ILe puro;hitam</li>
> <li class="T">yajJa;sya deva;m Rtvi;jam /</li>
> </ul>
> <ul><li class="T">agni;m ILe puro;hitam</li>
> <li class="T">yajJa;sya deva;m Rtvi;jam /</li>
> </ul>
> </div1>
> </div>
> </body>
> </html>
>
> Emits only the third UL. Perhaps that is what you want?
>
> Steve
>
> --
> ----------------------------------------------------------------------
> Steve Tinney Babylonian Section
> * University of Pennsylvania Museum
> stinney@xxxxxxxxxxxxx Phila, PA. 215-898-4047
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|