[
Lists Home |
Date Index |
Thread Index
]
I have been trying for some time now to rewrite the bulk of a web
application framework using XML and XSLT. Essentially, the framework
outputs an XHTML document by recursively parsing Java objects that can
render themselves via a method call. Each web application that uses the
framework has a Site object that generates something like (excluding
doctype and attributes):
<html>
<head>
{ SITE CSS FILE}
{ MODULE CSS FILE}
{ VIEW CSS FILE}
<head>
<body>
{ MODULE XHTML }
</body>
</html>
When the Site object renders itself, it replaces the { SITE CSS FILE }
template with a link to its CSS file, and then calls the render() method
on a Module object that does the same and fills in the {MODULE XHTML }
template. The Module object in turn calls render() on a View object
which follows the same process. In reality it is a little more
complicated than this, since each of these objects can include
self-rendering components, but that gives the general idea.
What I am trying to do is replace this templating nonsense with XML
documents that represent a Site, Module, and View object respectively.
I have been using the XSL document() function from XPath to pull in the
Module.xml document, which does the same to pull in the View.xml
document. This is fine, and it builds the result tree into an XHTML
document as expected, but using this method I have to put the XSL
parsing instructions for every one of my parsable XML files into one
huge XSL document. What I would much prefer to do is specify a separate
XSL document for each XML document, and use the matched XSL to parse the
XML and pull the resulting parsed document into the original source
document. Is there any way to do this? I have been up to my eyeballs
in standards documents for the past few weeks and have not been able to
find an answer. Any help would be greatly appreciated.
--James Adams
|