Recognize HTML Tags.
The HTML tags are stored as 8 bit ASCII strings. Use lookupw() to find a tag given a wide char string.
tidy.h
for the complete license.Go to the source code of this file.
Data Structures | |
struct | Dict |
Defines a dictionary entry for a single Tidy tag, including all of the relevant information that it requires. More... | |
struct | DictHash |
This structure provide hash lookup for Tidy tags. More... | |
struct | TidyTagImpl |
This structure consists of the lists of all tags known to Tidy. More... | |
Variables | |
Parser Methods And Attribute Checker Functions for Tags | |
These functions define the parsers and attribute checking functions for each of Tidy's tags. | |
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❫ |
Basic Structures and Tag Operations. | |
These structures form the backbone of Tidy tag processing, and the functions in this group provide basic operations with tags and nodes. | |
enum | { ELEMENT_HASH_SIZE =178u } |
This enum indicates the maximum size of the has table for tag hash lookup. More... | |
typedef void() | CheckAttribs(TidyDocImpl *doc, Node *node) |
This typedef describes a function be be used to check the attributes of a Tidy tag. More... | |
typedef void() | Parser(TidyDocImpl *doc, Node *node, GetTokenMode mode) |
This typedef describes a function to be used to parse HTML of a Tidy tag. More... | |
void | TY_❪AdjustTags❫ (TidyDocImpl *doc) |
Tidy defaults to HTML5 mode. More... | |
void | TY_❪DeclareUserTag❫ (TidyDocImpl *doc, const TidyOptionImpl *opt, ctmbstr name) |
Coordinates Config update and Tags data. More... | |
void | TY_❪DefineTag❫ (TidyDocImpl *doc, UserTagType tagType, ctmbstr name) |
Defines a new user-defined tag. More... | |
Parser * | TY_❪FindParser❫ (TidyDocImpl *doc, Node *node) |
Finds the parser function for a given node. More... | |
Bool | TY_❪FindTag❫ (TidyDocImpl *doc, Node *node) |
Assigns the node's tag. More... | |
void | TY_❪FreeDeclaredTags❫ (TidyDocImpl *doc, UserTagType tagType) |
Frees user-defined tags of the given type, or all user tags in given tagtype_null . More... | |
void | TY_❪FreeTags❫ (TidyDocImpl *doc) |
Frees the tags and structures used by Tidy for tags. More... | |
TidyIterator | TY_❪GetDeclaredTagList❫ (TidyDocImpl *doc) |
Initiates an iterator for a list of user-declared tags, including autonomous custom tags detected in the document if TidyUseCustomTags is not set to no. More... | |
ctmbstr | TY_❪GetNextDeclaredTag❫ (TidyDocImpl *doc, UserTagType tagType, TidyIterator *iter) |
Given a valid TidyIterator initiated with TY_(GetDeclaredTagList)(), returns a string representing a user-declared or autonomous custom tag. More... | |
void | TY_❪InitTags❫ (TidyDocImpl *doc) |
Initializes tags and tag structures for the given Tidy document. More... | |
Bool | TY_❪IsHTML5Mode❫ (TidyDocImpl *doc) |
Indicates whether or not the Tidy is procesing in HTML5 mode. More... | |
const Dict * | TY_❪LookupTagDef❫ (TidyTagId tid) |
Interface for finding a tag by TidyTagId. More... | |
void | TY_❪ResetTags❫ (TidyDocImpl *doc) |
Reset the tags table back to default HTML5 mode. More... | |
enum | UserTagType { tagtype_null = 0, tagtype_empty = 1, tagtype_inline = 2, tagtype_block = 4, tagtype_pre = 8 } |
This enumeration defines the types of user-defined tags that can be created. More... | |
Other Tag and Node Lookup Functions | |
These functions perform additional lookup on tags and nodes. | |
#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 | nodeIsDATA(node) TagIsId( node, TidyTag_DATA ) |
#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) |
Gets the TidyTagId of the given node. More... | |
#define | TagIsId(node, tid) ((node) && (node)->tag && (node)->tag->id == tid) |
Determines if the given node is of the given tag id type. More... | |
Bool | TY_❪elementIsAutonomousCustomFormat❫ (ctmbstr element) |
Inquires whether the given element looks like it's an autonomous custom element tag. More... | |
Bool | TY_❪nodeCMIsBlock❫ (Node *node) |
Does the content model of the node include block? More... | |
Bool | TY_❪nodeCMIsEmpty❫ (Node *node) |
Does the content model of the node include empty? More... | |
Bool | TY_❪nodeCMIsInline❫ (Node *node) |
Does the content model of the node include inline? More... | |
Bool | TY_❪nodeHasCM❫ (Node *node, uint contentModel) |
Does the node have the indicated content model? True if any of the bits requested are set. More... | |
Bool | TY_❪nodeHasText❫ (TidyDocImpl *doc, Node *node) |
Inquires whether or not the given node has any text. More... | |
uint | TY_❪nodeHeaderLevel❫ (Node *node) |
Inquires as to the header level of the given node: 1, 2, ..., 6. More... | |
Bool | TY_❪nodeIsAutonomousCustomFormat❫ (Node *node) |
Inquires whether the given node looks like it's an autonomous custom element tag. More... | |
Bool | TY_❪nodeIsAutonomousCustomTag❫ (TidyDocImpl *doc, Node *node) |
True if the node looks like it's an autonomous custom element tag, and TidyCustomTags is not disabled, and we're in HTML5 mode, which are all requirements for valid autonomous custom tags. More... | |
Bool | TY_❪nodeIsElement❫ (Node *node) |
Inquires whether or not the given node is an element node. More... | |
Bool | TY_❪nodeIsHeader❫ (Node *node) |
Is the node a header, such as H1, H2, ..., H6? More... | |
Bool | TY_❪nodeIsText❫ (Node *node) |
Inquires whether or not the given node is a text node. More... | |