forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oshani Seneviratne" <osh...@apache.org>
Subject Re: How do you add a link tag?
Date Sat, 07 Jul 2007 08:21:38 GMT
On 7/6/07, Ross Gardler <rgardler@apache.org> wrote:
> On 05/07/07, Oshani Seneviratne <oshani@apache.org> wrote:
> > Hi,
> >
> > In the FOAF plugin, I was trying to make the FOAF data get
> > auto-discovered by a tool like Semantic Radar [1]. To do that, I
> > believe there should be a link tag, such as the following, inside the
> > head element of the page.
> >
> > <link rel="meta" type="application/rdf+xml" href="foaf.rdf" />
> >
> > I could not find any DTD in document-v20 [2] for 'link', so I was
> > unable to add it in the xsl which transforms the FOAF into XDoc.
> >
> > However, I see that some link tags are included (css files for
> > example) in the final HTML page generated. But I couldn't figure out
> > where those are picked up in the pipeline.
> >
> > So I would really appreciate any advice on what I should do to get a
> > link tag included in a page.
>
> These are added by the skinning system. Using skins there is no easy
> way to do this since there is no (easy) way for the skin to know when
> it should be adding the link. I'm afraid it is one of the drawbacks of
> the skinning system. It is possible, but it is hacky and I don't
> recommend going down that route as it will mean having to maintain a
> new skin, which we don't want to do.
>
> We could consider adding handling of the link element in XDoc (it is
> XHTML2 compat, so is likely to be accepted by the community).
>
> It is much easier if using the dispatcher (see the DOAP plugin for an
> example of exactly what you want to do - but only if you want to work
> with the dispatcher).
>
> So, do you fancy going with the dispatcher or do you fancy getting
> into the internals of Forrest? (or ignore it completely for now, add
> an issue to the issue tracker and move on to another requirement).
>


I had a look at the doap plugin to see how you have done it using the
dispatcher. But there are few things that I was not able to understand
there. For instance, in [1] there is the following piece of code:

[1]$FORREST_HOME/whiteboard/plugins/o.a.f.p.i.doap/resources/themes/common/html/doap-embedded.ft

<forrest:template xmlns:forrest="http://apache.org/forrest/templates/1.0"
    name="doap-embedded" inputFormat="xsl">
.
.
.
   <xsl:template match="doap[@url]"><link rel="meta" type="application/rdf+xml">
.
.

Does this doap[@url] refer to the<doap> element in the
src/resources/themes/pelt.fv ?
Assuming that it is,  I hacked up a similar contract for the FOAF
plugin. But it throws up this error saying "dispatcherError:Could not
get the properties for cocoon://index.props". (Please find the full
trace at the end of the mail)
What do you think I am doing wrong here?

So, I guess I will leave out adding the <link> tag for a while.This
was not a major requirement, and I have some code that I would like to
get committed first, so this could wait a bit. (I got a bit carried
away to do something like the FOAF-Explorer [2] and try out the
Semantic Radar when there are multiple FOAF files.)

[2] http://xml.mfd-consult.dk/foaf/explorer/

Thanks,
Oshani

------------------------------------------------------------------
dispatcherError:
Could not get the properties for cocoon://index.props
 DispatcherStack: org.apache.excalibur.source.SourceNotFoundException:
Exception during processing of cocoon://index.props
	at <map:serialize type="xhtml"> -
file:/E:/projects/forrest/build/plugins/org.apache.forrest.plugin.internal.dispatcher/internal.xmap:177:39
	at <map:transform> -
file:/E:/projects/forrest/build/plugins/org.apache.forrest.plugin.internal.dispatcher/internal.xmap:176:13
	at <map:transform> -
file:/E:/projects/forrest/build/plugins/org.apache.forrest.plugin.internal.dispatcher/internal.xmap:173:13
	at <map:transform type="dispatcher"> -
file:/E:/projects/forrest/build/plugins/org.apache.forrest.plugin.internal.dispatcher/internal.xmap:163:42
	at <map:generate type="jx"> -
file:/E:/projects/forrest/build/plugins/org.apache.forrest.plugin.internal.dispatcher/internal.xmap:157:70
	at <map:mount> -
file:/E:/projects/forrest/whiteboard/plugins/org.apache.forrest.plugin.input.foaf/build/tmp/internal.xmap:33:158
	at <map:mount> - file:/E:/projects/forrest/main/webapp/sitemap.xmap:355:118

Mime
View raw message