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