[xsl] Object Graph as Input to Processor

Subject: [xsl] Object Graph as Input to Processor
From: "Kirkham, Pete (UK)" <pete.kirkham@xxxxxxxxxxxxxx>
Date: Mon, 07 Feb 2005 17:48:22 +0000
I'm working on a model driven architecture project, and thinking about using
XSLT as part of a code-generation pipeline. I've been doing this for simple
cases for a few years, using a non-standard simple XML meta-model rather than
XMI.

I'm aware of tools that convert XMI to something more manageable as an input
to XSLT, but I am doing a pilot that involves large model bases. This means
the source of the transform may need to be lazy loaded, and the union
properties exposed.

So you'l have a 'document' that would look like

  <package name="bar">
   <class name="Foo" isAbstract="true">
    <attribute name="sibling" >
      <type>
        <class name="Foo">
           ... recurses

The goal is to be able to write the stylesheet without following reference
IDs, but given transitive and union properties in UML you can't create an
intermediate document that lets you do that. It's assumed that it's up to the
stylesheet author not to write anything that won't terminate given a
potentially infinite input.

Is it possible to expose a lazy object graph as the source for an XSLT? Are
there transform tools that allow this and existing lazy DOM wrappers that can
be leveraged (like Apache's JXPath does for XPath access of object graphs, but
a lazy node as argument to construct a DOMSource)?

I don't mind getting told try creating a load of lazy wrappers for the UML MOF
and seeing if it works, but if someone else has already done it then I'd be
glad for pointers.


Pete

********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************

Current Thread