adminPHPでSVGを処理するときに、DOMDocumentオブジェクトのgetElementById()で目的の要素を取得しようとしたけど、nullになってしまってかなりはまりました。結局のところ、SVGの仕様(DTD)としてid属性は宣言されていないので、idと書いてもID(識別子)として機能してくれません。getElementByIdでは取得できない。いうことのようでした。なんだけど、PHPのDOMDocumentにはsetIdAttributeという関数があって、これがDOMにこの属性はIDだよ!って教えてくれて、getElementByIdで取得できるようになります。PHPマニュアルにサンプルがありました。全ての要素に定義されたidをIDとして登録するコードで、自分自身を再帰的に呼び出すことでツリー構造に対応しています。