HTML-Stream

 view release on metacpan or  search on metacpan

lib/HTML/Stream.pm  view on Meta::CPAN

=cut

#------------------------------

#------------------------------
# %Tags
#------------------------------
# The default known HTML tags.  The value if each is CURRENTLY a set of flags:
#
#     0x01    newline before <TAG>
#     0x02    newline after <TAG>
#     0x04    newline before </TAG>
#     0x08    newline after </TAG>
#
# This can be summarized as:

my $TP     = 1 | 0 | 0 | 0;
my $TBR    = 0 | 2 | 0 | 0;
my $TFONT  = 0 | 0 | 0 | 0;  # fontlike
my $TOUTER = 1 | 0 | 0 | 8;
my $TBOTH  = 0 | 2 | 0 | 8;
my $TLIST  = 0 | 2 | 0 | 8;
my $TELEM  = 0 | 0 | 0 | 8; 
my $TTITLE = 0 | 0 | 0 | 8;
my $TSOLO  = 0 | 2 | 0 | 0;

%Tags = 
    (
     A       => 0,
     ABBR    => 0,
     ACRONYM => 0,
     ADDRESS => $TBOTH,
     APPLET  => $TBOTH,
     AREA    => $TELEM,
     B       => 0,
     BASE    => 0,
    BASEFONT => $TBOTH,
     BDO     => $TBOTH,
     BIG     => 0,
     BGSOUND => $TELEM,
     BLINK   => 0,
  BLOCKQUOTE => $TBOTH,
     BODY    => $TBOTH,
     BUTTON  => $TP,
     BR      => $TBR,
     CAPTION => $TTITLE,
     CENTER  => $TBOTH,
     CITE    => 0,
     CODE    => 0,
     COMMENT => $TBOTH,
    COLGROUP => $TP,
     COL     => $TP,
     DEL     => 0,
     DFN     => 0,
     DD      => $TLIST,
     DIR     => $TLIST,
     DIV     => $TP,
     DL      => $TELEM,
     DT      => $TELEM,
     EM      => 0,
     EMBED   => $TBOTH,
     FONT    => 0,
     FORM    => $TBOTH,
    FIELDSET => $TBOTH,
     FRAME   => $TBOTH,
    FRAMESET => $TBOTH,
     H1      => $TTITLE,
     H2      => $TTITLE,
     H3      => $TTITLE,
     H4      => $TTITLE,
     H5      => $TTITLE,
     H6      => $TTITLE,
     HEAD    => $TBOTH,
     HR      => $TBOTH,
     HTML    => $TBOTH,
     I       => 0,
     IFRAME  => $TBOTH,
     IMG     => 0,
     INPUT   => 0,
     INS     => 0,
     ISINDEX => 0,
     KEYGEN  => $TBOTH,
     KBD     => 0,
     LABEL   => $TP,
     LEGEND  => $TP,
     LI      => $TELEM,
     LINK    => 0,
     LISTING => $TBOTH,
     MAP     => $TBOTH,
     MARQUEE => $TTITLE,
     MENU    => $TLIST,
     META    => $TSOLO,
     NEXTID  => $TBOTH,
     NOBR    => $TFONT,
     NOEMBED => $TBOTH,
     NOFRAME => $TBOTH,
    NOFRAMES => $TBOTH,
    NOSCRIPT => $TBOTH,
     OBJECT  => 0,
     OL      => $TLIST, 
     OPTION  => $TELEM,
    OPTGROUP => $TELEM,
     P       => $TP,
     PARAM   => $TP,
   PLAINTEXT => $TBOTH,
     PRE     => $TOUTER,
     Q       => 0,
     SAMP    => 0,
     SCRIPT  => $TBOTH,
     SELECT  => $TBOTH,
     SERVER  => $TBOTH,
     SMALL   => 0,
     SPAN    => 0,
     STRONG  => 0,
     STRIKE  => 0,
     STYLE   => 0,
     SUB     => 0,
     SUP     => 0,
     TABLE   => $TBOTH,
     TBODY   => $TP,
     TD      => 0,
    TEXTAREA => 0,
     TFOOT   => $TP,
     TH      => 0,
     THEAD   => $TP,
     TITLE   => $TTITLE,
     TR      => $TOUTER,
     TT      => 0,
     U       => 0,
     UL      => $TLIST, 
     VAR     => 0,
     WBR     => 0,
     XMP     => 0,
     );


#------------------------------

=item accept_tag TAG

I<Class method.>
Declares that the tag is to be accepted as valid HTML (if it isn't already).
For example, this...

     # Make sure methods MARQUEE and _MARQUEE are compiled on demand:
     HTML::Stream->accept_tag('MARQUEE'); 

...gives the Chocolate Interface permission to create (via AUTOLOAD)
definitions for the MARQUEE and _MARQUEE methods, so you can then say:

     $HTML -> MARQUEE -> t("Hi!") -> _MARQUEE;

If you want to set the default attribute of the tag as well, you can
do so via the set_tag() method instead; it will effectively do an
accept_tag() as well.



( run in 1.972 second using v1.01-cache-2.11-cpan-8dfa8b56332 )