@EXPORT_OK
@physical @content @core @i18n @events @std
%isRequired %isNonrepeatable %isObsolete
%isKnownAttribute
)
;
@EXPORT_OK
=
qw( %isKnownAttribute %isRequired %isNonrepeatable %isObsolete )
;
sub
_hash(@) {
my
%hash
;
$hash
{
$_
} = 1
for
@_
;
return
\
%hash
; }
@physical
=
qw( b big code i kbd s small strike sub sup tt u xmp )
;
@content
=
qw( abbr acronym cite code dfn em kbd samp strong var )
;
@core
=
qw( class id style title )
;
@i18n
=
qw( dir lang )
;
@events
=
qw( onclick ondblclick onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup )
;
@std
= (
@core
,
@i18n
,
@events
);
%isRequired
= %{_hash(
qw( html body head title )
)};
%isNonrepeatable
= %{_hash(
qw( html head base title body isindex )
)};
%isObsolete
= %{_hash(
qw( listing plaintext xmp )
)};
sub
_ie_only {
return
@_
};
sub
_ns_only {
return
@_
};
%isKnownAttribute
= (
(
map
{
$_
=>_hash(
@std
) } (
@physical
,
@content
) ),
a
=> _hash(
@std
,
qw( accesskey charset coords href hreflang name onblur onfocus rel rev shape tabindex target type )
),
address
=> _hash(
@std
),
applet
=> _hash(
@std
),
area
=> _hash(
@std
,
qw( accesskey alt coords href nohref onblur onfocus shape tabindex target )
),
base
=> _hash(
qw( href target )
),
basefont
=> _hash(
qw( color face id size )
),
bdo
=> _hash(
@core
,
@i18n
),
blockquote
=> _hash(
@std
,
qw( cite )
),
body
=> _hash(
@std
,
qw( alink background bgcolor link marginheight marginwidth onload onunload text vlink )
,
_ie_only(
qw( bgproperties leftmargin topmargin )
)
),
br
=> _hash(
@core
,
qw( clear )
),
button
=> _hash(
@std
,
qw( accesskey disabled name onblur onfocus tabindex type value )
),
caption
=> _hash(
@std
,
qw( align )
),
center
=> _hash(
@std
),
cite
=> _hash(),
col
=> _hash(
@std
,
qw( align char charoff span valign width )
),
colgroup
=> _hash(
@std
,
qw( align char charoff span valign width )
),
del
=> _hash(
@std
,
qw( cite datetime )
),
div
=> _hash(
@std
,
qw( align )
),
dir
=> _hash(
@std
,
qw( compact )
),
dd
=> _hash(
@std
),
dl
=> _hash(
@std
,
qw( compact )
),
dt
=> _hash(
@std
),
fieldset
=> _hash(
@std
),
font
=> _hash(
@core
,
@i18n
,
qw( color face size )
),
form
=> _hash(
@std
,
qw( accept-charset action enctype method name onreset onsubmit target )
),
frame
=> _hash(
@core
,
qw( frameborder longdesc marginheight marginwidth name noresize scrolling src )
),
frameset
=> _hash(
@core
,
qw( cols onload onunload rows )
),
h1
=> _hash(
@std
,
qw( align )
),
h2
=> _hash(
@std
,
qw( align )
),
h3
=> _hash(
@std
,
qw( align )
),
h4
=> _hash(
@std
,
qw( align )
),
h5
=> _hash(
@std
,
qw( align )
),
h6
=> _hash(
@std
,
qw( align )
),
head
=> _hash(
@i18n
,
qw( profile )
),
hr
=> _hash(
@core
,
@events
,
qw( align noshade size width )
),
html
=> _hash(
@i18n
,
qw( version )
),
iframe
=> _hash(
@core
,
qw( align frameborder height longdesc marginheight marginwidth name scrolling src width )
),
img
=> _hash(
@std
,
qw( align alt border height hspace ismap longdesc name src usemap vspace width )
),
input
=> _hash(
@std
,
qw( accept accesskey align alt border checked disabled maxlength name onblur onchange onfocus onselect readonly size src tabindex type usemap value )
),
ins
=> _hash(
@std
,
qw( cite datetime )
),
isindex
=> _hash(
@core
,
@i18n
,
qw( prompt )
),
label
=> _hash(
@std
,
qw( accesskey for onblur onfocus )
),
legend
=> _hash(
@std
,
qw( accesskey align )
),
li
=> _hash(
@std
,
qw( type value )
),
link
=> _hash(
@std
,
qw( charset href hreflang media rel rev target type )
),
listing
=> _hash(),
map
=> _hash(
@std
,
qw( name )
),
menu
=> _hash(
@std
,
qw( compact )
),
meta
=> _hash(
@i18n
,
qw( content http-equiv name scheme )
),
nobr
=> _hash(
@std
),
noframes
=> _hash(
@std
),
noscript
=> _hash(
@std
),
object
=> _hash(
@std
,
qw( align archive border classid codebase codetype data declare height hspace name standby tabindex type usemap vspace width )
),
ol
=> _hash(
@std
,
qw( compact start type )
),
optgroup
=> _hash(
@std
,
qw( disabled label )
),
option
=> _hash(
@std
,
qw( disabled label selected value )
),
p
=> _hash(
@std
,
qw( align )
),
param
=> _hash(
qw( id name type value valuetype )
),
plaintext
=> _hash(),
pre
=> _hash(
@std
,
qw( width )
),
q
=> _hash(
@std
,
qw( cite )
),
script
=> _hash(
qw( charset defer event for language src type )
),
select
=> _hash(
@std
,
qw( disabled multiple name onblur onchange onfocus size tabindex )
),
span
=> _hash(
@std
),
strong
=> _hash(),
style
=> _hash(
@i18n
,
qw( media title type )
),
table
=> _hash(
@std
,
qw( align bgcolor border cellpadding cellspacing datapagesize frame rules summary width )
,
_ie_only(
qw( background bordercolor bordercolordark bordercolorlight )
),
_ns_only(
qw( bordercolor cols height hspace vspace )
),
),
tbody
=> _hash(
@std
,
qw( align char charoff valign )
),
td
=> _hash(
@std
,
qw( abbr align axis bgcolor char charoff colspan headers height nowrap rowspan scope valign width )
,
_ie_only(
qw( background bordercolor bordercolordark bordercolorlight )
),
),
textarea
=> _hash(
@std
,
qw( accesskey cols disabled name onblur onchange onfocus onselect readonly rows tabindex )
),
th
=> _hash(
@std
,
qw( abbr align axis bgcolor char charoff colspan headers height nowrap rowspan scope valign width )
,
_ie_only(
qw( background bordercolor bordercolordark bordercolorlight )
),
),
thead
=> _hash(
@std
,
qw( align char charoff valign )
),
tfoot
=> _hash(
@std
,
qw( align char charoff valign )
),
title
=> _hash(
@i18n
),
tr
=> _hash(
@std
,
qw( align bgcolor char charoff valign )
,
_ie_only(
qw( bordercolor bordercolordark bordercolorlight nowrap )
),
_ns_only(
qw( nowrap )
),
),
ul
=> _hash(
@std
,
qw( compact type )
),
);
1;