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

Subject: Re: [xsl] Design of inheritance in XML and resolving it with XSLT
From: Emmanouil Batsis <Emmanouil.Batsis@xxxxxxxxxxx>
Date: Wed, 02 Aug 2006 12:09:10 +0300
I did something like that in " implement attribute inheritance" thanks to David Carlisle's help on this list:

Personally i would probably go for something like

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

In other words:

* merge style and styleprops in a single element and
* use the document structure instead of the parent attribute.

This assumes you do not require multiple inheritance.



Svante Schubert wrote:


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 name="B" parent="A">
      <style-props prop-1="v" prop-22="yy" prop-33="zz"/>

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"/>

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)?


Current Thread