---
name: "Template::Declare::TagSet::XUL"
section: "3pm"
platform: "linux"
package: "libtemplate-declare-perl"
version: "0.47-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Template::Declare::TagSet::XUL"
---

# Template::Declare::TagSet::XUL(3pm)

Template::Declare tag set for XUL

## NAME

Template::Declare::TagSet::XUL - Template::Declare tag set for XUL

## SYNOPSIS

```
    # 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" />};
    }
```

## DESCRIPTION

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';
```

## METHODS

### new( PARAMS )

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

Constructor inherited from Template::Declare::TagSet.

### get\_tag\_list

```
    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):

- "action"

  - "arrowscrollbox"

  - "bbox"

  - "binding"

  - "bindings"

  - "body"

  - "box"

  - "broadcaster"

  - "broadcasterset"

  - "browser"

  - "button"

  - "caption"

  - "checkbox"

  - "children"

  - "colorpicker"

  - "column"

  - "columns"

  - "command"

  - "commandset"

  - "conditions"

  - "constructor"

  - "content"

  - "deck"

  - "description"

  - "destructor"

  - "dialog"

  - "dialogheader"

  - "editor"

  - "field"

  - "getter"

  - "grid"

  - "grippy"

  - "groupbox"

  - "handler"

  - "handlers"

  - "hbox"

  - "iframe"

  - "image"

  - "implementation"

  - "key"

  - "keyset"

  - "label"

  - "listbox"

  - "listcell"

  - "listcol"

  - "listcols"

  - "listhead"

  - "listheader"

  - "listitem"

  - "member"

  - "menu"

  - "menubar"

  - "menuitem"

  - "menulist"

  - "menupopup"

  - "menuseparator"

  - "method"

  - "observes"

  - "overlay"

  - "page"

  - "parameter"

  - "popup"

  - "popupset"

  - "progressmeter"

  - "property"

  - "radio"

  - "radiogroup"

  - "rdf"

  - "resizer"

  - "resources"

  - "richlistbox"

  - "row"

  - "rows"

  - "rule"

  - "script"

  - "scrollbar"

  - "scrollbox"

  - "separator"

  - "setter"

  - "spacer"

  - "splitter"

  - "stack"

  - "statusbar"

  - "statusbarpanel"

  - "stringbundle"

  - "stringbundleset"

  - "stylesheet"

  - "tab"

  - "tabbox"

  - "tabbrowser"

  - "tabpanel"

  - "tabpanels"

  - "tabs"

  - "template"

  - "textbox"

  - "textnode"

  - "titlebar"

  - "toolbar"

  - "toolbarbutton"

  - "toolbargrippy"

  - "toolbaritem"

  - "toolbarpalette"

  - "toolbarseparator"

  - "toolbarset"

  - "toolbarspacer"

  - "toolbarspring"

  - "toolbox"

  - "tooltip"

  - "tree"

  - "treecell"

  - "treechildren"

  - "treecol"

  - "treecols"

  - "treeitem"

  - "treerow"

  - "treeseparator"

  - "triple"

  - "vbox"

  - "window"

  - "wizard"

  - "wizardpage"

  ### 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.

## AUTHOR

Agent Zhang \<agentzh@yahoo.cn\>

## SEE ALSO

Template::Declare::TagSet, Template::Declare::TagSet::HTML, Template::Declare::Tags, Template::Declare.
