That&#39;s cool. I&#39;m not sure why I hadn&#39;t thought to try that, even though I finished reading Template::Declare::Tags and knew what that did.<br><br>On the other hand, for this to be a robust solution, this will need to be enhanced still. Even the comments in the code admit that some of the decisions being made are somewhat arbitrary and would be better made with the help of HTML::TagSet. 
<br><br><div><span class="gmail_quote">On 7/19/07, <b class="gmail_sendername">Agent Zhang</b> &lt;<a href="mailto:agentzh@gmail.com">agentzh@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi, I&#39;ve coded up a small script to use Template::Declare to generate some XML code (it&#39;s actually XUL, to be more specific):<br><br>&nbsp;&nbsp;&nbsp; <a href="http://perlcabal.org/agent/xul/buttons.pl.txt" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://perlcabal.org/agent/xul/buttons.pl.txt
</a><br><br>The output file is<br><br>&nbsp;&nbsp;&nbsp; <a href="http://perlcabal.org/agent/xul/buttons.xul" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://perlcabal.org/agent/xul/buttons.xul</a><br><br>
The script used to run buttons.pl.txt is<br><br>&nbsp;&nbsp;&nbsp; <a href="http://perlcabal.org/agent/xul/xulgen.pl.txt" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://perlcabal.org/agent/xul/xulgen.pl.txt</a><br><br>It&#39;s a lot of fun. Essentially, I extended the tag set in Template::Declare::Tag by the following lines of code:<br><br><span style="font-family: courier new,monospace;">

&nbsp;&nbsp;&nbsp; Template::Declare::Tags::</span><span style="font-family: courier new,monospace;">install_tag($_) for qw(</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window textbox hbox vbox radio radiogroup
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; groupbox spacer</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">

&nbsp;&nbsp;&nbsp; );</span><br><br>The tag list given above is by no means exhaustive. It&#39;s just an experiment. :)<br><br>Here&#39;s another trivial example:<br><br>&nbsp;&nbsp;&nbsp; <a href="http://perlcabal.org/agent/xul/findfile.xul" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://perlcabal.org/agent/xul/findfile.xul
</a><br>&nbsp;&nbsp;&nbsp; &lt;=<br>&nbsp;&nbsp;&nbsp; <a href="http://perlcabal.org/agent/xul/findfile.pl.txt" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://perlcabal.org/agent/xul/findfile.pl.txt</a><br><br>Enjoy!<br>
agentz
<br>_______________________________________________<br>jifty-devel mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:jifty-devel@lists.jifty.org">jifty-devel@lists.jifty.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.jifty.org/cgi-bin/mailman/listinfo/jifty-devel" target="_blank">
http://lists.jifty.org/cgi-bin/mailman/listinfo/jifty-devel</a><br><br></blockquote></div><br>