[#46878] ML への投稿が blade.nagaokaut.ac.jp 以外にも — "ISHIKAWA Takayuki" <rechka_osaka@...>

石川と申します。この ML へ投稿した e-mail が

10 messages 2010/03/03

[#46909] gemを実行すると大量のワーニングメッセージ — garyo hosu <garyohosu@...>

こんにちはgaryoといいます。

16 messages 2010/03/16
[#46910] Re: [ruby-list:46909] gemを実行すると大量のワーニングメッセージ — Moru <lateau@...> 2010/03/16

44Oi44Or44Go55Sz44GX44G+44GZ44CCCuOBvuOBmmdlbeOBruODkOODvOOCuOODp+ODs+OCkuei

[#46911] Re: gemを実行すると大量のワーニングメッセージ — garyo hosu <garyohosu@...> 2010/03/16

モルさん。さっそくありがとうございます。

[#46983] Ruby Summer of Codeのアイデアとかメンターについて — Shintaro KAKUTANI <shintaro@...>

Asakusa.rbのかくたにです。

12 messages 2010/03/31

[ruby-list:46892] Re: Nokogiriのescapeをとめたい

From: Kazuhiro NISHIYAMA <zn@...>
Date: 2010-03-04 13:54:34 UTC
List: ruby-list #46892
西山和広です。

At Thu, 4 Mar 2010 16:17:30 +0900,
Takayuki Suzuki wrote:
> 
> 既に作成済みのHTMLドキュメントを erb に食わせるため
> のテンプレートに変換したくて Nokogiri をつかってみた
> のですが、思うようにいきません。
> 
> <input type=text name=namae size=20>
> 
> を
> 
> <%= textField('namae', {:size=>20}) %>
> 
> に置き換えて出力したいのですが < > をエスケープせずに
> 出力する方法はないでしょうか?
> 
> test.rb

test.rb を元に試してみたところ、HTML なら CDATA で
そのまま出力できるようです。

こういう使い方をして良いものなのかどうかはわからないので、
将来使えなくなる可能性があるかもしれませんが。
Text と CDATA で new の引数の順番が違うのでそこも注意が
必要そうです。

% cat ruby-list-46890.rb
require 'rubygems'
require 'nokogiri'

doc = Nokogiri::HTML(<<EOM)
<form>
Name : <input type=text name=namae size=20>
</form>
EOM

node = doc.xpath('/html/body/form/input')[0]
str = "<%= textField('namae', {:size=>20}) %>"
new = Nokogiri::XML::CDATA::new(doc, str)
node.replace(new)
puts doc.xpath('/html/body/form')[0].to_html
puts doc.xpath('/html/body/form')[0].to_xml
% ruby ruby-list-46890.rb
<form>
Name : <%= textField('namae', {:size=>20}) %>
</form>
<form>
Name : <![CDATA[<%= textField('namae', {:size=>20}) %>]]></form>
% gem list nokogiri

*** LOCAL GEMS ***

nokogiri (1.4.1)
%

-- 
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)

In This Thread