CSSセレクタでネームスペースを含むタグを選択する方法
以下のようなXMLがあるときにXPath
を使えば問題なく取得できるのですが、CSSセレクタでも同様の取得はできますか?
doc = Nokogiri::XML(<<-EOF
<xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance">
<xbrli:context id="AsOf2016-09-30">
<xbrli:entity>
<xbrli:identifier scheme="http://www.sec.gov/CIK">0001621697</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:instant>2016-09-30</xbrli:instant>
</xbrli:period>
</xbrli:context>
EOF
)
XPath
ならこの形で取れるので
> doc.at_xpath('//*[@id="AsOf2016-09-30"]/xbrli:period/xbrli:instant')
# => <xbrli:instant>2016-09-30</xbrli:instant>
CSSセレクタはこのようにすればいけるかと思ったのですが取得できませんでした。
> doc.at_css('#AsOf2016-09-30 > xbrli:period > xbrli:instant')
# => nil
CSSセレクタでは namespace の取扱はどうすればよいのでしょうか?