forrest-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ross Gardler <rgard...@apache.org>
Subject Re: coding dynamicall in xdocs/ and to delimit output in meta-data?
Date Mon, 05 Sep 2005 07:16:54 GMT
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.html

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