HTML Tidy
0.1
|
00001 #ifndef __ATTRS_H__ 00002 #define __ATTRS_H__ 00003 00004 /* attrs.h -- recognize HTML attributes 00005 00006 (c) 1998-2006 (W3C) MIT, ERCIM, Keio University 00007 See tidy.h for the copyright notice. 00008 00009 CVS Info : 00010 00011 $Author: arnaud02 $ 00012 $Date: 2007/03/21 16:09:30 $ 00013 $Revision: 1.27 $ 00014 00015 */ 00016 00017 #include "forward.h" 00018 00019 /* declaration for methods that check attribute values */ 00020 typedef void (AttrCheck)(TidyDocImpl* doc, Node *node, AttVal *attval); 00021 00022 struct _Attribute 00023 { 00024 TidyAttrId id; 00025 tmbstr name; 00026 unsigned versions; 00027 AttrCheck* attrchk; 00028 00029 struct _Attribute* next; 00030 }; 00031 00032 00033 /* 00034 Anchor/Node linked list 00035 */ 00036 00037 struct _Anchor 00038 { 00039 struct _Anchor *next; 00040 Node *node; 00041 char *name; 00042 }; 00043 00044 typedef struct _Anchor Anchor; 00045 00046 #if !defined(ATTRIBUTE_HASH_LOOKUP) 00047 #define ATTRIBUTE_HASH_LOOKUP 1 00048 #endif 00049 00050 #if ATTRIBUTE_HASH_LOOKUP 00051 enum 00052 { 00053 ATTRIBUTE_HASH_SIZE=178u 00054 }; 00055 00056 struct _AttrHash 00057 { 00058 Attribute const* attr; 00059 struct _AttrHash* next; 00060 }; 00061 00062 typedef struct _AttrHash AttrHash; 00063 #endif 00064 00065 struct _TidyAttribImpl 00066 { 00067 /* anchor/node lookup */ 00068 Anchor* anchor_list; 00069 00070 /* Declared literal attributes */ 00071 Attribute* declared_attr_list; 00072 00073 #if ATTRIBUTE_HASH_LOOKUP 00074 AttrHash* hashtab[ATTRIBUTE_HASH_SIZE]; 00075 #endif 00076 }; 00077 00078 typedef struct _TidyAttribImpl TidyAttribImpl; 00079 00080 #define XHTML_NAMESPACE "http://www.w3.org/1999/xhtml" 00081 00082 AttrCheck TY_(CheckUrl); 00083 00084 /* public method for finding attribute definition by name */ 00085 const Attribute* TY_(CheckAttribute)( TidyDocImpl* doc, Node *node, AttVal *attval ); 00086 00087 const Attribute* TY_(FindAttribute)( TidyDocImpl* doc, AttVal *attval ); 00088 00089 AttVal* TY_(GetAttrByName)( Node *node, ctmbstr name ); 00090 00091 AttVal* TY_(AddAttribute)( TidyDocImpl* doc, 00092 Node *node, ctmbstr name, ctmbstr value ); 00093 00094 AttVal* TY_(RepairAttrValue)(TidyDocImpl* doc, Node* node, ctmbstr name, ctmbstr value); 00095 00096 Bool TY_(IsUrl)( TidyDocImpl* doc, ctmbstr attrname ); 00097 00098 /* Bool IsBool( TidyDocImpl* doc, ctmbstr attrname ); */ 00099 00100 Bool TY_(IsScript)( TidyDocImpl* doc, ctmbstr attrname ); 00101 00102 /* may id or name serve as anchor? */ 00103 Bool TY_(IsAnchorElement)( TidyDocImpl* doc, Node* node ); 00104 00105 /* 00106 In CSS1, selectors can contain only the characters A-Z, 0-9, and 00107 Unicode characters 161-255, plus dash (-); they cannot start with 00108 a dash or a digit; they can also contain escaped characters and any 00109 Unicode character as a numeric code (see next item). 00110 00111 The backslash followed by at most four hexadecimal digits (0..9A..F) 00112 stands for the Unicode character with that number. 00113 00114 Any character except a hexadecimal digit can be escaped to remove its 00115 special meaning, by putting a backslash in front. 00116 00117 #508936 - CSS class naming for -clean option 00118 */ 00119 Bool TY_(IsCSS1Selector)( ctmbstr buf ); 00120 00121 Bool TY_(IsValidHTMLID)(ctmbstr id); 00122 Bool TY_(IsValidXMLID)(ctmbstr id); 00123 00124 /* removes anchor for specific node */ 00125 void TY_(RemoveAnchorByNode)( TidyDocImpl* doc, Node *node ); 00126 00127 /* free all anchors */ 00128 void TY_(FreeAnchors)( TidyDocImpl* doc ); 00129 00130 00131 /* public methods for inititializing/freeing attribute dictionary */ 00132 void TY_(InitAttrs)( TidyDocImpl* doc ); 00133 void TY_(FreeAttrTable)( TidyDocImpl* doc ); 00134 00135 void TY_(AppendToClassAttr)( TidyDocImpl* doc, AttVal *classattr, ctmbstr classname ); 00136 /* 00137 the same attribute name can't be used 00138 more than once in each element 00139 */ 00140 void TY_(RepairDuplicateAttributes)( TidyDocImpl* doc, Node* node, Bool isXml ); 00141 00142 Bool TY_(IsBoolAttribute)( AttVal* attval ); 00143 Bool TY_(attrIsEvent)( AttVal* attval ); 00144 00145 AttVal* TY_(AttrGetById)( Node* node, TidyAttrId id ); 00146 00147 uint TY_(NodeAttributeVersions)( Node* node, TidyAttrId id ); 00148 00149 /* 0 == TidyAttr_UNKNOWN */ 00150 #define AttrId(av) ((av) && (av)->dict ? (av)->dict->id : TidyAttr_UNKNOWN) 00151 #define AttrIsId(av, atid) ((av) && (av)->dict && ((av)->dict->id == atid)) 00152 00153 #define AttrHasValue(attr) ((attr) && (attr)->value) 00154 #define AttrValueIs(attr, val) (AttrHasValue(attr) && \ 00155 TY_(tmbstrcasecmp)((attr)->value, val) == 0) 00156 #define AttrContains(attr, val) (AttrHasValue(attr) && \ 00157 TY_(tmbsubstr)((attr)->value, val) != NULL) 00158 #define AttrVersions(attr) ((attr) && (attr)->dict ? (attr)->dict->versions : VERS_PROPRIETARY) 00159 00160 #define AttrsHaveSameId(a, b) (a && b && a->dict && b->dict && a->dict->id && \ 00161 b->dict->id && a->dict->id == b->dict->id) 00162 00163 #define attrIsABBR(av) AttrIsId( av, TidyAttr_ABBR ) 00164 #define attrIsACCEPT(av) AttrIsId( av, TidyAttr_ACCEPT ) 00165 #define attrIsACCEPT_CHARSET(av) AttrIsId( av, TidyAttr_ACCEPT_CHARSET ) 00166 #define attrIsACCESSKEY(av) AttrIsId( av, TidyAttr_ACCESSKEY ) 00167 #define attrIsACTION(av) AttrIsId( av, TidyAttr_ACTION ) 00168 #define attrIsADD_DATE(av) AttrIsId( av, TidyAttr_ADD_DATE ) 00169 #define attrIsALIGN(av) AttrIsId( av, TidyAttr_ALIGN ) 00170 #define attrIsALINK(av) AttrIsId( av, TidyAttr_ALINK ) 00171 #define attrIsALT(av) AttrIsId( av, TidyAttr_ALT ) 00172 #define attrIsARCHIVE(av) AttrIsId( av, TidyAttr_ARCHIVE ) 00173 #define attrIsAXIS(av) AttrIsId( av, TidyAttr_AXIS ) 00174 #define attrIsBACKGROUND(av) AttrIsId( av, TidyAttr_BACKGROUND ) 00175 #define attrIsBGCOLOR(av) AttrIsId( av, TidyAttr_BGCOLOR ) 00176 #define attrIsBGPROPERTIES(av) AttrIsId( av, TidyAttr_BGPROPERTIES ) 00177 #define attrIsBORDER(av) AttrIsId( av, TidyAttr_BORDER ) 00178 #define attrIsBORDERCOLOR(av) AttrIsId( av, TidyAttr_BORDERCOLOR ) 00179 #define attrIsBOTTOMMARGIN(av) AttrIsId( av, TidyAttr_BOTTOMMARGIN ) 00180 #define attrIsCELLPADDING(av) AttrIsId( av, TidyAttr_CELLPADDING ) 00181 #define attrIsCELLSPACING(av) AttrIsId( av, TidyAttr_CELLSPACING ) 00182 #define attrIsCHAR(av) AttrIsId( av, TidyAttr_CHAR ) 00183 #define attrIsCHAROFF(av) AttrIsId( av, TidyAttr_CHAROFF ) 00184 #define attrIsCHARSET(av) AttrIsId( av, TidyAttr_CHARSET ) 00185 #define attrIsCHECKED(av) AttrIsId( av, TidyAttr_CHECKED ) 00186 #define attrIsCITE(av) AttrIsId( av, TidyAttr_CITE ) 00187 #define attrIsCLASS(av) AttrIsId( av, TidyAttr_CLASS ) 00188 #define attrIsCLASSID(av) AttrIsId( av, TidyAttr_CLASSID ) 00189 #define attrIsCLEAR(av) AttrIsId( av, TidyAttr_CLEAR ) 00190 #define attrIsCODE(av) AttrIsId( av, TidyAttr_CODE ) 00191 #define attrIsCODEBASE(av) AttrIsId( av, TidyAttr_CODEBASE ) 00192 #define attrIsCODETYPE(av) AttrIsId( av, TidyAttr_CODETYPE ) 00193 #define attrIsCOLOR(av) AttrIsId( av, TidyAttr_COLOR ) 00194 #define attrIsCOLS(av) AttrIsId( av, TidyAttr_COLS ) 00195 #define attrIsCOLSPAN(av) AttrIsId( av, TidyAttr_COLSPAN ) 00196 #define attrIsCOMPACT(av) AttrIsId( av, TidyAttr_COMPACT ) 00197 #define attrIsCONTENT(av) AttrIsId( av, TidyAttr_CONTENT ) 00198 #define attrIsCOORDS(av) AttrIsId( av, TidyAttr_COORDS ) 00199 #define attrIsDATA(av) AttrIsId( av, TidyAttr_DATA ) 00200 #define attrIsDATAFLD(av) AttrIsId( av, TidyAttr_DATAFLD ) 00201 #define attrIsDATAFORMATAS(av) AttrIsId( av, TidyAttr_DATAFORMATAS ) 00202 #define attrIsDATAPAGESIZE(av) AttrIsId( av, TidyAttr_DATAPAGESIZE ) 00203 #define attrIsDATASRC(av) AttrIsId( av, TidyAttr_DATASRC ) 00204 #define attrIsDATETIME(av) AttrIsId( av, TidyAttr_DATETIME ) 00205 #define attrIsDECLARE(av) AttrIsId( av, TidyAttr_DECLARE ) 00206 #define attrIsDEFER(av) AttrIsId( av, TidyAttr_DEFER ) 00207 #define attrIsDIR(av) AttrIsId( av, TidyAttr_DIR ) 00208 #define attrIsDISABLED(av) AttrIsId( av, TidyAttr_DISABLED ) 00209 #define attrIsENCODING(av) AttrIsId( av, TidyAttr_ENCODING ) 00210 #define attrIsENCTYPE(av) AttrIsId( av, TidyAttr_ENCTYPE ) 00211 #define attrIsFACE(av) AttrIsId( av, TidyAttr_FACE ) 00212 #define attrIsFOR(av) AttrIsId( av, TidyAttr_FOR ) 00213 #define attrIsFRAME(av) AttrIsId( av, TidyAttr_FRAME ) 00214 #define attrIsFRAMEBORDER(av) AttrIsId( av, TidyAttr_FRAMEBORDER ) 00215 #define attrIsFRAMESPACING(av) AttrIsId( av, TidyAttr_FRAMESPACING ) 00216 #define attrIsGRIDX(av) AttrIsId( av, TidyAttr_GRIDX ) 00217 #define attrIsGRIDY(av) AttrIsId( av, TidyAttr_GRIDY ) 00218 #define attrIsHEADERS(av) AttrIsId( av, TidyAttr_HEADERS ) 00219 #define attrIsHEIGHT(av) AttrIsId( av, TidyAttr_HEIGHT ) 00220 #define attrIsHREF(av) AttrIsId( av, TidyAttr_HREF ) 00221 #define attrIsHREFLANG(av) AttrIsId( av, TidyAttr_HREFLANG ) 00222 #define attrIsHSPACE(av) AttrIsId( av, TidyAttr_HSPACE ) 00223 #define attrIsHTTP_EQUIV(av) AttrIsId( av, TidyAttr_HTTP_EQUIV ) 00224 #define attrIsID(av) AttrIsId( av, TidyAttr_ID ) 00225 #define attrIsISMAP(av) AttrIsId( av, TidyAttr_ISMAP ) 00226 #define attrIsLABEL(av) AttrIsId( av, TidyAttr_LABEL ) 00227 #define attrIsLANG(av) AttrIsId( av, TidyAttr_LANG ) 00228 #define attrIsLANGUAGE(av) AttrIsId( av, TidyAttr_LANGUAGE ) 00229 #define attrIsLAST_MODIFIED(av) AttrIsId( av, TidyAttr_LAST_MODIFIED ) 00230 #define attrIsLAST_VISIT(av) AttrIsId( av, TidyAttr_LAST_VISIT ) 00231 #define attrIsLEFTMARGIN(av) AttrIsId( av, TidyAttr_LEFTMARGIN ) 00232 #define attrIsLINK(av) AttrIsId( av, TidyAttr_LINK ) 00233 #define attrIsLONGDESC(av) AttrIsId( av, TidyAttr_LONGDESC ) 00234 #define attrIsLOWSRC(av) AttrIsId( av, TidyAttr_LOWSRC ) 00235 #define attrIsMARGINHEIGHT(av) AttrIsId( av, TidyAttr_MARGINHEIGHT ) 00236 #define attrIsMARGINWIDTH(av) AttrIsId( av, TidyAttr_MARGINWIDTH ) 00237 #define attrIsMAXLENGTH(av) AttrIsId( av, TidyAttr_MAXLENGTH ) 00238 #define attrIsMEDIA(av) AttrIsId( av, TidyAttr_MEDIA ) 00239 #define attrIsMETHOD(av) AttrIsId( av, TidyAttr_METHOD ) 00240 #define attrIsMULTIPLE(av) AttrIsId( av, TidyAttr_MULTIPLE ) 00241 #define attrIsNAME(av) AttrIsId( av, TidyAttr_NAME ) 00242 #define attrIsNOHREF(av) AttrIsId( av, TidyAttr_NOHREF ) 00243 #define attrIsNORESIZE(av) AttrIsId( av, TidyAttr_NORESIZE ) 00244 #define attrIsNOSHADE(av) AttrIsId( av, TidyAttr_NOSHADE ) 00245 #define attrIsNOWRAP(av) AttrIsId( av, TidyAttr_NOWRAP ) 00246 #define attrIsOBJECT(av) AttrIsId( av, TidyAttr_OBJECT ) 00247 #define attrIsOnAFTERUPDATE(av) AttrIsId( av, TidyAttr_OnAFTERUPDATE ) 00248 #define attrIsOnBEFOREUNLOAD(av) AttrIsId( av, TidyAttr_OnBEFOREUNLOAD ) 00249 #define attrIsOnBEFOREUPDATE(av) AttrIsId( av, TidyAttr_OnBEFOREUPDATE ) 00250 #define attrIsOnBLUR(av) AttrIsId( av, TidyAttr_OnBLUR ) 00251 #define attrIsOnCHANGE(av) AttrIsId( av, TidyAttr_OnCHANGE ) 00252 #define attrIsOnCLICK(av) AttrIsId( av, TidyAttr_OnCLICK ) 00253 #define attrIsOnDATAAVAILABLE(av) AttrIsId( av, TidyAttr_OnDATAAVAILABLE ) 00254 #define attrIsOnDATASETCHANGED(av) AttrIsId( av, TidyAttr_OnDATASETCHANGED ) 00255 #define attrIsOnDATASETCOMPLETE(av) AttrIsId( av, TidyAttr_OnDATASETCOMPLETE ) 00256 #define attrIsOnDBLCLICK(av) AttrIsId( av, TidyAttr_OnDBLCLICK ) 00257 #define attrIsOnERRORUPDATE(av) AttrIsId( av, TidyAttr_OnERRORUPDATE ) 00258 #define attrIsOnFOCUS(av) AttrIsId( av, TidyAttr_OnFOCUS ) 00259 #define attrIsOnKEYDOWN(av) AttrIsId( av, TidyAttr_OnKEYDOWN ) 00260 #define attrIsOnKEYPRESS(av) AttrIsId( av, TidyAttr_OnKEYPRESS ) 00261 #define attrIsOnKEYUP(av) AttrIsId( av, TidyAttr_OnKEYUP ) 00262 #define attrIsOnLOAD(av) AttrIsId( av, TidyAttr_OnLOAD ) 00263 #define attrIsOnMOUSEDOWN(av) AttrIsId( av, TidyAttr_OnMOUSEDOWN ) 00264 #define attrIsOnMOUSEMOVE(av) AttrIsId( av, TidyAttr_OnMOUSEMOVE ) 00265 #define attrIsOnMOUSEOUT(av) AttrIsId( av, TidyAttr_OnMOUSEOUT ) 00266 #define attrIsOnMOUSEOVER(av) AttrIsId( av, TidyAttr_OnMOUSEOVER ) 00267 #define attrIsOnMOUSEUP(av) AttrIsId( av, TidyAttr_OnMOUSEUP ) 00268 #define attrIsOnRESET(av) AttrIsId( av, TidyAttr_OnRESET ) 00269 #define attrIsOnROWENTER(av) AttrIsId( av, TidyAttr_OnROWENTER ) 00270 #define attrIsOnROWEXIT(av) AttrIsId( av, TidyAttr_OnROWEXIT ) 00271 #define attrIsOnSELECT(av) AttrIsId( av, TidyAttr_OnSELECT ) 00272 #define attrIsOnSUBMIT(av) AttrIsId( av, TidyAttr_OnSUBMIT ) 00273 #define attrIsOnUNLOAD(av) AttrIsId( av, TidyAttr_OnUNLOAD ) 00274 #define attrIsPROFILE(av) AttrIsId( av, TidyAttr_PROFILE ) 00275 #define attrIsPROMPT(av) AttrIsId( av, TidyAttr_PROMPT ) 00276 #define attrIsRBSPAN(av) AttrIsId( av, TidyAttr_RBSPAN ) 00277 #define attrIsREADONLY(av) AttrIsId( av, TidyAttr_READONLY ) 00278 #define attrIsREL(av) AttrIsId( av, TidyAttr_REL ) 00279 #define attrIsREV(av) AttrIsId( av, TidyAttr_REV ) 00280 #define attrIsRIGHTMARGIN(av) AttrIsId( av, TidyAttr_RIGHTMARGIN ) 00281 #define attrIsROWS(av) AttrIsId( av, TidyAttr_ROWS ) 00282 #define attrIsROWSPAN(av) AttrIsId( av, TidyAttr_ROWSPAN ) 00283 #define attrIsRULES(av) AttrIsId( av, TidyAttr_RULES ) 00284 #define attrIsSCHEME(av) AttrIsId( av, TidyAttr_SCHEME ) 00285 #define attrIsSCOPE(av) AttrIsId( av, TidyAttr_SCOPE ) 00286 #define attrIsSCROLLING(av) AttrIsId( av, TidyAttr_SCROLLING ) 00287 #define attrIsSELECTED(av) AttrIsId( av, TidyAttr_SELECTED ) 00288 #define attrIsSHAPE(av) AttrIsId( av, TidyAttr_SHAPE ) 00289 #define attrIsSHOWGRID(av) AttrIsId( av, TidyAttr_SHOWGRID ) 00290 #define attrIsSHOWGRIDX(av) AttrIsId( av, TidyAttr_SHOWGRIDX ) 00291 #define attrIsSHOWGRIDY(av) AttrIsId( av, TidyAttr_SHOWGRIDY ) 00292 #define attrIsSIZE(av) AttrIsId( av, TidyAttr_SIZE ) 00293 #define attrIsSPAN(av) AttrIsId( av, TidyAttr_SPAN ) 00294 #define attrIsSRC(av) AttrIsId( av, TidyAttr_SRC ) 00295 #define attrIsSTANDBY(av) AttrIsId( av, TidyAttr_STANDBY ) 00296 #define attrIsSTART(av) AttrIsId( av, TidyAttr_START ) 00297 #define attrIsSTYLE(av) AttrIsId( av, TidyAttr_STYLE ) 00298 #define attrIsSUMMARY(av) AttrIsId( av, TidyAttr_SUMMARY ) 00299 #define attrIsTABINDEX(av) AttrIsId( av, TidyAttr_TABINDEX ) 00300 #define attrIsTARGET(av) AttrIsId( av, TidyAttr_TARGET ) 00301 #define attrIsTEXT(av) AttrIsId( av, TidyAttr_TEXT ) 00302 #define attrIsTITLE(av) AttrIsId( av, TidyAttr_TITLE ) 00303 #define attrIsTOPMARGIN(av) AttrIsId( av, TidyAttr_TOPMARGIN ) 00304 #define attrIsTYPE(av) AttrIsId( av, TidyAttr_TYPE ) 00305 #define attrIsUSEMAP(av) AttrIsId( av, TidyAttr_USEMAP ) 00306 #define attrIsVALIGN(av) AttrIsId( av, TidyAttr_VALIGN ) 00307 #define attrIsVALUE(av) AttrIsId( av, TidyAttr_VALUE ) 00308 #define attrIsVALUETYPE(av) AttrIsId( av, TidyAttr_VALUETYPE ) 00309 #define attrIsVERSION(av) AttrIsId( av, TidyAttr_VERSION ) 00310 #define attrIsVLINK(av) AttrIsId( av, TidyAttr_VLINK ) 00311 #define attrIsVSPACE(av) AttrIsId( av, TidyAttr_VSPACE ) 00312 #define attrIsWIDTH(av) AttrIsId( av, TidyAttr_WIDTH ) 00313 #define attrIsWRAP(av) AttrIsId( av, TidyAttr_WRAP ) 00314 #define attrIsXMLNS(av) AttrIsId( av, TidyAttr_XMLNS ) 00315 #define attrIsXML_LANG(av) AttrIsId( av, TidyAttr_XML_LANG ) 00316 #define attrIsXML_SPACE(av) AttrIsId( av, TidyAttr_XML_SPACE ) 00317 00318 00319 /* Attribute Retrieval macros 00320 */ 00321 #define attrGetHREF( nod ) TY_(AttrGetById)( nod, TidyAttr_HREF ) 00322 #define attrGetSRC( nod ) TY_(AttrGetById)( nod, TidyAttr_SRC ) 00323 #define attrGetID( nod ) TY_(AttrGetById)( nod, TidyAttr_ID ) 00324 #define attrGetNAME( nod ) TY_(AttrGetById)( nod, TidyAttr_NAME ) 00325 #define attrGetSUMMARY( nod ) TY_(AttrGetById)( nod, TidyAttr_SUMMARY ) 00326 #define attrGetALT( nod ) TY_(AttrGetById)( nod, TidyAttr_ALT ) 00327 #define attrGetLONGDESC( nod ) TY_(AttrGetById)( nod, TidyAttr_LONGDESC ) 00328 #define attrGetUSEMAP( nod ) TY_(AttrGetById)( nod, TidyAttr_USEMAP ) 00329 #define attrGetISMAP( nod ) TY_(AttrGetById)( nod, TidyAttr_ISMAP ) 00330 #define attrGetLANGUAGE( nod ) TY_(AttrGetById)( nod, TidyAttr_LANGUAGE ) 00331 #define attrGetTYPE( nod ) TY_(AttrGetById)( nod, TidyAttr_TYPE ) 00332 #define attrGetVALUE( nod ) TY_(AttrGetById)( nod, TidyAttr_VALUE ) 00333 #define attrGetCONTENT( nod ) TY_(AttrGetById)( nod, TidyAttr_CONTENT ) 00334 #define attrGetTITLE( nod ) TY_(AttrGetById)( nod, TidyAttr_TITLE ) 00335 #define attrGetXMLNS( nod ) TY_(AttrGetById)( nod, TidyAttr_XMLNS ) 00336 #define attrGetDATAFLD( nod ) TY_(AttrGetById)( nod, TidyAttr_DATAFLD ) 00337 #define attrGetWIDTH( nod ) TY_(AttrGetById)( nod, TidyAttr_WIDTH ) 00338 #define attrGetHEIGHT( nod ) TY_(AttrGetById)( nod, TidyAttr_HEIGHT ) 00339 #define attrGetFOR( nod ) TY_(AttrGetById)( nod, TidyAttr_FOR ) 00340 #define attrGetSELECTED( nod ) TY_(AttrGetById)( nod, TidyAttr_SELECTED ) 00341 #define attrGetCHECKED( nod ) TY_(AttrGetById)( nod, TidyAttr_CHECKED ) 00342 #define attrGetLANG( nod ) TY_(AttrGetById)( nod, TidyAttr_LANG ) 00343 #define attrGetTARGET( nod ) TY_(AttrGetById)( nod, TidyAttr_TARGET ) 00344 #define attrGetHTTP_EQUIV( nod ) TY_(AttrGetById)( nod, TidyAttr_HTTP_EQUIV ) 00345 #define attrGetREL( nod ) TY_(AttrGetById)( nod, TidyAttr_REL ) 00346 00347 #define attrGetOnMOUSEMOVE( nod ) TY_(AttrGetById)( nod, TidyAttr_OnMOUSEMOVE ) 00348 #define attrGetOnMOUSEDOWN( nod ) TY_(AttrGetById)( nod, TidyAttr_OnMOUSEDOWN ) 00349 #define attrGetOnMOUSEUP( nod ) TY_(AttrGetById)( nod, TidyAttr_OnMOUSEUP ) 00350 #define attrGetOnCLICK( nod ) TY_(AttrGetById)( nod, TidyAttr_OnCLICK ) 00351 #define attrGetOnMOUSEOVER( nod ) TY_(AttrGetById)( nod, TidyAttr_OnMOUSEOVER ) 00352 #define attrGetOnMOUSEOUT( nod ) TY_(AttrGetById)( nod, TidyAttr_OnMOUSEOUT ) 00353 #define attrGetOnKEYDOWN( nod ) TY_(AttrGetById)( nod, TidyAttr_OnKEYDOWN ) 00354 #define attrGetOnKEYUP( nod ) TY_(AttrGetById)( nod, TidyAttr_OnKEYUP ) 00355 #define attrGetOnKEYPRESS( nod ) TY_(AttrGetById)( nod, TidyAttr_OnKEYPRESS ) 00356 #define attrGetOnFOCUS( nod ) TY_(AttrGetById)( nod, TidyAttr_OnFOCUS ) 00357 #define attrGetOnBLUR( nod ) TY_(AttrGetById)( nod, TidyAttr_OnBLUR ) 00358 00359 #define attrGetBGCOLOR( nod ) TY_(AttrGetById)( nod, TidyAttr_BGCOLOR ) 00360 00361 #define attrGetLINK( nod ) TY_(AttrGetById)( nod, TidyAttr_LINK ) 00362 #define attrGetALINK( nod ) TY_(AttrGetById)( nod, TidyAttr_ALINK ) 00363 #define attrGetVLINK( nod ) TY_(AttrGetById)( nod, TidyAttr_VLINK ) 00364 00365 #define attrGetTEXT( nod ) TY_(AttrGetById)( nod, TidyAttr_TEXT ) 00366 #define attrGetSTYLE( nod ) TY_(AttrGetById)( nod, TidyAttr_STYLE ) 00367 #define attrGetABBR( nod ) TY_(AttrGetById)( nod, TidyAttr_ABBR ) 00368 #define attrGetCOLSPAN( nod ) TY_(AttrGetById)( nod, TidyAttr_COLSPAN ) 00369 #define attrGetFONT( nod ) TY_(AttrGetById)( nod, TidyAttr_FONT ) 00370 #define attrGetBASEFONT( nod ) TY_(AttrGetById)( nod, TidyAttr_BASEFONT ) 00371 #define attrGetROWSPAN( nod ) TY_(AttrGetById)( nod, TidyAttr_ROWSPAN ) 00372 00373 #endif /* __ATTRS_H__ */