RE: RE: xsl:copy-of Problem
How about something like this, then? xsl:variable name=m select=/all/message/ xsl:for-each select=$m[position()lt;6 xsl:sort select=./ !-- sample output here -- xsl:value-of select=./ /xsl:for-each Or you might want to look at: http://www.dpawson.co.uk/xsl/sect2/N6461.html#d6361e489 Really you should ask this kind of question on the mulberrytech xsl list; you'll get more response! :-) Con -Original Message- From: Marcel Jurk [mailto:[EMAIL PROTECTED]] Sent: Sunday, 15 December 2002 18:52 To: [EMAIL PROTECTED] Subject: RE: RE: xsl:copy-of Problem Hi Con, thanks for the hint with the RTF. But my problem is, that I want first sort the elements and afterwards I want output only the first five elements. With your example xsl:variable name=m select=/all/message/ is no sorting possible. Regards, Marcel Marcel your variable $m holds a Result Tree Fragment, not a NodeSet. A RTF is not as useful as a nodeset. In particular you can't use for-each with it. See http://www.w3.org/TR/xslt#section-Result-Tree-Fragments Try assigning the variable like this: xsl:variable name=m select=/all/message/ Cheers! Con -Original Message- From: Marcel Jurk [mailto:[EMAIL PROTECTED]] Sent: Saturday, 14 December 2002 07:16 To: [EMAIL PROTECTED] Subject: RE: RE: xsl:copy-of Problem Sorry I forgott the following lines in the stylesheet. xsl:template match=/ xsl:variable name=m xsl:call-template name=sortmsg/ /xsl:variable xsl:for-each select=$m xsl:value-of select=name(.)/ !-- No output -- xsl:value-of select=./ !-- Output: msg1msg2 -- /xsl:for-each /xsl:template xsl:template name=sortmsg xsl:for-each select=/all/message xsl:copy-of select=./ /xsl:for-each /xsl:template In the xsl:for-each loop must be the output two times message, but I got no output and the loop is pass only once. I think that not the tree is copied with the xsl:copy-of in the template sortmsg, but only the values. Before the currently c2.1 (cvs 12.12) version, I used c2.1 (cvs 30.10) and with it works fine, but now not. Marcel - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Gesendet von Yahoo! Mail - http://mail.yahoo.de Weihnachts-Einkäufe ohne Stress! http://shopping.yahoo.de - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: RE: xsl:copy-of Problem
Marcel your variable $m holds a Result Tree Fragment, not a NodeSet. A RTF is not as useful as a nodeset. In particular you can't use for-each with it. See http://www.w3.org/TR/xslt#section-Result-Tree-Fragments Try assigning the variable like this: xsl:variable name=m select=/all/message/ Cheers! Con -Original Message- From: Marcel Jurk [mailto:[EMAIL PROTECTED]] Sent: Saturday, 14 December 2002 07:16 To: [EMAIL PROTECTED] Subject: RE: RE: xsl:copy-of Problem Sorry I forgott the following lines in the stylesheet. xsl:template match=/ xsl:variable name=m xsl:call-template name=sortmsg/ /xsl:variable xsl:for-each select=$m xsl:value-of select=name(.)/ !-- No output -- xsl:value-of select=./ !-- Output: msg1msg2 -- /xsl:for-each /xsl:template xsl:template name=sortmsg xsl:for-each select=/all/message xsl:copy-of select=./ /xsl:for-each /xsl:template In the xsl:for-each loop must be the output two times message, but I got no output and the loop is pass only once. I think that not the tree is copied with the xsl:copy-of in the template sortmsg, but only the values. Before the currently c2.1 (cvs 12.12) version, I used c2.1 (cvs 30.10) and with it works fine, but now not. Marcel - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: RE: xsl:copy-of Problem
Hi Con, thanks for the hint with the RTF. But my problem is, that I want first sort the elements and afterwards I want output only the first five elements. With your example xsl:variable name=m select=/all/message/ is no sorting possible. Regards, Marcel Marcel your variable $m holds a Result Tree Fragment, not a NodeSet. A RTF is not as useful as a nodeset. In particular you can't use for-each with it. See http://www.w3.org/TR/xslt#section-Result-Tree-Fragments Try assigning the variable like this: xsl:variable name=m select=/all/message/ Cheers! Con -Original Message- From: Marcel Jurk [mailto:[EMAIL PROTECTED]] Sent: Saturday, 14 December 2002 07:16 To: [EMAIL PROTECTED] Subject: RE: RE: xsl:copy-of Problem Sorry I forgott the following lines in the stylesheet. xsl:template match=/ xsl:variable name=m xsl:call-template name=sortmsg/ /xsl:variable xsl:for-each select=$m xsl:value-of select=name(.)/ !-- No output -- xsl:value-of select=./ !-- Output: msg1msg2 -- /xsl:for-each /xsl:template xsl:template name=sortmsg xsl:for-each select=/all/message xsl:copy-of select=./ /xsl:for-each /xsl:template In the xsl:for-each loop must be the output two times message, but I got no output and the loop is pass only once. I think that not the tree is copied with the xsl:copy-of in the template sortmsg, but only the values. Before the currently c2.1 (cvs 12.12) version, I used c2.1 (cvs 30.10) and with it works fine, but now not. Marcel - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Gesendet von Yahoo! Mail - http://mail.yahoo.de Weihnachts-Einkäufe ohne Stress! http://shopping.yahoo.de - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: RE: xsl:copy-of Problem
Sorry I forgott the following lines in the stylesheet. xsl:template match=/ xsl:variable name=m xsl:call-template name=sortmsg/ /xsl:variable xsl:for-each select=$m xsl:value-of select=name(.)/ !-- No output -- xsl:value-of select=./ !-- Output: msg1msg2 -- /xsl:for-each /xsl:template xsl:template name=sortmsg xsl:for-each select=/all/message xsl:copy-of select=./ /xsl:for-each /xsl:template In the xsl:for-each loop must be the output two times message, but I got no output and the loop is pass only once. I think that not the tree is copied with the xsl:copy-of in the template sortmsg, but only the values. Before the currently c2.1 (cvs 12.12) version, I used c2.1 (cvs 30.10) and with it works fine, but now not. Marcel --- Geoff Howard [EMAIL PROTECTED] schrieb: sorry, didn't notice he had the root node matched. i was going too fast. Geoff -Original Message- From: Joerg Heinicke [mailto:[EMAIL PROTECTED]] Sent: Friday, December 13, 2002 4:55 AM To: [EMAIL PROTECTED] Subject: Re: xsl:copy-of Problem Geoff Howard wrote: Hello Marcel, I wonder that anything is outputted. The output of the template 'sortmsg' is only stored in the variable $m, but there is nothing like xsl:value-of select=$m/. If you use xsl:copy-of select=$m/, the tree is copied to the output. But I don't see, where the to strings come from. Do you have a xsl:apply-templates/ anywhere in your template matching on the root node? The text nodes are probably coming from the default template, which copies text nodes with value-of. After you add xsl:copy-of select=$m/ you'll need to add empty template match patterns for text and/or message. I think there's also a default template that implies xsl:apply-templates on the root node if no other template is specified for it. He seems to use a template matching on root node. In it there is no xsl:apply-templates/ (at least here in the mail). So the built-in template can't be used and the text shell not appear in the output. But it did as he said, so I asked for differences between the template in the mail and this one he uses in Cocoon. Joerg Marcel Jurk wrote: Hi, since I use Cocoon2.1 (CVS 12.12.2002) I have the following problem. When I use xsl:copy-of select=./ in a xsl-stylesheet, only the values form the elements are copied, but not the element itself, e.g. when I transform the following xml data: all message textmsg1text /message message textmsg2text /message /all with the stylesheet: xsl:template match=/ xsl:variable name=m xsl:call-template name=sortmsg/ /xsl:variable /xsl:template xsl:template name=sortmsg xsl:for-each select=/all/message xsl:copy-of select=./ /xsl:for-each /xsl:template then are only msg1 msg2 is copied and not message textmsg1/text /message message textmsg2/text /message I use the following transformer: map:transformer logger=sitemap.transformer.xsltc name=xslt pool-grow=2 pool-max=32 pool-min=8 src=org.apache.cocoon.transformation.TraxTransformer use-request-parametersfalse/use-request-parameters use-browser-capabilities-dbfalse/use-browser-capabilities-db transformer-factoryorg.apache.xalan.xsltc.trax.TransformerFactor yImpl/transformer-factory /map:transformer Does anyone know an answer. Thanks in advance, Marcel __ Gesendet von Yahoo! Mail - http://mail.yahoo.de Weihnachts-Einkäufe ohne Stress! http://shopping.yahoo.de - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL