[
Lists Home |
Date Index |
Thread Index
]
On Monday 04 August 2003 11:54, Hunsberger, Peter wrote:
> One of my vague long term projects is to look at ways of building and
> utilizing a sort of PSVI database. (Binary XML that never leaves the
> building...) Essentially we have a large project that reuses (and
> reuses) various XML fragments from many different sources in many
> different combinations many times (controlled by some small number of
> parameters). Think of this as a cache of parsed XML that can
> subsequently be consumed by XSLT transforms. On occasion some portions
> of this cache will be invalidated and replaced.
>
> So the question becomes; do you think any of this work could form a
> basis for such a database? Would it be efficient to parse XML to this
> format, then feed (multiple chained) XSLT transforms from this format?
Yes, it could definitely form a basis for such a database. In
fact, the Waterken(TM) Server already does this, but for the
Waterken(TM) Doc model instead of the XML Infoset. If you visit
the www.waterken.com site, some of the pages are generated using
this technique.
In the Waterken(TM) Server,
http://www.waterken.com/javadoc/Doc/com/waterken/doc/code/Decoded.html
is used to push a SAX event stream directly into an XSLT
stylesheet via
http://www.waterken.com/javadoc/Doc/com/waterken/doc/sax/Encoder.html
You could port this design to the full XML Infoset by defining a
binary XML syntax similar to Waterken(TM) Doc code. I haven't done
this because I have other reasons for using the Waterken(TM) Doc
model. See the web-calculus:
http://www.waterken.com/dev/Web/Calculus/#Structure
> I'd spend some time examining the code, but we're in the middle of a
> release and more than swamped at the moment... (For the Cocoon-dev
> lurkers on this list, yes, this is related to the discussion on long
> term caching models.)
When you get the time, I've provided a lot of free code that you
should find useful.
Tyler
--
The union of REST and capability-based security:
http://www.waterken.com/dev/Web/
|