xml:lang

XMLにおいて属性「xml:lang」は「下位のエレメントに継承される特別な属性」(というか、厳密には属性なのかね、これは?)なのだが、XPathの関数には「今のxml:langの値」を知る方法が定義されていない。


lang(引数)という関数が定義されていて、「lang("en")」と書くと「今の言語がenならtrue」が返ってくるというのはあるのだが。


まぁ、「多国籍化された文書から特定言語の文書を作る」だけならそれで事足りるのだろうが…


規格文書を見るとlang関数の周辺に

(ancestor-or-self::*/@xml:lang)[last()]

http://www.w3.org/TR/2007/REC-xpath-functions-20070123/

という表現が出てくる。これを実行すると現在のlangが分かるといいたいらしい…なんか迂遠だな