HTML Tidy  5.4.0
The HTACG Tidy HTML Project
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
tags.h File Reference

Go to the source code of this file.

Data Structures

struct  Dict
 
struct  DictHash
 
struct  TidyTagImpl
 

Macros

#define ELEMENT_HASH_LOOKUP   1
 
#define nodeIsA(node)   TagIsId( node, TidyTag_A )
 
#define nodeIsACRONYM(node)   TagIsId( node, TidyTag_ACRONYM )
 
#define nodeIsADDRESS(node)   TagIsId( node, TidyTag_ADDRESS )
 
#define nodeIsAPPLET(node)   TagIsId( node, TidyTag_APPLET )
 
#define nodeIsAREA(node)   TagIsId( node, TidyTag_AREA )
 
#define nodeIsB(node)   TagIsId( node, TidyTag_B )
 
#define nodeIsBASE(node)   TagIsId( node, TidyTag_BASE )
 
#define nodeIsBASEFONT(node)   TagIsId( node, TidyTag_BASEFONT )
 
#define nodeIsBIG(node)   TagIsId( node, TidyTag_BIG )
 
#define nodeIsBLINK(node)   TagIsId( node, TidyTag_BLINK )
 
#define nodeIsBLOCKQUOTE(node)   TagIsId( node, TidyTag_BLOCKQUOTE )
 
#define nodeIsBODY(node)   TagIsId( node, TidyTag_BODY )
 
#define nodeIsBR(node)   TagIsId( node, TidyTag_BR )
 
#define nodeIsBUTTON(node)   TagIsId( node, TidyTag_BUTTON )
 
#define nodeIsCANVAS(node)   TagIsId( node, TidyTag_CANVAS )
 
#define nodeIsCAPTION(node)   TagIsId( node, TidyTag_CAPTION )
 
#define nodeIsCENTER(node)   TagIsId( node, TidyTag_CENTER )
 
#define nodeIsCOL(node)   TagIsId( node, TidyTag_COL )
 
#define nodeIsCOLGROUP(node)   TagIsId( node, TidyTag_COLGROUP )
 
#define nodeIsDATALIST(node)   TagIsId( node, TidyTag_DATALIST )
 
#define nodeIsDD(node)   TagIsId( node, TidyTag_DD )
 
#define nodeIsDEL(node)   TagIsId( node, TidyTag_DEL )
 
#define nodeIsDIR(node)   TagIsId( node, TidyTag_DIR )
 
#define nodeIsDIV(node)   TagIsId( node, TidyTag_DIV )
 
#define nodeIsDL(node)   TagIsId( node, TidyTag_DL )
 
#define nodeIsDT(node)   TagIsId( node, TidyTag_DT )
 
#define nodeIsEM(node)   TagIsId( node, TidyTag_EM )
 
#define nodeIsEMBED(node)   TagIsId( node, TidyTag_EMBED )
 
#define nodeIsFONT(node)   TagIsId( node, TidyTag_FONT )
 
#define nodeIsFORM(node)   TagIsId( node, TidyTag_FORM )
 
#define nodeIsFRAME(node)   TagIsId( node, TidyTag_FRAME )
 
#define nodeIsFRAMESET(node)   TagIsId( node, TidyTag_FRAMESET )
 
#define nodeIsH1(node)   TagIsId( node, TidyTag_H1 )
 
#define nodeIsH2(node)   TagIsId( node, TidyTag_H2 )
 
#define nodeIsH3(node)   TagIsId( node, TidyTag_H3 )
 
#define nodeIsH4(node)   TagIsId( node, TidyTag_H4 )
 
#define nodeIsH5(node)   TagIsId( node, TidyTag_H5 )
 
#define nodeIsH6(node)   TagIsId( node, TidyTag_H6 )
 
#define nodeIsHEAD(node)   TagIsId( node, TidyTag_HEAD )
 
#define nodeIsHR(node)   TagIsId( node, TidyTag_HR )
 
#define nodeIsHTML(node)   TagIsId( node, TidyTag_HTML )
 
#define nodeIsI(node)   TagIsId( node, TidyTag_I )
 
#define nodeIsIFRAME(node)   TagIsId( node, TidyTag_IFRAME )
 
