OMG, здесь так много неудач, что я нарушаю неофициальную политику Команды Nokogiri и даю правильный, здравый ответ на этот вопрос:
require "nokogiri"
doc = Nokogiri::XML "<root>foo</root>"
doc.root.add_previous_sibling Nokogiri::XML::ProcessingInstruction.new(doc, "xml-stylesheet", 'type="text/xsl" href="foo.xsl"')
puts doc.to_xml
# => <?xml version="1.0"?>
# <?xml-stylesheet type="text/xsl" href="foo.xsl"?>
# <root>foo</root>
В будущем, пожалуйста, задавайте вопросы оNokogiri в списке рассылки nokogiri-talk (http://groups.google.com/group/nokogiri-talk), получите правильный ответ своевременно и сэкономите всем немного усилий.