[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Printing all child bachelor nodes


Subject: Re: [xsl] Printing all child bachelor nodes
From: Douglas F Shearer <dougal.s@xxxxxxxxx>
Date: Thu, 9 Feb 2006 15:41:43 +0000

Thanks Andrew, that was spot on!

Cheers.

Dougal.

Douglas F Shearer
dougal.s@xxxxxxxxx
http://douglasfshearer.dyndns.org


On 9 Feb 2006, at 15:28, andrew welch wrote:


On 2/9/06, Douglas F Shearer <dougal.s@xxxxxxxxx> wrote:
Hi there.

  I have the following snippet of XML and would like to extract the
data given below using XSL...

********** XML ************
<features>
<pool length="30" max-depth="160" min-depth="30" indoor="false"/>
<DVD/>
<beds twin="2" sofa-bed="1"/>
</features>


******** REQUIRED OUTPUT ******
pool: length: 30, max-depth:160, min-depth:30, indoor: false.
DVD.
beds: twin:2, sofa-bed:1

**************************************

  The main issue I am having is that the nodes themselves change
(microwave instead of DVD etc). Basically I want to print out all of
the elements within the features element, and their associated
attributes.

<xsl:template match="features/*"> <xsl:value-of select="local-name()"/> <xsl:for-each select="@*"> <xsl:value-of select="concat(' ', name(), ':', .)"/> <xsl:if test="position() != last()">,</xsl:if> </xsl:for-each> <xsl:text>.</xsl:text> </xsl:template>

Did you really want text output?  If so you will need to add CRs in
there, but I'm guess you'll be using HTML.  Also, beds didn't end with
a . which I'm also assuming was a typo.

cheers
andrew


Current Thread
Keywords
xml