#define nodeIsIMG(node)   TagIsId( node, TidyTag_IMG )
 
#define nodeIsINPUT(node)   TagIsId( node, TidyTag_INPUT )
 
#define nodeIsINS(node)   TagIsId( node, TidyTag_INS )
 
#define nodeIsISINDEX(node)   TagIsId( node, TidyTag_ISINDEX )
 
#define nodeIsLABEL(node)   TagIsId( node, TidyTag_LABEL )
 
#define nodeIsLAYER(node)   TagIsId( node, TidyTag_LAYER )
 
#define nodeIsLI(node)   TagIsId( node, TidyTag_LI )
 
#define nodeIsLINK(node)   TagIsId( node, TidyTag_LINK )
 
#define nodeIsLISTING(node)   TagIsId( node, TidyTag_LISTING )
 
#define nodeIsMAIN(node)   TagIsId( node, TidyTag_MAIN )
 
#define nodeIsMAP(node)   TagIsId( node, TidyTag_MAP )
 
#define nodeIsMARQUEE(node)   TagIsId( node, TidyTag_MARQUEE )
 
#define nodeIsMATHML(node)   TagIsId( node, TidyTag_MATHML ) /* #130 MathML attr and entity fix! */
 
#define nodeIsMENU(node)   TagIsId( node, TidyTag_MENU )
 
#define nodeIsMETA(node)   TagIsId( node, TidyTag_META )
 
#define nodeIsNOBR(node)   TagIsId( node, TidyTag_NOBR )
 
#define nodeIsNOFRAMES(node)   TagIsId( node, TidyTag_NOFRAMES )
 
#define nodeIsNOSCRIPT(node)   TagIsId( node, TidyTag_NOSCRIPT )
 
#define nodeIsOBJECT(node)   TagIsId( node, TidyTag_OBJECT )
 
#define nodeIsOL(node)   TagIsId( node, TidyTag_OL )
 
#define nodeIsOPTGROUP(node)   TagIsId( node, TidyTag_OPTGROUP )
 
#define nodeIsOPTION(node)   TagIsId( node, TidyTag_OPTION )
 
#define nodeIsP(node)   TagIsId( node, TidyTag_P )
 
#define nodeIsPARAM(node)   TagIsId( node, TidyTag_PARAM )
 
#define nodeIsPRE(node)   TagIsId( node, TidyTag_PRE )
 
#define nodeIsPROGRESS(node)   TagIsId( node, TidyTag_PROGRESS )
 
#define nodeIsQ(node)   TagIsId( node, TidyTag_Q )
 
#define nodeIsS(node)   TagIsId( node, TidyTag_S )
 
#define nodeIsSCRIPT(node)   TagIsId( node, TidyTag_SCRIPT )
 
#define nodeIsSELECT(node)   TagIsId( node, TidyTag_SELECT )
 
#define nodeIsSMALL(node)   TagIsId( node, TidyTag_SMALL )
 
#define nodeIsSPACER(node)   TagIsId( node, TidyTag_SPACER )
 
#define nodeIsSPAN(node)   TagIsId( node, TidyTag_SPAN )
 
#define nodeIsSTRIKE(node)   TagIsId( node, TidyTag_STRIKE )
 
#define nodeIsSTRONG(node)   TagIsId( node, TidyTag_STRONG )
 
#define nodeIsSTYLE(node)   TagIsId( node, TidyTag_STYLE )
 
#define nodeIsSUB(node)   TagIsId( node, TidyTag_SUB )
 
#define nodeIsSUP(node)   TagIsId( node, TidyTag_SUP )
 
#define nodeIsTABLE(node)   TagIsId( node, TidyTag_TABLE )
 
#define nodeIsTD(node)   TagIsId( node, TidyTag_TD )
 
#define nodeIsTEXTAREA(node)   TagIsId( node, TidyTag_TEXTAREA )
 
#define nodeIsTH(node)   TagIsId( node, TidyTag_TH )
 
#define nodeIsTITLE(node)   TagIsId( node, TidyTag_TITLE )
 
#define nodeIsTR(node)   TagIsId( node, TidyTag_TR )
 
