Robin,

> By the way, I've noticed that Sablotron allows you to use a result tree
> fragment exactly as if it were a node-set, i.e. you can write "$foo/*"
> where foo is bound to a result tree fragment. This appears to be in
> contravention of the spec, though it's incredibly useful. 

That's right, I've noticed this behaviour. The spec does forbid the use
of the three operators (/ // []) on RTF's. I must say I don't quite
understand why. 

> Is that a deliberate design decision, or a side-effect of the
> implementation? It would be lovely if there were a portable syntax
> for this powerful feature.

It's a side effect. Making it an extension function is certainly a good
idea. I wouldn't call such a feature portable though - the extensions
are still processor-dependent. BTW I thought about supporting the other
processors' syntax when adding an extension they implement - say for
Saxon and XT. I guess some of the existing processors do it this way.
This would increase the portability, but agreeing on a list of useful
extensions an putting them in a (new) common namespace would be even
better.

Tom


Reply via email to