XML OF DEATH
If you're designing an XML representation of some type of data, and you want a key-
<sometagorother foo=bar />
Now occasionally I can understand that you might want to layer your own key-
<set key="foo" value="bar" />
because this approach gives you the ability to add extra attributes alongside each key/value pair, which might be useful for all sorts of vaguely sensible reasons: expiry dates, permissions, conditionalisation, you name it. Also it doesn't require you to specify the full set of possible keys in the DTD, which is obviously useful.
However, when I see a third layer of key-
<method name="SetVariable">
<arg key="name" value="foo" />
<arg key="value" value="bar" />
</method>
… I really do start to wonder whether someone's brain has been EATEN BY PARASITIC XML MEMES OF DEATH.
no subject
no subject
However, if it starts looking like your problem will be tricky (or hideously long-winded) to solve in XSLT, it's probably best to cut your losses and just code something yourself with a DOM or a SAX parser.