Using the file system to organize xml snippets has been tricky in the portal project on which I've been working. The solution I came up with was to write a transformation on the xml output of the DirectoryGenerator that grabs metadata from each file. This is done at design time and thus can be cached at run time. Furthermore, when transforming individual documents, I aggregate the table of contents doc with the requested doc. Thus, I can take advantage of caching by not having to reference the toc document using XSLT's document() function. It also allows me to use XSLT keys to efficiently dereference cross-references.
- Justin Makeig -- Center for Document Engineering University of California, Berkeley On 7/21/03 2:27 AM, "Upayavira" <[EMAIL PROTECTED]> wrote: > On Mon, 21 Jul 2003 11:16:40 +0200, "Mathias Wiegard" > <[EMAIL PROTECTED]> said: >> Hi, >> I want to make something like the users' manual of cocoon. If You know >> its >> sitemap then you will also know the system with book.xml. >> Instead of using such a file I want to generate my menu items dynamically >> by >> the articles (xml files) in the accordant folder, e.g. by getting a >> "title"-XML-Element of each file in the folder. >> Have someone done something like that or an idea how this could be done >> in >> an easy and effective way? > > That was the way I started building sites in Cocoon. You can use the > XPathDirectoryGenerator to extract specific nodes from files in a > specific directory. > > However, I found that approach to be far too complicated to manage, and > in the end opted for a separate 'linkmap', or book.xml file, which has > allowed my sites to grow more significantly than the previous approach > would have allowed (e.g. dynamically building links to hierarchically > organised pages across different levels of the hierarchy, and in > different file folders). > > Hope that helps. > > Upayavira > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]