namespace-alias

namespace-alias

[1] xslt:namespace-alias 要素は、名前空間URI別名を宣言するのに使えます。 <http://www.w3.org/TR/xslt#element-namespace-alias>

[2] 属性:

stylesheet-prefix接頭辞等(必須)別名接頭辞
result-prefix接頭辞等(必須)結果接頭辞

この要素は最上位要素です。 強制空要素なので内容は空です。

[3] 接頭辞を使って宣言されますが、別名となるのは接頭辞ではなく名前空間 URI です。

接頭辞についての宣言がないときにどうするかは仕様書には書いてありません。 exclude-result-prefixes に倣うなら誤りですが。

[5] 名前空間 URI の置換対象となるのは表記名前空間URI です。その他の名前空間 URI には影響しません。

[4] ある名前空間 URI から複数の異なる名前空間 URI に置換しないといけないように重複した xslt:namespace-alias 要素がある時には、輸入優先度が高いものが採用されます。 輸入優先度同位のときは誤りです。 処理系は誤りを通知するか、又は最も最後の指定を採用しなければなりません。

[6] この名前空間別名付けは、結果木の一部に XSLT の要素や属性を使う必要があるときや、 結果木のものが汎用 XML 処理系に誤解されかねないものであるとき (電子署名のための名前空間が結果木用に用意されているとか。) に有用とされています。

[7] xsl:namespace-aliasで置換されるのは名前空間のみか、接頭辞も含むのか。 <http://ishikawa.arielworks.com/memo/2004/10/#d150604>

(名無しさん)