forrest-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Helena Edelson <hel...@greenjaguar.com>
Subject Re: coding dynamicall in xdocs/ and to delimit output in meta-data?
Date Mon, 05 Sep 2005 14:30:43 GMT
Hi

<xsl:for-each select="(articles/article[@type='foo'][position() &lt; 5 ]">
  
I think the directive I am not understanding is what
position() &lt; 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" <rgardler@apache.org> 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/article[@type='foo'][position() &lt; 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() &lt; ($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
>>> 
>>> 
> 
> 



Mime
View raw message