11: def extract_attribute_from element, item, binding=nil
12: if plugin_config['extract_xpath']
13: plugin_config['extract_xpath'].each do |k, v|
14: value = nil
15: case v.class.to_s
16: when 'String'
17: value = element.search(v).to_html.toutf8
18: when 'Hash'
19: ele = element.at( v['first_node'] )
20: value = ( ele.nil? ) ? nil : ele.get_attribute( v['attr'] )
21: end
22: set_attribute_to item, k, value
23: end
24: end
25:
26: if plugin_config['apply_template_after_extracted']
27: plugin_config['apply_template_after_extracted'].each do |k, template|
28: value = apply_template template, binding
29: set_attribute_to item, k, value
30: end
31: end
32: end