Subject: Re: [xsl] alternative to repeatedly walking the ancestor axis in 1.0 From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Mon, 4 Aug 2008 11:00:07 +0100 |
2008/8/2 Michael Kay <mike@xxxxxxxxxxxx>: >> Out of interest, does xml:lang annotate the input tree, or does the >> lang() function walk the ancestor axis behind the scenes? Or >> is it all implementation dependent? > > It's implementation-dependent, of course. > > Saxon walks the ancestor axis when you use the lang() function. I think it's > used too rarely to be worth optimizing. So (for Saxon anyway) doing: test="lang('foo', .)" is pretty much the same as: test="ancestor-or-self::*/@xml:lang = 'foo'" except that the lang() function should return true if the lang tested is a subset of that declared in the attribute. So given an existing proprietary solution that walks the ancestor axis a lot, you're not going to gain anything by switching to xml:lang... > You also asked: > >>why does xml:lang exist > > And I think the answer is that the I18N lobby is sufficiently powerful in > W3C that they overrode the architectural arguments for putting this kind of > thing in a different layer; XML should be completely neutral as to the > meaning of element and attribute names, and such things should be defined > only in application-specific vocabularies. Sounds similar to xlink... I guess a good example to show what you're talking about is XHTML - where you always see: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> @lang is the application layer, @xml:lang is the XML layer. I think it's defined twice to cover both bases. Reading around a bit it seems @lang has been dropped completely from XHTML 1.1 Strict in favour of xml:lang... so somebody somewhere thinks it really should be defined in the XML layer... -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] alternative to repeatedly, Michael Kay | Thread | Re: [xsl] alternative to repeatedly, Wendell Piez |
Re: [xsl] multiple values for the k, Mukul Gandhi | Date | Re: [xsl] alternative to repeatedly, Vladimir Nesterovsky |
Month |