<?xml version="1.0" encoding="windows-1252"?>
<node id="832496" title="choroba's scratchpad" created="2010-04-02 11:13:36" updated="2010-04-02 11:13:36">
<type id="182711">
scratchpad</type>
<author id="832495">
choroba</author>
<data>
<field name="doctext">
&lt;h2&gt;For [Lady_Aleena]&lt;/h2&gt;&lt;c&gt;
my %string_eq = (
                 area   =&gt; ['nohref'],
                 form   =&gt; [qw[accept-charset action enctype method onreset onsubmit]],
                 frame  =&gt; ['noresize'],
                 head   =&gt; ['profile'],
                 input  =&gt; [qw[checked maxlength]],
                 label  =&gt; ['for'],
                 object =&gt; [qw[archive classid codebase codetype data declare standby]],
                 option =&gt; ['selected'],
                 param  =&gt; ['valuetype'],
                 select =&gt; ['multiple'],
                 script =&gt; ['defer'],
                 table  =&gt; [qw[border cellpadding cellspacing frame rules summary]],
                );

my %regex = (
             qr/^(?:a|button|form|frame|iframe|img|input|object|map
                |param|meta|select|textarea)$/x                     =&gt; ['name'],
             qr/(?:a|area|base|link)/                               =&gt; ['href'],
             qr/(?:a|area|base|link|form)/                          =&gt; ['target'],
             qr/(?:a|area|button|input|label|legend|textarea)/      =&gt; ['accesskey'],
             qr/(?:a|area|button|input|object|select|textarea)/     =&gt; ['tabindex'],
             qr/(?:a|link|button|input|object|param|script|style)/  =&gt; ['type'],
             qr/(?:a|link|script)/                                  =&gt; ['charset'],
             qr/(?:col|colgroup)/                                   =&gt; ['span'],
             qr/(?:meta)/                                           =&gt; [qw[content http-equiv scheme]],
             qr/^(?:a|area)$/                                       =&gt; [qw[coords shape]],
             qr/^(?:a|area|button|input|label|select|textarea)$/    =&gt; [qw[onblur onfocus]],
             qr/^(?:a|link)$/                                       =&gt; [qw[hreflang rel rev]],
             qr/^(?:body|frameset)$/                                =&gt; [qw[onload onunload]],
             qr/^(?:button|input|optgroup|option|select|textarea)$/ =&gt; ['disabled'],
             qr/^(?:col|colgroup|tbody|td|tfoot|th|thead|tr)$/      =&gt; [qw[align char charoff valign]],
             qr/^(?:del|ins)$/                                      =&gt; [qw[cite datetime]],
             qr/^(?:form|input)$/                                   =&gt; ['accept'],
             qr/^(?:frameset|textarea)$/                            =&gt; [qw[cols rows]],
             qr/^(?:frame|iframe)$/                                 =&gt; [qw[frameborder longdesc marginheight marginwidth scrolling]],
             qr/^(?:iframe|img|object)$/                            =&gt; ['height'],
             qr/^(?:iframe|img|object|table|col|colgroup)$/         =&gt; ['width'],
             qr/^(?:image|area|input)$/                             =&gt; ['alt'],
             qr/^(?:img|input)$/                                    =&gt; ['ismap'],
             qr/^(?:img|input|object)$/                             =&gt; ['usemap'],
             qr/^(?:input|frame|iframe|img|script)$/                =&gt; ['src'],
             qr/^(?:input|option|param|button|li)$/                 =&gt; ['value'],
             qr/^(?:input|select)$/                                 =&gt; ['size'],
             qr/^(?:input|select|textarea)$/                        =&gt; ['onchange'],
             qr/^(?:input|textarea)$/                               =&gt; [qw[onselect readonly]],
             qr/^(?:option|optgroup:)$/                             =&gt; ['label'],
             qr/^(?:style|link|form)$/                              =&gt; ['media'],
             qr/^(?:td|th)$/                                        =&gt; [qw[abbr axis colspan headers rowspan scope]],
            );

my %not_regex = (
                 qr/^(?:applet|base|basefont|bdo|br|font
                    |frame|frameset|head|html|iframe
                    |isindex|meta|param|script|style|title)$/x    =&gt; [qw[onclick ondblclick onkeydown
                                                                      onkeypress onkeyup onmousedown
                                                                      onmousemove onmouseout onmouseover
                                                                      onmouseup]],
                 qr/^(?:base|basefont|head|html|meta|param
                    |script|title|style)$/x                       =&gt; [qw[class style]],

                 qr/^(?:applet|base|basefont|bdo|br|frame|iframe
                    |frameset|param|script)$/x                    =&gt; ['dir'],
                 qr/^(?:base|head|html|meta|script|style|title)$/ =&gt; ['id'],
                 qr/^(?:applet|base|basefont|br|frame|frameset
                    |iframe|param|script)$/x                      =&gt; ['lang'],
                 qr/^(?:base|basefont|head|html|meta|param
                    |script|title)$/x                             =&gt; ['title'],
                );



push @attributes, @{ $string_eq{$element} } if exists $string_eq{$element};
for my $regex (keys %regex) {
    push @attributes, @{ $regex{$regex} } if $element =~ $regex;
}
for my $regex (keys %not_regex) {
    push @attributes, @{ $not_regex{$regex} } if $element !~ $regex;
}
&lt;/c&gt;</field>
</data>
</node>
