112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# File 'lib/esi_for_rack/node.rb', line 112
def parse(document)
document.gsub!('esi:', 'esi_')
document.gsub!(/(<\/?esi_[^>]*>)/, ']]>\1<![CDATA[')
document[0,0] = %|<?xml version="1.0"?>\n<esi_root><![CDATA[|
document << ']]></esi_root>'
@doc = Nokogiri::XML(document)
@doc.css('esi_comment').each do ||
.replace(Nokogiri::XML::CDATA.new(doc, ''))
end
process(@doc.css('esi_root')[0])
result = ''
@doc.css('esi_root')[0].children.each do |n|
result << n.to_str
end
result
end
|