[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] XSL(2.0?) Transformer and RelaxNG


Subject: Re: [xsl] XSL(2.0?) Transformer and RelaxNG
From: Georges Schmitz <georges.schmitz@xxxxxxxxx>
Date: Thu, 26 Apr 2007 00:29:06 +0200

Thanks for your advice. So I should move smoothly away from usage of id() and idref()? I always thought (in fact I hoped it would be that way) that elements with ID-attributes are treated in a special way while they are parsed (some sort of indexing done automatically), which would enhance processing performance... But Saxon seems to do a lot in background.

Michael Kay wrote:
I'm thinking of moving away from DTD towards RelaxNG, but what will happen to my tool chain? Especially loosing the possibility of fetching elements via id() and idref() would hurt me most.

Anything you can do with id() in XSLT can be done just as well with key() -
and arguably better, since you're less dependent on external factors to
ensure that the IDs are identified as such.
yes, and I often construct a "more qualified" key access on the fly like

<xsl:key name="column-by-fullname" match="column" use="concat(parent::table/@name,'.',@name)"/>

(And in Saxon-SA these days you don't really need to bother with key()
either, you can just write //x[p='q'] and let the system take care of it).

Michael Kay
http://www.saxonica.com/


Current Thread
Keywords