# -*- ruby -*- # # Using a dummy node. # require 'xtemplate' data = { 'members' => [ {'name' => 'name1', '@uid' => 1}, # has no 'age' field. {'name' => 'name2', 'age' => 22, '@uid' => 2}, {'name' => 'name3', 'age' => 23, '@uid' => 3}, ], } text = <<EOF <?xml version="1.0" encoding="EUC-JP"?> <members> <!-- 'age' tag is eliminated, if data has no 'age' field. --> <member id="members"> <name id="name" /> <age id="age" /> </member> <!-- 'age' tag is not eliminated. --> <member id="members"> <name id="name" /> <age xmlns:xt="http://xtemplate.sourceforge.net/xtemplate"><xt:select id="age" /></age> </member> </members> EOF t = XTemplate::XMLTemplate.new(text) print(t.expand(data))