JavaScriptのquerySelector()でxml:idに特定の値を持つ要素を取得する方法

JavaScriptのquerySelector()でxml:idに特定の値を持つ要素を取得する方法についての備忘録です。

 

具体的には、例えばmyDocという変数に対して、以下の方法で取得できます。この例では、xml:id属性にabcという値を持つ要素を取得します。

 

myDoc.querySelector("[*|id='abc']")

 

*|(パイプ)idの形で指定する点がポイントです。

 

JavaScriptでTEI/XMLファイルを扱う場合、xml:id属性の値を使って要素を取得するケースがあります。このxml:id属性について、typeやcorrespといった他の属性と異なり、属性名にprefix「xml:」がついています。そのため、上記のような方法を使用する必要があります。

 

より良い方法や他の方法もあるかもしれませんが、参考になりましたら幸いです。