NAME
CSS::DOM::Interface - A list of CSS::DOM's interface members in machine-readable format
VERSION
Version 0.17
SYNOPSIS
use CSS::DOM::Interface ':all';# name of DOM interface (CSSStyleRule):$CSS::DOM::Interface{"CSS::DOM::Rule::Style"};# interface it inherits from (CSSRule):$CSS::DOM::Interface{CSSStyleRule}{_isa};# whether this can be used as an array$CSS::DOM::Interface{MediaList}{_array}; # true# or hash$CSS::DOM::Interface{MediaList}{_hash}; # false# Properties and Methods# list them allgrep !/^_/, keys %{ $CSS::DOM::Interface{CSSStyleSheet} };# see whether a given property is supportedexists $CSS::DOM::Interface{CSSStyleSheet}{foo}; # false# Is it a method?$CSS::DOM::Interface{CSSStyleSheet}{cssRules} & METHOD; # false$CSS::DOM::Interface{CSSStyleSheet}{insertRule} & METHOD; # true# Does the method return nothing?$CSS::DOM::Interface{MediaList}{deleteMedium} & VOID; # true# Is a property read-only?$CSS::DOM::Interface{StyleSheetList}{length} & READONLY; # true# Data types of properties($CSS::DOM::Interface{CSSStyleSheet}{type} & TYPE)== STR; # true($CSS::DOM::Interface{CSSStyleSheet}{disabled} & TYPE)== BOOL; # true($CSS::DOM::Interface{CSSStyleSheet}{ownerNode} & TYPE)== NUM; # false($CSS::DOM::Interface{CSSStyleSheet}{href} & TYPE)== OBJ; # false# and return types of methods:($CSS::DOM::Interface{MediaList}{item} & TYPE) == STR; # true($CSS::DOM::Interface{CSSMediaRule}->{insertRule} & TYPE) == BOOL; # false($CSS::DOM::Interface{CSSStyleDeclaration}->{getPropertyVaue} & TYPE) == NUM; # false($CSS::DOM::Interface{CSSStyleDeclaration}->{removeProperty} & TYPE) == OBJ; # false# Constants# list of constant names in the form "CSS::DOM::Node::STYLE_RULE";@{ $CSS::DOM::Interface{CSSRule}{_constants} };
DESCRIPTION
The synopsis should tell you almost everything you need to know. But be warned that "$foo & TYPE" is meaningless when "$foo & METHOD" and "$foo & VOID" are both true. For more gory details, look at the source code. In fact, here it is:
our @EXPORT_OK = qw/METHOD VOID READONLY BOOL STR NUM OBJ TYPE/;our %EXPORT_TAGS = (all => \@EXPORT_OK);sub METHOD () { 1 }sub VOID () { 0b10 } # for methodssub READONLY () { 0b10 } # for propertiessub BOOL () { 0b0000 }sub STR () { 0b0100 }sub NUM () { 0b1000 }sub OBJ () { 0b1100 }sub TYPE () { 0b1100 } # only for use as a mask%CSS::DOM::Interface = ('CSS::DOM' => 'CSSStyleSheet','CSS::DOM::StyleSheetList' => 'StyleSheetList','CSS::DOM::MediaList' => 'MediaList','CSS::DOM::RuleList' => 'CSSRuleList','CSS::DOM::Rule' => 'CSSRule','CSS::DOM::Rule::Style' => 'CSSStyleRule','CSS::DOM::Rule::Media' => 'CSSMediaRule','CSS::DOM::Rule::FontFace' => 'CSSFontFaceRule','CSS::DOM::Rule::Page' => 'CSSPageRule','CSS::DOM::Rule::Import' => 'CSSImportRule','CSS::DOM::Rule::Charset' => 'CSSCharsetRule','CSS::DOM::Style' => 'CSSStyleDeclaration','CSS::DOM::Value' => 'CSSValue','CSS::DOM::Value::Primitive' => 'CSSPrimitiveValue','CSS::DOM::Value::List' => 'CSSValueList','CSS::DOM::Counter' => 'Counter',StyleSheetList => {_hash => 0,_array => 1,length => NUM | READONLY,item => METHOD | OBJ,},MediaList => {_hash => 0,_array => 1,mediaText => STR,length => NUM | READONLY,item => METHOD | STR,deleteMedium => METHOD | VOID,appendMedium => METHOD | VOID,},CSSRuleList => {_hash => 0,_array => 1,length => NUM | READONLY,item => METHOD | OBJ,},CSSRule => {_hash => 0,_array => 0,_constants => [qw[CSS::DOM::Rule::UNKNOWN_RULECSS::DOM::Rule::STYLE_RULECSS::DOM::Rule::CHARSET_RULECSS::DOM::Rule::IMPORT_RULECSS::DOM::Rule::MEDIA_RULECSS::DOM::Rule::FONT_FACE_RULECSS::DOM::Rule::PAGE_RULE]],type => NUM | READONLY,cssText => STR,parentStyleSheet => OBJ | READONLY,parentRule => OBJ | READONLY,},CSSStyleRule => {_isa => 'CSSRule',_hash => 0,_array => 0,selectorText => STR,style => OBJ | READONLY,},CSSMediaRule => {_isa => 'CSSRule',_hash => 0,_array => 0,media => OBJ | READONLY,cssRules => OBJ | READONLY,insertRule => METHOD | NUM,deleteRule => METHOD | VOID,},CSSFontFaceRule => {_isa => 'CSSRule',_hash => 0,_array => 0,style => OBJ | READONLY,},CSSPageRule => {_isa => 'CSSRule',_hash => 0,_array => 0,selectorText => STR,style => OBJ | READONLY,},CSSImportRule => {_isa => 'CSSRule',_hash => 0,_array => 0,href => STR | READONLY,media => OBJ | READONLY,styleSheet => OBJ | READONLY,},CSSCharsetRule => {_isa => 'CSSRule',_hash => 0,_array => 0,encoding => STR,},CSSStyleDeclaration => {_hash => 0,_array => 1,cssText => STR,getPropertyValue => METHOD | STR,getPropertyCSSValue => METHOD | OBJ,removeProperty => METHOD | STR,getPropertyPriority => METHOD | STR,setProperty => METHOD | VOID,length => NUM | READONLY,item => METHOD | STR,parentRule => OBJ | READONLY,azimuth => STR,background => STR,backgroundAttachment => STR,backgroundColor => STR,backgroundImage => STR,backgroundPosition => STR,backgroundRepeat => STR,border => STR,borderCollapse => STR,borderColor => STR,borderSpacing => STR,borderStyle => STR,borderTop => STR,borderRight => STR,borderBottom => STR,borderLeft => STR,borderTopColor => STR,borderRightColor => STR,borderBottomColor => STR,borderLeftColor => STR,borderTopStyle => STR,borderRightStyle => STR,borderBottomStyle => STR,borderLeftStyle => STR,borderTopWidth => STR,borderRightWidth => STR,borderBottomWidth => STR,borderLeftWidth => STR,borderWidth => STR,bottom => STR,captionSide => STR,clear => STR,clip => STR,color => STR,content => STR,counterIncrement => STR,counterReset => STR,cue => STR,cueAfter => STR,cueBefore => STR,cursor => STR,direction => STR,display => STR,elevation => STR,emptyCells => STR,cssFloat => STR,font => STR,fontFamily => STR,fontSize => STR,fontSizeAdjust => STR,fontStretch => STR,fontStyle => STR,fontVariant => STR,fontWeight => STR,height => STR,left => STR,letterSpacing => STR,lineHeight => STR,listStyle => STR,listStyleImage => STR,listStylePosition => STR,listStyleType => STR,margin => STR,marginTop => STR,marginRight => STR,marginBottom => STR,marginLeft => STR,markerOffset => STR,marks => STR,maxHeight => STR,maxWidth => STR,minHeight => STR,minWidth => STR,opacity => STR,orphans => STR,outline => STR,outlineColor => STR,outlineStyle => STR,outlineWidth => STR,overflow => STR,padding => STR,paddingTop => STR,paddingRight => STR,paddingBottom => STR,paddingLeft => STR,page => STR,pageBreakAfter => STR,pageBreakBefore => STR,pageBreakInside => STR,pause => STR,pauseAfter => STR,pauseBefore => STR,pitch => STR,pitchRange => STR,playDuring => STR,position => STR,quotes => STR,richness => STR,right => STR,size => STR,speak => STR,speakHeader => STR,speakNumeral => STR,speakPunctuation => STR,speechRate => STR,stress => STR,tableLayout => STR,textAlign => STR,textDecoration => STR,textIndent => STR,textShadow => STR,textTransform => STR,top => STR,unicodeBidi => STR,verticalAlign => STR,visibility => STR,voiceFamily => STR,volume => STR,whiteSpace => STR,widows => STR,width => STR,wordSpacing => STR,zIndex => STR,},CSSValue => {_hash => 0,_array => 0,_constants => [qw[CSS::DOM::Value::CSS_INHERITCSS::DOM::Value::CSS_PRIMITIVE_VALUECSS::DOM::Value::CSS_VALUE_LISTCSS::DOM::Value::CSS_CUSTOM]],cssText => STR,cssValueType => NUM | READONLY,},CSSPrimitiveValue => {_isa => 'CSSValue',_hash => 0,_array => 0,_constants => [qw[CSS::DOM::Value::Primitive::CSS_UNKNOWNCSS::DOM::Value::Primitive::CSS_NUMBERCSS::DOM::Value::Primitive::CSS_PERCENTAGECSS::DOM::Value::Primitive::CSS_EMSCSS::DOM::Value::Primitive::CSS_EXSCSS::DOM::Value::Primitive::CSS_PXCSS::DOM::Value::Primitive::CSS_CMCSS::DOM::Value::Primitive::CSS_MMCSS::DOM::Value::Primitive::CSS_INCSS::DOM::Value::Primitive::CSS_PTCSS::DOM::Value::Primitive::CSS_PCCSS::DOM::Value::Primitive::CSS_DEGCSS::DOM::Value::Primitive::CSS_RADCSS::DOM::Value::Primitive::CSS_GRADCSS::DOM::Value::Primitive::CSS_MSCSS::DOM::Value::Primitive::CSS_SCSS::DOM::Value::Primitive::CSS_HZCSS::DOM::Value::Primitive::CSS_KHZCSS::DOM::Value::Primitive::CSS_DIMENSIONCSS::DOM::Value::Primitive::CSS_STRINGCSS::DOM::Value::Primitive::CSS_URICSS::DOM::Value::Primitive::CSS_IDENTCSS::DOM::Value::Primitive::CSS_ATTRCSS::DOM::Value::Primitive::CSS_COUNTERCSS::DOM::Value::Primitive::CSS_RECTCSS::DOM::Value::Primitive::CSS_RGBCOLOR]],primitiveType => NUM | READONLY,setFloatValue => METHOD | VOID,getFloatValue => METHOD | NUM,setStringValue => METHOD | VOID,getStringValue => METHOD | STR,# getCounterValue => METHOD | OBJ,# getRectValue => METHOD | OBJ,# getRGBColorValue => METHOD | OBJ,red => OBJ | READONLY,green => OBJ | READONLY,blue => OBJ | READONLY,alpha => OBJ | READONLY,top => OBJ | READONLY,right => OBJ | READONLY,bottom => OBJ | READONLY,left => OBJ | READONLY,},CSSValueList => {_isa => 'CSSValue',_hash => 0,_array => 1,length => NUM | READONLY,item => METHOD | OBJ,},# Counter => {# _hash => 0,# _array => 0,# identifier => STR | READONLY,# listStyle => STR | READONLY,# separator => STR | READONLY,# },CSSStyleSheet => {type => STR | READONLY,_hash => 0,_array => 0,disabled => BOOL,ownerNode => OBJ | READONLY,parentStyleSheet => OBJ | READONLY,href => STR | READONLY,title => STR | READONLY,media => OBJ | READONLY,ownerRule => OBJ | READONLY,cssRules => OBJ | READONLY,insertRule => METHOD | NUM,deleteRule => METHOD | VOID,},);
__END__
SEE ALSO
CSS::DOM