This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Elements with Mixed contents


Hi Sandeep,

> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl";>

You're not using XSLT, but rather a dialect developed by Microsoft
based on one of the very early working drafts for XSLT, which they
call "XSL". I suggest that you upgrade to XSLT before you go any
further. See the MSXML FAQ at
http://www.netcrucible.com/xslt/msxml-faq.htm for more details.

> <xsl:template match="directory">
>  <br/><xsl:value-of select="text()"/><br/>
> <xsl:apply-templates select="subdirectory"/>
>  <br/><xsl:value-of select="text()[1]"/><br/>
> </xsl:template>

I can't say how "XSL" would interpret this, but in XSLT the positions
of nodes are counted from 1. The above will give you the value of the
first text node twice - once from the <xsl:value-of select="text()" />
and once from the <xsl:value-of select="text()[1]" />.

But I think that you're going about the problem in the wrong way. It
seems that what you want is, for every text node in your document, a
br element followed by the value of the text node, followed by a br
element. You should make a template that expresses that rule, as
follows:

<xsl:template match="text()">
  <br /><xsl:value-of select="." /><br />
</xsl:template>

Then, the templates for directory and subdirectory elements can simply
apply templates to all their children, without having to test to see
what they are, as follows:

<xsl:template match="directory">
  <xsl:apply-templates />
</xsl:template>

<xsl:template match="subdirectory">
  <font color="red">
    <xsl:apply-templates />
  </font>
</xsl:template>

<xsl:template match="file">
  <font color="blue">
    <br/><xsl:value-of select="."/>
  </font>
  <br/>
</xsl:template>

I hope that helps,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]