[xsl] Design of inheritance in XML and resolving it with XSLT

Subject: [xsl] Design of inheritance in XML and resolving it with XSLT
From: "Svante Schubert" <svante.schubert@xxxxxxxxx>
Date: Wed, 2 Aug 2006 10:42:32 +0200
Hello,

Imagine you have to express an inheritance of values in XML, for
instance the overriding of style properties.

Two designs come into mind:

Design I:
  <style name="A">
      <style-props prop-1="x" prop-2="y" prop-3="z"/>
  </style>
  <style name="B" parent="A">
      <style-props prop-1="v" prop-22="yy" prop-33="zz"/>
  </style>

Design II:
  <style name="A">
      <style-props prop-1="x" prop-2="y" prop-3="z"/>
      <style name="B">
          <style-props prop-1="v" prop-22="yy" prop-33="zz"/>
      </style>
  </style>


In both design the style properties should be interpreted as: style 'A': prop-1=x, prop-2=y, prop-3=z style 'B': prop-1=v, prop-2=y, prop-3=z, prop-22=yy, prop-33=zz

What do you imagine is a better design?
Especially in concern of XSLT, when mapping these inherited styles to a
different style paradigm, which uses only absolute styles.

As the first labeled design is used in the implementations I work
with, let us focus on this.

How can I map it most efficiently to absolute styles?
Creating a large variable for all mapped styles right at the beginning
or map them just-in-time when found accepting redundancy in multiple
mapping of the same style?

In case the only way is the empiric approach to implement both ways and
test which is faster in an XSLT engine, any links to such performance
harness to reuse (preferable Java)?

Regards,
Svante

Current Thread