XSLTファイルを書き直そうとしているが、一致パターンが何を対象としているのかわからない。
/ *がXMLドキュメントの最上位要素をターゲットにしていることは知っていますが、このパターンが何をするのかわかりません。これがラインです。
<xsl:key name="ids" match="//*" use="@xml:id"/>
XSLTファイルを書き直そうとしているが、一致パターンが何を対象としているのかわからない。
/ *がXMLドキュメントの最上位要素をターゲットにしていることは知っていますが、このパターンが何をするのかわかりません。これがラインです。
<xsl:key name="ids" match="//*" use="@xml:id"/>
式で使用//*すると、selectドキュメント全体のすべての要素ノードが選択されます。
match式(テンプレートまたはキーの場合)では、先頭を使用しても意味がありません。どちら//もまったく同じノード、つまりドキュメント内の任意の要素に一致するためです。match="//*"match="*"
///descendant-or-self::node()/は、のテキストの省略形にすぎません。//*つまり/descendant-or-self::node()/*、、またはドキュメントノードまたはその子孫の子である要素を意味します。