|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Traverse XML Source
That is a farely predicted result... I don't know to what depth the child
nodes shall occur... but each parent node should be a <ul> and each child
node with child nodes should be a <UL>... with the possibility of there
being sibling <li>'s.
Here is a better XML source:
<ABC>
<A>
<AB/><CD/><EF/>
</A>
<B>
<AB/><CD/><EF/>
</B>
<C/>
<D/>
<E/>
</ABC>
And the result:
<ul>ABC
<ul>A
<li>AB</li>
<li>CD</li>
<li>EF</li>
</ul>
<ul>B
<li>AB</li>
<li>CD</li>
<li>EF</li>
</ul>
<li>C</li>
<li>D</li>
<li>E</li>
<li>F</li>
</ul>
-----Original Message-----
From: cking [mailto:cking@xxxxxxxxxx]
Sent: Tuesday, August 17, 2004 2:24 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Traverse XML Source
Hi Karl,
there are a few problems with your XSL source:
it contains two templates with the same match attribute
<xsl:template match="*">
which basically means: match any element.
Template match attributes should be unique, otherwise the
processor does not know which of the two templates to use.
further, your second template has no effect, because match="@*"
means: match any attribute, and your XML source tree doesn't
have any element with attributes.
you didn't show us the output you expect, but something like:
<xsl:template match="/stuff/abc/def">
<ul><xsl:apply-templates/></ul>
</xsl:template>
<xsl:template match="path | web | uid | pwd">
<li><xsl:value-of select="."/></li>
</xsl:template>
will (hopefully) give you this output:
<ul>
<li>\\path-to-server</li>
<li>http://my-web-path</li>
<li>9999</li>
<li>monkeysee</li>
</ul>
HTH,
Anton Triest
Tuesday, August 17, 2004 10:46 PM, karl@xxxxxxxxxxxxxxxxxxxx wrote:
>
> Hello,
> I would like a very simple XSLT transformation that traverses an XML
> source and creates an HTML list output. Is this an identity
> transformation?
> So far, I have only been able to get anything to happen on the document
> root, and nothing below is traversed.
> Thanks for the help. ~karl
>
> Here is what I have so far,
> XML Source:
> <stuff>
> <abc>
> <def>
> <path>\\path-to-server</path>
> <web>http://my-web-path</web>
> <uid>9999</uid>
> <pwd>monkeysee</pwd>
> </def>
> </abc>
> </stuff>
>
> XSL Source:
> <xsl:template match="*">
> <xsl:copy>
> <xsl:apply-templates select="@*" />
> <xsl:apply-templates />
> </xsl:copy>
> </xsl:template>
>
>
> <xsl:template match="@*">
> <li><xsl:copy-of select="." /></li>
> </xsl:template>
>
> <xsl:template match="*">
> <li><xsl:copy-of select="." /></li>
> </xsl:template>
>
> </xsl:stylesheet>
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








