Template::Declare::TagSet::XUL(3) Template::Declare tag set for XUL


# normal use on the user side:
use base 'Template::Declare';
use Template::Declare::Tags 'XUL';
template main => sub {
xml_decl { 'xml', version => '1.0' };
groupbox {
caption { attr { label => 'Colors' } }
# in Template::Declare::Tags:
use Template::Declare::TagSet::XUL;
my $tagset = Template::Declare::TagSet::XUL->new({
package => 'MyXUL',
namespace => 'xul',
my $list = $tagset->get_tag_list();
print $_, $/ for @{ $list };
if ( $altern = $tagset->get_alternate_spelling('template') ) {
print $altern;
if ( $tagset->can_combine_empty_tags('button') ) {
print q{<button label="OK" />};


Template::Declare::TagSet::XUL defines a full set of XUL tags for use in Template::Declare templates. You generally won't use this module directly, but will load it via:

    use Template::Declare::Tags 'XUL';


new( PARAMS )

    my $html_tag_set = Template::Declare::TagSet->new({
        package   => 'MyXUL',
        namespace => 'xul',

Constructor inherited from Template::Declare::TagSet.


    my $list = $tag_set->get_tag_list();

Returns an array ref of all the RDF tags defined by Template::Declare::TagSet::RDF. Here is the complete list, extracted from <http://www.xulplanet.com/references/elemref/refall_elemref.xml> (only "<element name='...'>" were recognized):


get_alternate_spelling( TAG )

    $bool = $obj->get_alternate_spelling($tag);

Returns the alternative spelling for a given tag if any or undef otherwise. Currently, "template" is mapped to "xul_template" to avoid conflict with the "template" function exported by Template::Declare::Tags.


Agent Zhang <[email protected]>