# -*- ruby -*-
#
# Using an internal stack.
#

require 'xtemplate'
require 'xtemplate/xml'

doc = XTemplate::XMLDocument.new(<<EOF)
<?xml version="1.0"?>
<document>
<items>
  <item link="link1">item1</item>
  <item link="link2">item2</item>
  <item link="link3">item3</item>
</items>
<note>
This is a <b>comment</b>.
</note>
</document>
EOF

text = <<EOF
<?xml version="1.0" encoding="EUC-JP"?>
<html>
<body id="document">
  <ul>
    <li id="items"><a id="item{rename(@link,@href)}" /></li>
  </ul>
  <blockquote><xt:copy-of id="note" xmlns:xt="#{XTemplate::BIND_URI}"/></blockquote>
</body>
</html>
EOF

t = XTemplate::XMLTemplate.new(text)
print(t.expand(doc))