xsl-list
[Top] [All Lists]

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

2004-10-05 04:59:24

  "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="*[(_at_)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(_at_)nag(_dot_)co(_dot_)uk>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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
________________________________________________________________________

--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--


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