Hi <xsl:for-each select="(articles/[EMAIL PROTECTED]'foo'][position() < 5 ]"> I think the directive I am not understanding is what position() < 5 is doing. Is it checking an array or vector of types and saying if not null return 0-4? And I then have those ready for my out.print?
I know it's a custom XSLT but I was missing the understanding of what $entries or position represents. However, am very intrigued and will further investigate the JXTemplateTransformer and other insights mentioned below. Thank you for the leads and yes, embarrassingly, I haven't yet looked at the forrest source for examples which will probably answer all basic questions. I am doing 4 new production sites in forrest this September besides www.thesummitjournal.com, and we are very excited. There are some things we need to create to make forrest more friendly for non-extranet sites I suspect, however there seems to be a vast functionality I have yet to grasp and look forward to doing so! Kind regards, Helena On 9/5/05 3:16 AM, "Ross Gardler" <[EMAIL PROTECTED]> wrote: > Helena Edelson wrote: >> I mean how in *xdocs* files would you do the equivalent of @author_id or: >> >> <a href="../by_author_{author_id}.html">{name}</a> > > I'm still not sure what you mean, where is the {author_id} parameter > coming from? That is, what supplies that value for this token? > > Like I said earlier, there is an author element in the XDoc, can't you > just use that with a custom transformation to give you the link you want? > > If the author tag is no use to you then you need to create your own > pipelines to do these replacements. There are a number of ways of doing > it. Perhaps the easiest way, if you do not have detailed Cocoon > knowledge, is to use an XSLT transformation to do the replacements. You > need to pass the values in to the transformation and have the XSLT do > the replacements, see my earlier reply (copied below) for a hint on how > to do this. > > You may also consider using the JXTempalteTransformer > http://cocoon.apache.org/2.1/userdocs/transformers/jx-template-transformer.htm> l > > Another alternative is XSP: > http://cocoon.apache.org/2.1/userdocs/xsp/index.html > > If you more clearly define the problem we can probably give you more > direct help, i.e. code examples. > >> on the second, I mean how to write the line of code, I'm not sure what >> the $x or @x I have to look at the number of entries of type foo and >> only show say 4 of the total number in an xsl file. how you would write >> the value to stop at and the ($entries.......)*] part >> does that make any sense at all? > > I'm reeally not sure I am understranding your problem. The xsl is: > > <xsl:for-each select="(articles/[EMAIL PROTECTED]'foo'][position() < 5 ]"> > > If you want to pass the number of elements being processed in as a > parameter then see my earlier response which tells you how to find > examples in our source code. > > Note, this list is not the best place to get help with XSLT. If you need > more help with XSLT I'd recomend taking a look at the tutorials on > http://www.zvon.org > > Ross > >> >> thx >> Holly >> >> >> >> Ross Gardler wrote: >> >>> Helena Edelson wrote: >>> >>>> I know how to code for forrest for this link in the xsl files: >>>> >>>> <a href="../by_author_holly.html">Holly Edelson</a> >>>> >>>> but how do you code for this sort of link in an xdocs/*.xml file? >>>> can I put dynamic code there? >>> >>> >>> In what way is it dynamic? Isn't the authors tag sufficient? >>> >>> http://forrest.apache.org/dtdx/document-v20.dtdx.html#authors >>> >>>> Also, how, for src/xdocs/index.xml file can you code the xsl for it >>>> to count the entries in the /meta-data/foo.xml, set a max integer >>>> (value) for to generate on the xdocs/index.html page when you run >>>> forrest to only show x number of entries for category foo if exists >>>> and not show the rest? >>>> >>>> I mean, say I have type foo and type bar in my meta-data/foo.xml >>>> file. Say I have 10 items of type foo and 10 items of type bar, but I >>>> only want the generated home page (html) to display 4 per type? >>>> is it like <xsl:for-each select="articles/article[ type= foo][ >>>> *position() < ($entries+1)* ]">? >>>> >>>> ->this is where I don't have a clue >>> >>> >>> Do you mean you want to know how to pass the value of $entries into >>> the XSL? >>> >>> If so take a look at our sitemaps, there are lots of examples. Search >>> for "<map:paramter" >>> >>> You could also pass it in using a configuraiton file. You can also see >>> examples of this in our skins, search for "$config". >>> >>> Ross >>> >>> > >