.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.if !\nF .nr F 0
.if \nF>0 \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
.\}
.\" ========================================================================
.\"
.IX Title "Template::Declare::TagSet::HTML 3pm"
.TH Template::Declare::TagSet::HTML 3pm "2017-11-21" "perl v5.26.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
Template::Declare::TagSet::HTML \- Template::Declare tag set for HTML
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 3
\& # normal use on the user side:
\& use base \*(AqTemplate::Declare\*(Aq;
\& use Template::Declare::Tags \*(AqHTML\*(Aq;
\&
\& template foo => sub {
\& html {
\& body {
\& }
\& }
\& };
\&
\& # in Template::Declare::Tags:
\&
\& use Template::Declare::TagSet::HTML;
\& my $tagset = Template::Declare::TagSet::HTML\->new({
\& package => \*(AqMyHTML\*(Aq,
\& namespace => \*(Aqhtml\*(Aq,
\& });
\& my $list = $tagset\->get_tag_list();
\& print $_, $/ for @{ $list };
\&
\& if ( $altern = $tagset\->get_alternate_spelling(\*(Aqtr\*(Aq) ) {
\& print $altern;
\& }
\&
\& if ( $tagset\->can_combine_empty_tags(\*(Aqimg\*(Aq) ) {
\& print q{};
\& }
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Template::Declare::TagSet::HTML defines a full set of \s-1HTML\s0 tags for use in
Template::Declare templates. All elements for \s-1HTML 2, HTML 3, HTML 4,\s0 and
\&\s-1XHTML 1\s0 are defined. You generally won't use this module directly, but will
load it via:
.PP
.Vb 1
\& use Template::Declare::Tags \*(AqHTML\*(Aq;
.Ve
.SH "METHODS"
.IX Header "METHODS"
.SS "new( \s-1PARAMS\s0 )"
.IX Subsection "new( PARAMS )"
.Vb 4
\& my $html_tag_set = Template::Declare::TagSet\->new({
\& package => \*(AqMyHTML\*(Aq,
\& namespace => \*(Aqhtml\*(Aq,
\& });
.Ve
.PP
Constructor inherited from Template::Declare::TagSet.
.SS "get_tag_list"
.IX Subsection "get_tag_list"
.Vb 1
\& my $list = $tag_set\->get_tag_list();
.Ve
.PP
Returns an array ref of all the \s-1HTML\s0 tags defined by
Template::Declare::TagSet::HTML. Here is the complete list:
.IP "\(bu" 4
\&\f(CW\*(C`h1\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`h2\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`h3\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`h4\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`h5\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`h6\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`p\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`br\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`hr\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`ol\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`ul\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`li\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`dl\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`dt\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`dd\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`menu\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`code\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`var\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`strong\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`em\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`tt\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`u\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`i\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`b\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`blockquote\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pre\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`img\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`a\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`address\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`cite\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`samp\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`dfn\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`html\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`head\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`base\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`body\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`link\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`nextid\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`title\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`meta\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`kbd\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`start_html\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`end_html\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`input\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`select\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`option\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`comment\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`charset\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`escapehtml\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`div\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`table\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`caption\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`th\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`td\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`tr\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`tr\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`sup\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`sub\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`strike\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`applet\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`param\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`nobr\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`embed\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`basefont\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`style\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`span\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`layer\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`ilayer\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`font\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`frameset\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`frame\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`script\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`small\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`big\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`area\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`map\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`abbr\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`acronym\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`bdo\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`col\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`colgroup\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`del\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`fieldset\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`iframe\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`ins\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`label\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`legend\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`noframes\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`noscript\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`object\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`optgroup\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`q\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`thead\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`tbody\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`tfoot\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`blink\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`fontsize\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`center\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`textfield\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`textarea\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`filefield\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`password_field\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`hidden\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`checkbox\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`checkbox_group\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`submit\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`reset\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`defaults\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`radio_group\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`popup_menu\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`button\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`autoescape\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`scrolling_list\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`image_button\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`start_form\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`end_form\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`startform\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`endform\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`start_multipart_form\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`end_multipart_form\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`isindex\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`tmpfilename\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`uploadinfo\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`url_encoded\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`multipart\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`form\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`canvas\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`section\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`article\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`aside\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`hgroup\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`header\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`footer\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`nav\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`figure\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`figcaption\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`video\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`audio\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`embed\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`mark\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`progress\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`meter\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`time\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`ruby\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`rt\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`rp\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`bdi\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`wbr\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`command\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`details\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`datalist\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`keygen\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`output\*(C'\fR
.SS "get_alternate_spelling( \s-1TAG\s0 )"
.IX Subsection "get_alternate_spelling( TAG )"
.Vb 1
\& $bool = $obj\->get_alternate_spelling($tag);
.Ve
.PP
Returns the alternative spelling for a given tag if any or undef otherwise.
Currently, \f(CW\*(C`tr\*(C'\fR is mapped to \f(CW\*(C`row\*(C'\fR, \f(CW\*(C`td\*(C'\fR is mapped to \f(CW\*(C`cell\*(C'\fR, \f(CW\*(C`q\*(C'\fR is
mapped to \f(CW\*(C`quote\*(C'\fR, \f(CW\*(C`base\*(C'\fR is mapped to \f(CW\*(C`html_base\*(C'\fR, and \f(CW\*(C`time\*(C'\fR is mapped
to \f(CW\*(C`datetime\*(C'\fR. These alternates are to avoid conflicts with the Perl \f(CW\*(C`tr\*(C'\fR
and \f(CW\*(C`q\*(C'\fR operators, the \f(CW\*(C`time\*(C'\fR function, and the base module, with
\&\f(CW\*(C`td\*(C'\fR changed so as to keep consistent with table rows.
.SS "can_combine_empty_tags( \s-1TAG\s0 )"
.IX Subsection "can_combine_empty_tags( TAG )"
.Vb 1
\& $bool = $obj\->can_combine_empty_tags($tag);
.Ve
.PP
Specifies whether \f(CW\*(C`\*(C'\fR can be combined into a single token,
\&\f(CW\*(C`\*(C'\fR. Currently, only a few \s-1HTML\s0 tags are allowed to be combined:
.IP "\(bu" 4
\&\f(CW\*(C`base\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`meta\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`link\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`hr\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`br\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`param\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`img\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`area\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`input\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`col\*(C'\fR
.SH "AUTHOR"
.IX Header "AUTHOR"
Agent Zhang
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Template::Declare::TagSet, Template::Declare::TagSet::XUL,
Template::Declare::TagSet::RDF, Template::Declare::Tags,
Template::Declare.