#define nodeIsTT(node)   TagIsId( node, TidyTag_TT )
 
#define nodeIsU(node)   TagIsId( node, TidyTag_U )
 
#define nodeIsUL(node)   TagIsId( node, TidyTag_UL )
 
#define nodeIsWBR(node)   TagIsId( node, TidyTag_WBR )
 
#define nodeIsXMP(node)   TagIsId( node, TidyTag_XMP )
 
#define nodesIsFRAME(node)   TagIsId( node, TidyTag_FRAME )
 
#define TagId(node)   ((node) && (node)->tag ? (node)->tag->id : TidyTag_UNKNOWN)
 
#define TagIsId(node, tid)   ((node) && (node)->tag && (node)->tag->id == tid)
 

Typedefs

typedef void( CheckAttribs )(TidyDocImpl *doc, Node *node)
 
typedef void( Parser )(TidyDocImpl *doc, Node *node, GetTokenMode mode)
 

Enumerations

enum  { ELEMENT_HASH_SIZE =178u }
 
enum  UserTagType {
  tagtype_null = 0,
  tagtype_empty = 1,
  tagtype_inline = 2,
  tagtype_block = 4,
  tagtype_pre = 8
}
 

Functions

void TY_❪AdjustTags❫ (TidyDocImpl *doc)
 
void TY_❪DefineTag❫ (TidyDocImpl *doc, UserTagType tagType, ctmbstr name)
 
ParserTY_❪FindParser❫ (TidyDocImpl *doc, Node *node)
 
Bool TY_❪FindTag❫ (TidyDocImpl *doc, Node *node)
 
void TY_❪FreeDeclaredTags❫ (TidyDocImpl *doc, UserTagType tagType)
 
void TY_❪FreeTags❫ (TidyDocImpl *doc)
 
TidyIterator TY_❪GetDeclaredTagList❫ (TidyDocImpl *doc)
 
ctmbstr TY_❪GetNextDeclaredTag❫ (TidyDocImpl *doc, UserTagType tagType, TidyIterator *iter)
 
void TY_❪InitTags❫ (TidyDocImpl *doc)
 
Bool TY_❪IsHTML5Mode❫ (TidyDocImpl *doc)
 
const Dict * TY_❪LookupTagDef❫ (TidyTagId tid)
 
Bool TY_❪nodeCMIsBlock❫ (Node *node)
 
Bool TY_❪nodeCMIsEmpty❫ (Node *node)
 
Bool TY_❪nodeCMIsInline❫ (Node *node)
 
Bool TY_❪nodeHasCM❫ (Node *node, uint contentModel)
 
Bool TY_❪nodeHasText❫ (TidyDocImpl *doc, Node *node)
 
uint TY_❪nodeHeaderLevel❫ (Node *node)
 
Bool TY_❪nodeIsElement❫ (Node *node)
 
Bool TY_❪nodeIsHeader❫ (Node *node)
 
Bool TY_❪nodeIsText❫ (Node *node)
 
void TY_❪ResetTags❫ (TidyDocImpl *doc)
 

Variables

CheckAttribs TY_❪CheckAttributes❫
 
Parser TY_❪ParseBlock❫
 
Parser TY_❪ParseBody❫
 
Parser TY_❪ParseColGroup❫
 
Parser TY_❪ParseDatalist❫
 
Parser TY_❪ParseDefList❫
 
Parser TY_❪ParseEmpty❫
 
Parser TY_❪ParseFrameSet❫
 
Parser TY_❪ParseHead❫
 
Parser TY_❪ParseHTML❫
 
Parser TY_❪ParseInline❫
 
Parser TY_❪ParseList❫
 
Parser TY_❪ParseNamespace❫
 
Parser TY_❪ParseNoFrames❫
 
Parser TY_❪ParseOptGroup❫
 
Parser TY_❪ParsePre❫
 
Parser TY_❪ParseRowGroup❫
 
Parser TY_❪ParseRow❫
 
Parser TY_❪ParseScript❫
 
Parser TY_❪ParseSelect❫
 
Parser TY_❪ParseTableTag❫
 
Parser TY_❪ParseText❫
 
Parser TY_❪ParseTitle❫
 

