XPath test #4

やっぱ
substring-after((id("n12")//*)[1]/@id,"n")
こういうのは

Can't locate object method "getElementById" via package "XML::XPathEngine::NodeSet" at lib/XML/XPathEngine/Function.pm line 121.

でコケる。

        foreach my $id (@ids) {
            if (my $found = $node->getElementById($id)) {
                $results->push($found);
            }
        }

中身みたらなんでかしらないけど$nodeがHTML::TreeBuilder::XPath::Attributeのインスタンスになってた。getElementByIdだから常にドキュメントルートのメソッド呼べたらそれ呼べばいいけどできるかな。
そうじゃなくてたぶん$nodeがattributeになってるのがおかしい。