Re: [xsl] Re: [xslt transform & grouping] Using the Muenchian Method?

Subject: Re: [xsl] Re: [xslt transform & grouping] Using the Muenchian Method?
From: "Michael PG" <xrow@xxxxxxx>
Date: Tue, 05 Oct 2004 11:59:24 +0000
  "Exception Details: System.Xml.Xsl.XsltException: 'xsl:apply-templates'
  cannot be a child of 'xsl:stylesheet' element."


That error message seems clear enough, and any xslt tutorial will confirm it's correctness: apply-templates can not be used at the top level.

yeah. that note was for Anton. I have placed apply-templates under xsl:template:

<xsl:template match="Documents">

<xsl:apply-templates select="*[@filter=$filter]"/>



I have also to remove quote marks from select=" ' food ' " so select=" food
" otherwise:




select=" ' food ' "

would evaluate to the string  space f o o d space which doesn't match
the attribute value in your source, which doesn't have spaces.
But given your quoted error message it would appear that you had put
that on an apply-templates, since it selects a string you get an error
message as apply-templates can only be applied to nodes.

select=" food "

selects an element with name food so since you do not have any <food>
elements it selects nothing and you get no output.




I am awared of that, but Anton wrote select="'food'", which generated in error.
The reason I made space in my example is to make clear that Anton used Apostrpphes inside the quotes. "''"


Anyhow, after I corrected to select="food" the result is the same.
No output. Notice original XML input file,

<Documents>
  <Document chapter="1" title="title 1" href="file1.xml" filter="">
        <Article title="1.1" info="sub" filter="food"/>
        <Article title="1.2" info="main" filter="drink"/>
   </Document>
  <Document chapter="2" title="title 2" href="file2.xml" filter="food">
        <Article title="2.1" info="sub" filter="drink"/>
        <Article title="2.2" info="main" filter="food"/>
   </Document>
</Documents>


The second Document node should generate in output XML file anyhow. But it's not for some reason.

Any ideas ?

-Michael



From: David Carlisle <davidc@xxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Re: [xslt transform & grouping] Using the Muenchian Method?
Date: Tue, 5 Oct 2004 11:33:33 +0100


  "Exception Details: System.Xml.Xsl.XsltException: 'xsl:apply-templates'
  cannot be a child of 'xsl:stylesheet' element."


That error message seems clear enough, and any xslt tutorial will confirm it's correctness: apply-templates can not be used at the top level.


I have also to remove quote marks from select=" ' food ' " so select=" food
" otherwise:




select=" ' food ' "

would evaluate to the string  space f o o d space which doesn't match
the attribute value in your source, which doesn't have spaces.
But given your quoted error message it would appear that you had put
that on an apply-templates, since it selects a string you get an error
message as apply-templates can only be applied to nodes.

select=" food "

selects an element with name food so since you do not have any <food>
elements it selects nothing and you get no output.


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
________________________________________________________________________


_________________________________________________________________
Dont just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/


Current Thread