forrest-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Dixon <...@dixons.org>
Subject Re: xinclude
Date Mon, 04 Sep 2006 14:04:25 GMT
On Mon, 4 Sep 2006, Ross Gardler wrote:

> > However! If I change the element to
> >
> >   <xi:include parse="text" href="cocoon://eg/foo.txt"/>
> >
> > it works.  I will be experimenting with this further, but it appears
> > that the cocoon:// protocol is not just a Good Thing but mandatory.
>
> It is not mandatory, you can use any protocol you like in the xinclude
> just as you can in any url anywhere in Forrest.
>
> If it works with the cocoon: protocol, but not with the relative path
> that you had previosuly then the actual location of your txt document
> was different from the relative path you define i your xinclude.

I just tried each of the following in turn:

 <xi:include parse="text" href="foo.txt"/>
 <xi:include parse="text" href="eg/foo.txt"/>
 <xi:include parse="text" href="/eg/foo.txt"/>
 <xi:include parse="text" href="cocoon://eg/foo.txt"/>

The first three fail as previously described.  The last succeeds.
foo.txt is actually located in
  src/documentation/content/xdocs/eg

I have not yet seen xi:include work for anything other than (a) a bare
file name preceded with the cocoon:// or (b) various types of indirect
reference like href="{.}"  I suspect that these indirect references are
logically equivalent to the cocoon:// prefix.  [But read on ...]

As regards

> It is not mandatory, you can use any protocol you like in the xinclude
> just as you can in any url anywhere in Forrest.

I experimented by adding
 <xi:include parse="text" href="http://localhost/foo.txt"/>
To my surprise, this worked, as does
  <xi:include parse="text" href="file:///var/www/docs/foo.txt"/>

This isn't exhaustive testing, but it appears that any protocol will do,
but just a bare file name won't.  [Fiddles some more ...]

No, that's not right.
  <xi:include parse="text" href="/var/www/docs/foo.txt"/>
works too.

So an absolute path will work.  But I could not find any relative path
that would.

--
Jim Dixon  jdd@dixons.org   tel +44 117 982 0786  mobile +44 797 373 7881


Mime
View raw message