# -*- ruby -*-
#
# Replacing a sub-template with another sub-template.
#

require 'xtemplate'

data ={
  'names' => ["name1", "name2", "name3"]
}

text1 = <<EOF
<?xml version="1.0"?>
<html xmlns:xt="#{XTemplate::BIND_URI}">
<body>
  <xt:template name="ul">
  <ul>
    <li xt:id="names" />
  </ul>
  </xt:template>
</body>
</html>
EOF

text2 = <<EOF
<?xml version="1.0"?>
<html xmlns:xt="#{XTemplate::BIND_URI}">
<body>
  <xt:template name="ol">
  <ol>
    <li xt:id="names" />
  </ol>
  </xt:template>
</body>
</html>
EOF

t1 = XTemplate::XMLTemplate.new(text1)
t2 = XTemplate::XMLTemplate.new(text2)
print(t1.expand(data, :keep_data => true),"\n")
t1['ul'] = t2['ol']
print(t1.expand(data),"\n")