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:
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.
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.
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 ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Re: [xslt transform & gro, David Carlisle | Thread | Re: [xsl] Re: [xslt transform & gro, David Carlisle |
RE: [xsl] copy vs. copy-of performa, Michael Kay | Date | RE: [xsl] XML as a string param, Michael Kay |
Month |