xsl-list
[Top] [All Lists]

implement attribute inheritance

2004-07-13 08:01:07
Dear gurus,

I'm trying to write a preprocessor script to transform implicit inheritance semantics to actual nodes. The target effect is something like namespace scopes but I want to inherit attribute-value pairs instead of namespace URIs. Then, I'll be able and edit files and assume scope based inheritance of attributes for readability and other reasons.

For example the following:

<root attr1="attr1">
  <grantparent attr2="attr2">
    <parent attr1="changed-by-parent">
      <child>
        <grandchild attr1="changed-by-grandchild"/>
      </child>
    </parent>
  </grantparent>
</root>

should become

<root attr1="attr1">
  <grantparent attr1="attr1" attr2="attr2">
    <parent attr1="changed-by-parent" attr2="attr2">
      <child attr1="changed-by-parent" attr2="attr2">
        <grandchild attr1="changed-by-grandchild" attr2="attr2"/>
      </child>
    </parent>
  </grantparent>
</root>

This of course is easy to implement for a finite number of attributes using parameters and call-template, but how can I do this when attributes are not known?

Any XSLT 1.0 pointers welcome. XSLT 2.0 pointers would be interesting, but I wont be able to use them.

Thanks,

Manos


<Prev in Thread] Current Thread [Next in Thread>