次のコードを検討してください。
require 'nokogiri' # v1.5.2
doc = Nokogiri.XML('<body><a name="foo">ick</a></body>')
puts doc.to_html
#=> <body><a name="foo">ick</a></body>
puts doc.to_xml
#=> <?xml version="1.0"?>
#=> <body>
#=> <a name="foo">ick</a>
#=> </body>
puts doc.to_xhtml
#=> <body>
#=> <a name="foo" id="foo">ick</a>
#=> </body>
作成された新しいid
属性に注意してください。
- これはノコギリとlibxml2のどちらが責任を負っていますか?
- なぜこれが起こるのですか?(これは標準を強制していますか?)
私が見つけることができる最も近いものは、同じ値を持つand属性の両方を配置する方法を説明するこの仕様です。id
name
to_xhtml
可能性のある入力でメソッドを使用したい場合、これを回避する方法はあります<a name="foo">
か?
この問題は、ある要素の属性と競合id
する属性を持つ別の要素で解析している入力があるために発生します。name