Data Structure Documentation

struct _Dict
Data Fields
AttrVersion const * attrvers
CheckAttribs * chkattrs
TidyTagId id
uint model
tmbstr name
Dict * next
Parser * parser
uint versions
struct _DictHash
Data Fields
struct _DictHash * next
Dict const * tag
struct _TidyTagImpl
Data Fields
Dict * declared_tag_list
DictHash * hashtab[ELEMENT_HASH_SIZE]
Dict * xml_tags

Macro Definition Documentation

#define ELEMENT_HASH_LOOKUP   1
#define nodeIsA (   node)    TagIsId( node, TidyTag_A )
#define nodeIsACRONYM (   node)    TagIsId( node, TidyTag_ACRONYM )
#define nodeIsADDRESS (   node)    TagIsId( node, TidyTag_ADDRESS )
#define nodeIsAPPLET (   node)    TagIsId( node, TidyTag_APPLET )
#define nodeIsAREA (   node)    TagIsId( node, TidyTag_AREA )
#define nodeIsB (   node)    TagIsId( node, TidyTag_B )
#define nodeIsBASE (   node)    TagIsId( node, TidyTag_BASE )
#define nodeIsBASEFONT (   node)    TagIsId( node, TidyTag_BASEFONT )
#define nodeIsBIG (   node)    TagIsId( node, TidyTag_BIG )
#define nodeIsBLINK (   node)    TagIsId( node, TidyTag_BLINK )
#define nodeIsBLOCKQUOTE (   node)    TagIsId( node, TidyTag_BLOCKQUOTE )
#define nodeIsBODY (   node)    TagIsId( node, TidyTag_BODY )
#define nodeIsBR (   node)    TagIsId( node, TidyTag_BR )
#define nodeIsBUTTON (   node)    TagIsId( node, TidyTag_BUTTON )
#define nodeIsCANVAS (   node)    TagIsId( node, TidyTag_CANVAS )
#define nodeIsCAPTION (   node)    TagIsId( node, TidyTag_CAPTION )
#define nodeIsCENTER (   node)    TagIsId( node, TidyTag_CENTER )
#define nodeIsCOL (   node)    TagIsId( node, TidyTag_COL )
#define nodeIsCOLGROUP (   node)    TagIsId( node, TidyTag_COLGROUP )
#define nodeIsDATALIST (   node)    TagIsId( node, TidyTag_DATALIST )
#define nodeIsDD (   node)    TagIsId( node, TidyTag_DD )
#define nodeIsDEL (   node)    TagIsId( node, TidyTag_DEL )
#define nodeIsDIR (   node)    TagIsId( node, TidyTag_DIR )
#define nodeIsDIV (   node)    TagIsId( node, TidyTag_DIV )
#define nodeIsDL (   node)    TagIsId( node, TidyTag_DL )
#define nodeIsDT (   node)    TagIsId( node, TidyTag_DT )
#define nodeIsEM (   node)    TagIsId( node, TidyTag_EM )
#define nodeIsEMBED (   node)    TagIsId( node, TidyTag_EMBED )
#define nodeIsFONT (   node)    TagIsId( node, TidyTag_FONT )
#define nodeIsFORM (   node)    TagIsId( node, TidyTag_FORM )
#define nodeIsFRAME (   node)    TagIsId( node, TidyTag_FRAME )
#define nodeIsFRAMESET (   node)    TagIsId( node, TidyTag_FRAMESET )
#define nodeIsH1 (   node)    TagIsId( node, TidyTag_H1 )
#define nodeIsH2 (   node)    TagIsId( node, TidyTag_H2 )
#define nodeIsH3 (   node)    TagIsId( node, TidyTag_H3 )
#define nodeIsH4 (   node)    TagIsId( node, TidyTag_H4 )
#define nodeIsH5 (   node)    TagIsId( node, TidyTag_H5 )
#define nodeIsH6 (   node)    TagIsId( node, TidyTag_H6 )
#define nodeIsHEAD (   node)    TagIsId( node, TidyTag_HEAD )
#define nodeIsHR (   node)    TagIsId( node, TidyTag_HR )
#define nodeIsHTML (   node)    TagIsId( node, TidyTag_HTML )
#define nodeIsI (   node)    TagIsId( node, TidyTag_I )
#define nodeIsIFRAME (   node)    TagIsId( node, TidyTag_IFRAME )
#define nodeIsIMG (   node)    TagIsId( node, TidyTag_IMG )
#define nodeIsINPUT (   node)    TagIsId( node, TidyTag_INPUT )
#define nodeIsINS (   node)    TagIsId( node, TidyTag_INS )
#define nodeIsISINDEX (   node)    TagIsId( node, TidyTag_ISINDEX )
#define nodeIsLABEL (   node)    TagIsId( node, TidyTag_LABEL )
#define nodeIsLAYER (   node)    TagIsId( node, TidyTag_LAYER )
#define nodeIsLI (   node)    TagIsId( node, TidyTag_LI )
#define nodeIsLINK (   node)    TagIsId( node, TidyTag_LINK )
#define nodeIsLISTING (   node)    TagIsId( node, TidyTag_LISTING )
#define nodeIsMAIN (   node)    TagIsId( node, TidyTag_MAIN )
#define nodeIsMAP (   node)    TagIsId( node, TidyTag_MAP )
#define nodeIsMARQUEE (   node)    TagIsId( node, TidyTag_MARQUEE )
#define nodeIsMATHML (   node)    TagIsId( node, TidyTag_MATHML ) /* #130 MathML attr and entity fix! */
#define nodeIsMENU (   node)    TagIsId( node, TidyTag_MENU )
#define nodeIsMETA (   node)    TagIsId( node, TidyTag_META )
#define nodeIsNOBR (   node)    TagIsId( node, TidyTag_NOBR )
#define nodeIsNOFRAMES (   node)    TagIsId( node, TidyTag_NOFRAMES )
#define nodeIsNOSCRIPT (   node)    TagIsId( node, TidyTag_NOSCRIPT )
#define nodeIsOBJECT (   node)    TagIsId( node, TidyTag_OBJECT )
#define nodeIsOL (   node)    TagIsId( node, TidyTag_OL )
#define nodeIsOPTGROUP (   node)    TagIsId( node, TidyTag_OPTGROUP )
#define nodeIsOPTION (   node)    TagIsId( node, TidyTag_OPTION )
#define nodeIsP (   node)    TagIsId( node, TidyTag_P )
#define nodeIsPARAM (   node)    TagIsId( node, TidyTag_PARAM )
#define nodeIsPRE (   node)    TagIsId( node, TidyTag_PRE )
#define nodeIsPROGRESS (   node)    TagIsId( node, TidyTag_PROGRESS )
#define nodeIsQ (   node)    TagIsId( node, TidyTag_Q )
#define nodeIsS (   node)    TagIsId( node, TidyTag_S )
#define nodeIsSCRIPT (   node)    TagIsId( node, TidyTag_SCRIPT )
#define nodeIsSELECT (   node)    TagIsId( node, TidyTag_SELECT )
#define nodeIsSMALL (   node)    TagIsId( node, TidyTag_SMALL )
#define nodeIsSPACER (   node)    TagIsId( node, TidyTag_SPACER )
#define nodeIsSPAN (   node)    TagIsId( node, TidyTag_SPAN )
#define nodeIsSTRIKE (   node)    TagIsId( node, TidyTag_STRIKE )
#define nodeIsSTRONG (   node)    TagIsId( node, TidyTag_STRONG )
#define nodeIsSTYLE (   node)    TagIsId( node, TidyTag_STYLE )
#define nodeIsSUB (   node)    TagIsId( node, TidyTag_SUB )
#define nodeIsSUP (   node)    TagIsId( node, TidyTag_SUP )
#define nodeIsTABLE (   node)    TagIsId( node, TidyTag_TABLE )
#define nodeIsTD (   node)    TagIsId( node, TidyTag_TD )
#define nodeIsTEXTAREA (   node)    TagIsId( node, TidyTag_TEXTAREA )
#define nodeIsTH (   node)    TagIsId( node, TidyTag_TH )
#define nodeIsTITLE (   node)    TagIsId( node, TidyTag_TITLE )
#define nodeIsTR (   node)    TagIsId( node, TidyTag_TR )
#define nodeIsTT (   node)    TagIsId( node, TidyTag_TT )
#define nodeIsU (   node)    TagIsId( node, TidyTag_U )
#define nodeIsUL (   node)    TagIsId( node, TidyTag_UL )
#define nodeIsWBR (   node)    TagIsId( node, TidyTag_WBR )
#define nodeIsXMP (   node)    TagIsId( node, TidyTag_XMP )
#define nodesIsFRAME (   node)    TagIsId( node, TidyTag_FRAME )
#define TagId (   node)    ((node) && (node)->tag ? (node)->tag->id : TidyTag_UNKNOWN)
#define TagIsId (   node,
  tid 
)    ((node) && (node)->tag && (node)->tag->id == tid)

