XSL を使用して XML ドキュメントを HTML に変換し、少しいじってからレンダリングしたいと考えています。これは本質的に私がやっていることです:
source = Nokogiri::XML(File.read 'source.xml')
xsl = Nokogiri::XSLT(File.read 'transform.xsl')
transformed = xsl.transform(source)
html = Nokogiri::HTML(transformed.to_html)
html.title = 'Something computed'
Stylesheet::transform
常に を返しますが、 のようなメソッドを使用するにはインスタンスXML::Document
が必要です。HTML::Document
title=
上記のコードは機能しますが、HTML としてのエクスポートと再解析はひどいものです。ターゲットはソースのサブクラスであるため、変換を実行するためのより効果的な方法が必要です。
どうすればこの混乱をきれいにできますか?
余談ですが、Nokogiri は一般的に、doctypes の処理、認識の欠如<meta charset=
などで私を圧倒してきました...似たような機能を備えた自動魔法の少ないライブラリを知っている人はいますか?
どうもありがとう ;)