Typedef Documentation

typedef void( CheckAttribs)(TidyDocImpl *doc, Node *node)
typedef void( Parser)(TidyDocImpl *doc, Node *node, GetTokenMode mode)

Enumeration Type Documentation

anonymous enum
Enumerator
ELEMENT_HASH_SIZE 
Enumerator
tagtype_null 
tagtype_empty 
tagtype_inline 
tagtype_block 
tagtype_pre 

Function Documentation

void TY_❪AdjustTags❫ ( TidyDocImpl *  doc)
void TY_❪DefineTag❫ ( TidyDocImpl *  doc,
UserTagType  tagType,
ctmbstr  name 
)
Parser* TY_❪FindParser❫ ( TidyDocImpl *  doc,
Node *  node 
)
Bool TY_❪FindTag❫ ( TidyDocImpl *  doc,
Node *  node 
)
void TY_❪FreeDeclaredTags❫ ( TidyDocImpl *  doc,
UserTagType  tagType 
)
void TY_❪FreeTags❫ ( TidyDocImpl *  doc)
TidyIterator TY_❪GetDeclaredTagList❫ ( TidyDocImpl *  doc)
ctmbstr TY_❪GetNextDeclaredTag❫ ( TidyDocImpl *  doc,
UserTagType  tagType,
TidyIterator *  iter 
)
void TY_❪InitTags❫ ( TidyDocImpl *  doc)
Bool TY_❪IsHTML5Mode❫ ( TidyDocImpl *  doc)
const Dict* TY_❪LookupTagDef❫ ( TidyTagId  tid)
Bool TY_❪nodeCMIsBlock❫ ( Node *  node)
Bool TY_❪nodeCMIsEmpty❫ ( Node *  node)
Bool TY_❪nodeCMIsInline❫ ( Node *  node)
Bool TY_❪nodeHasCM❫ ( Node *  node,
uint  contentModel 
)
Bool TY_❪nodeHasText❫ ( TidyDocImpl *  doc,
Node *  node 
)
uint TY_❪nodeHeaderLevel❫ ( Node *  node)
Bool TY_❪nodeIsElement❫ ( Node *  node)
Bool TY_❪nodeIsHeader❫ ( Node *  node)
Bool TY_❪nodeIsText❫ ( Node *  node)
void TY_❪ResetTags❫ ( TidyDocImpl *  doc)

Variable Documentation

CheckAttribs TY_❪CheckAttributes❫
Parser TY_❪ParseBlock❫
Parser TY_❪ParseBody❫
Parser TY_❪ParseColGroup❫
Parser TY_❪ParseDatalist❫
Parser TY_❪ParseDefList❫
Parser TY_❪ParseEmpty❫
Parser TY_❪ParseFrameSet❫
Parser TY_❪ParseHead❫
Parser TY_❪ParseHTML❫
Parser TY_❪ParseInline❫
Parser TY_❪ParseList❫
Parser TY_❪ParseNamespace❫
Parser TY_❪ParseNoFrames❫
Parser TY_❪ParseOptGroup❫
Parser TY_❪ParsePre❫
Parser TY_❪ParseRowGroup❫
Parser TY_❪ParseRow❫
Parser TY_❪ParseScript❫
Parser TY_❪ParseSelect❫
Parser TY_❪ParseTableTag❫
Parser TY_❪ParseText❫
Parser TY_❪ParseTitle❫