HTML Tidy 5.8.0
The HTACG Tidy HTML Project
 
Loading...
Searching...
No Matches
HTML Tags

Detailed Description

This module organizes all of Tidy's HTML tag operations, such as parsing tags, defining tags, and user-defined tags.

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...
 

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  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...
 
enum  { ELEMENT_HASH_SIZE =178u }
 This enum indicates the maximum size of the has table for tag hash lookup. 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.
 
typedef void CheckAttribs(TidyDocImpl *doc, Node *node)
 This typedef describes a function be be used to check the attributes of a Tidy tag.
 
TY_PRIVATE void TY_❪DeclareUserTag❫ (TidyDocImpl *doc, const TidyOptionImpl *opt, ctmbstr name)
 Coordinates Config update and Tags data.
 
TY_PRIVATE const Dict * TY_❪LookupTagDef❫ (TidyTagId tid)
 Interface for finding a tag by TidyTagId.
 
TY_PRIVATE Bool TY_❪FindTag❫ (TidyDocImpl *doc, Node *node)
 Assigns the node's tag.
 
TY_PRIVATE ParserTY_❪FindParser❫ (TidyDocImpl *doc, Node *node)
 Finds the parser function for a given node.
 
TY_PRIVATE void TY_❪DefineTag❫ (TidyDocImpl *doc, UserTagType tagType, ctmbstr name)
 Defines a new user-defined tag.
 
TY_PRIVATE void TY_❪FreeDeclaredTags❫ (TidyDocImpl *doc, UserTagType tagType)
 Frees user-defined tags of the given type, or all user tags in given tagtype_null.
 
TY_PRIVATE 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.
 
TY_PRIVATE 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.
 
TY_PRIVATE void TY_❪InitTags❫ (TidyDocImpl *doc)
 Initializes tags and tag structures for the given Tidy document.
 
TY_PRIVATE void TY_❪FreeTags❫ (TidyDocImpl *doc)
 Frees the tags and structures used by Tidy for tags.
 
TY_PRIVATE void TY_❪AdjustTags❫ (TidyDocImpl *doc)
 Tidy defaults to HTML5 mode.
 
TY_PRIVATE void TY_❪ResetTags❫ (TidyDocImpl *doc)
 Reset the tags table back to default HTML5 mode.
 
TY_PRIVATE Bool TY_❪IsHTML5Mode❫ (TidyDocImpl *doc)
 Indicates whether or not the Tidy is procesing in HTML5 mode.
 

Parser Methods And Attribute Checker Functions for Tags

These functions define the parsers and attribute checking functions for each of Tidy's tags.

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

Other Tag and Node Lookup Functions

These functions perform additional lookup on tags and nodes.

TY_PRIVATE Bool TY_❪nodeIsText❫ (Node *node)
 Inquires whether or not the given node is a text node.
 
TY_PRIVATE Bool TY_❪nodeIsElement❫ (Node *node)
 Inquires whether or not the given node is an element node.
 
TY_PRIVATE Bool TY_❪nodeHasText❫ (TidyDocImpl *doc, Node *node)
 Inquires whether or not the given node has any text.
 
TY_PRIVATE Bool TY_❪elementIsAutonomousCustomFormat❫ (ctmbstr element)
 Inquires whether the given element looks like it's an autonomous custom element tag.
 
TY_PRIVATE Bool TY_❪nodeIsAutonomousCustomFormat❫ (Node *node)
 Inquires whether the given node looks like it's an autonomous custom element tag.
 
TY_PRIVATE 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.
 
TY_PRIVATE Bool TY_❪nodeHasCM❫ (Node *node, uint contentModel)
 Does the node have the indicated content model? True if any of the bits requested are set.
 
TY_PRIVATE Bool TY_❪nodeCMIsBlock❫ (Node *node)
 Does the content model of the node include block?
 
TY_PRIVATE Bool TY_❪nodeCMIsInline❫ (Node *node)
 Does the content model of the node include inline?
 
TY_PRIVATE Bool TY_❪nodeCMIsEmpty❫ (Node *node)
 Does the content model of the node include empty?
 
TY_PRIVATE Bool TY_❪nodeIsHeader❫ (Node *node)
 Is the node a header, such as H1, H2, ..., H6?
 
TY_PRIVATE uint TY_❪nodeHeaderLevel❫ (Node *node)
 Inquires as to the header level of the given node: 1, 2, ..., 6.
 
#define TagId(node)
 Gets the TidyTagId of the given node.
 
#define TagIsId(node, tid)
 Determines if the given node is of the given tag id type.
 
#define nodeIsHTML(node)
 
#define nodeIsHEAD(node)
 
#define nodeIsTITLE(node)
 
#define nodeIsBASE(node)
 
#define nodeIsMETA(node)
 
#define nodeIsBODY(node)
 
#define nodeIsFRAMESET(node)
 
#define nodeIsFRAME(node)
 
#define nodeIsIFRAME(node)
 
#define nodeIsNOFRAMES(node)
 
#define nodeIsHR(node)
 
#define nodeIsH1(node)
 
#define nodeIsH2(node)
 
#define nodeIsPRE(node)
 
#define nodeIsLISTING(node)
 
#define nodeIsP(node)
 
#define nodeIsUL(node)
 
#define nodeIsOL(node)
 
#define nodeIsDL(node)
 
#define nodeIsDIR(node)
 
#define nodeIsLI(node)
 
#define nodeIsDT(node)
 
#define nodeIsDD(node)
 
#define nodeIsTABLE(node)
 
#define nodeIsCAPTION(node)
 
#define nodeIsTD(node)
 
#define nodeIsTH(node)
 
#define nodeIsTR(node)
 
#define nodeIsCOL(node)
 
#define nodeIsCOLGROUP(node)
 
#define nodeIsBR(node)
 
#define nodeIsA(node)
 
#define nodeIsLINK(node)
 
#define nodeIsB(node)
 
#define nodeIsI(node)
 
#define nodeIsSTRONG(node)
 
#define nodeIsEM(node)
 
#define nodeIsBIG(node)
 
#define nodeIsSMALL(node)
 
#define nodeIsPARAM(node)
 
#define nodeIsOPTION(node)
 
#define nodeIsOPTGROUP(node)
 
#define nodeIsIMG(node)
 
#define nodeIsMAP(node)
 
#define nodeIsAREA(node)
 
#define nodeIsNOBR(node)
 
#define nodeIsWBR(node)
 
#define nodeIsFONT(node)
 
#define nodeIsLAYER(node)
 
#define nodeIsSPACER(node)
 
#define nodeIsCENTER(node)
 
#define nodeIsSTYLE(node)
 
#define nodeIsSCRIPT(node)
 
#define nodeIsNOSCRIPT(node)
 
#define nodeIsFORM(node)
 
#define nodeIsTEXTAREA(node)
 
#define nodeIsBLOCKQUOTE(node)
 
#define nodeIsAPPLET(node)
 
#define nodeIsOBJECT(node)
 
#define nodeIsDIV(node)
 
#define nodeIsSPAN(node)
 
#define nodeIsINPUT(node)
 
#define nodeIsQ(node)
 
#define nodeIsLABEL(node)
 
#define nodeIsH3(node)
 
#define nodeIsH4(node)
 
#define nodeIsH5(node)
 
#define nodeIsH6(node)
 
#define nodeIsADDRESS(node)
 
#define nodeIsXMP(node)
 
#define nodeIsSELECT(node)
 
#define nodeIsBLINK(node)
 
#define nodeIsMARQUEE(node)
 
#define nodeIsEMBED(node)
 
#define nodeIsBASEFONT(node)
 
#define nodeIsISINDEX(node)
 
#define nodeIsS(node)
 
#define nodeIsSTRIKE(node)
 
#define nodeIsSUB(node)
 
#define nodeIsSUP(node)
 
#define nodeIsU(node)
 
#define nodeIsMENU(node)
 
#define nodeIsMAIN(node)
 
#define nodeIsBUTTON(node)
 
#define nodeIsCANVAS(node)
 
#define nodeIsPROGRESS(node)
 
#define nodeIsINS(node)
 
#define nodeIsDEL(node)
 
#define nodeIsSVG(node)
 
#define nodeIsDATALIST(node)
 
#define nodeIsDATA(node)
 
#define nodeIsMATHML(node)
 
#define nodeIsACRONYM(node)
 
#define nodesIsFRAME(node)
 
#define nodeIsTT(node)
 

Data Structure Documentation

◆ _Dict

struct _Dict

◆ DictHash

struct DictHash

◆ TidyTagImpl

struct TidyTagImpl

Macro Definition Documentation

◆ nodeIsA

#define nodeIsA ( node)
Value:
@ TidyTag_A
A.
Definition tidyenum.h:847
#define TagIsId(node, tid)
Determines if the given node is of the given tag id type.
Definition tags.h:270

◆ nodeIsACRONYM

#define nodeIsACRONYM ( node)
Value:
@ TidyTag_ACRONYM
ACRONYM.
Definition tidyenum.h:849

◆ nodeIsADDRESS

#define nodeIsADDRESS ( node)
Value:
@ TidyTag_ADDRESS
ADDRESS.
Definition tidyenum.h:850

◆ nodeIsAPPLET

#define nodeIsAPPLET ( node)
Value:
@ TidyTag_APPLET
APPLET.
Definition tidyenum.h:852

◆ nodeIsAREA

#define nodeIsAREA ( node)
Value:
@ TidyTag_AREA
AREA.
Definition tidyenum.h:853

◆ nodeIsB

#define nodeIsB ( node)
Value:
@ TidyTag_B
B.
Definition tidyenum.h:854

◆ nodeIsBASE

#define nodeIsBASE ( node)
Value:
@ TidyTag_BASE
BASE.
Definition tidyenum.h:855

◆ nodeIsBASEFONT

#define nodeIsBASEFONT ( node)
Value:
@ TidyTag_BASEFONT
BASEFONT.
Definition tidyenum.h:856

◆ nodeIsBIG

#define nodeIsBIG ( node)
Value:
@ TidyTag_BIG
BIG.
Definition tidyenum.h:859

◆ nodeIsBLINK

#define nodeIsBLINK ( node)
Value:
@ TidyTag_BLINK
BLINK.
Definition tidyenum.h:860

◆ nodeIsBLOCKQUOTE

#define nodeIsBLOCKQUOTE ( node)
Value:
@ TidyTag_BLOCKQUOTE
BLOCKQUOTE.
Definition tidyenum.h:861

◆ nodeIsBODY

#define nodeIsBODY ( node)
Value:
@ TidyTag_BODY
BODY.
Definition tidyenum.h:862

◆ nodeIsBR

#define nodeIsBR ( node)
Value:
@ TidyTag_BR
BR.
Definition tidyenum.h:863

◆ nodeIsBUTTON

#define nodeIsBUTTON ( node)
Value:
@ TidyTag_BUTTON
BUTTON.
Definition tidyenum.h:864

◆ nodeIsCANVAS

#define nodeIsCANVAS ( node)
Value:
@ TidyTag_CANVAS
CANVAS.
Definition tidyenum.h:974

◆ nodeIsCAPTION

#define nodeIsCAPTION ( node)
Value:
@ TidyTag_CAPTION
CAPTION.
Definition tidyenum.h:865

◆ nodeIsCENTER

#define nodeIsCENTER ( node)
Value:
@ TidyTag_CENTER
CENTER.
Definition tidyenum.h:866

◆ nodeIsCOL

#define nodeIsCOL ( node)
Value:
@ TidyTag_COL
COL.
Definition tidyenum.h:869

◆ nodeIsCOLGROUP

#define nodeIsCOLGROUP ( node)
Value:
@ TidyTag_COLGROUP
COLGROUP.
Definition tidyenum.h:870

◆ nodeIsDATA

#define nodeIsDATA ( node)
Value:
@ TidyTag_DATA
DATA.
Definition tidyenum.h:976

◆ nodeIsDATALIST

#define nodeIsDATALIST ( node)
Value:
@ TidyTag_DATALIST
DATALIST.
Definition tidyenum.h:977

◆ nodeIsDD

#define nodeIsDD ( node)
Value:
@ TidyTag_DD
DD.
Definition tidyenum.h:872

◆ nodeIsDEL

#define nodeIsDEL ( node)
Value:
@ TidyTag_DEL
DEL.
Definition tidyenum.h:873

◆ nodeIsDIR

#define nodeIsDIR ( node)
Value:
@ TidyTag_DIR
DIR.
Definition tidyenum.h:875

◆ nodeIsDIV

#define nodeIsDIV ( node)
Value:
@ TidyTag_DIV
DIF.
Definition tidyenum.h:876

◆ nodeIsDL

#define nodeIsDL ( node)
Value:
@ TidyTag_DL
DL.
Definition tidyenum.h:877

◆ nodeIsDT

#define nodeIsDT ( node)
Value:
@ TidyTag_DT
DT.
Definition tidyenum.h:878

◆ nodeIsEM

#define nodeIsEM ( node)
Value:
@ TidyTag_EM
EM.
Definition tidyenum.h:879

◆ nodeIsEMBED

#define nodeIsEMBED ( node)
Value:
@ TidyTag_EMBED
EMBED.
Definition tidyenum.h:880

◆ nodeIsFONT

#define nodeIsFONT ( node)
Value:
@ TidyTag_FONT
FONT.
Definition tidyenum.h:882

◆ nodeIsFORM

#define nodeIsFORM ( node)
Value:
@ TidyTag_FORM
FORM.
Definition tidyenum.h:883

◆ nodeIsFRAME

#define nodeIsFRAME ( node)
Value:
@ TidyTag_FRAME
FRAME.
Definition tidyenum.h:884

◆ nodeIsFRAMESET

#define nodeIsFRAMESET ( node)
Value:
@ TidyTag_FRAMESET
FRAMESET.
Definition tidyenum.h:885

◆ nodeIsH1

#define nodeIsH1 ( node)
Value:
@ TidyTag_H1
H1.
Definition tidyenum.h:886

◆ nodeIsH2

#define nodeIsH2 ( node)
Value:
@ TidyTag_H2
H2.
Definition tidyenum.h:887

◆ nodeIsH3

#define nodeIsH3 ( node)
Value:
@ TidyTag_H3
H3.
Definition tidyenum.h:888

◆ nodeIsH4

#define nodeIsH4 ( node)
Value:
@ TidyTag_H4
H4.
Definition tidyenum.h:889

◆ nodeIsH5

#define nodeIsH5 ( node)
Value:
@ TidyTag_H5
H5.
Definition tidyenum.h:890

◆ nodeIsH6

#define nodeIsH6 ( node)
Value:
@ TidyTag_H6
H6.
Definition tidyenum.h:891

◆ nodeIsHEAD

#define nodeIsHEAD ( node)
Value:
@ TidyTag_HEAD
HEAD.
Definition tidyenum.h:892

◆ nodeIsHR

#define nodeIsHR ( node)
Value:
@ TidyTag_HR
HR.
Definition tidyenum.h:893

◆ nodeIsHTML

#define nodeIsHTML ( node)
Value:
@ TidyTag_HTML
HTML.
Definition tidyenum.h:894

◆ nodeIsI

#define nodeIsI ( node)
Value:
@ TidyTag_I
I.
Definition tidyenum.h:895

◆ nodeIsIFRAME

#define nodeIsIFRAME ( node)
Value:
@ TidyTag_IFRAME
IFRAME.
Definition tidyenum.h:896

◆ nodeIsIMG

#define nodeIsIMG ( node)
Value:
@ TidyTag_IMG
IMG.
Definition tidyenum.h:898

◆ nodeIsINPUT

#define nodeIsINPUT ( node)
Value:
@ TidyTag_INPUT
INPUT.
Definition tidyenum.h:899

◆ nodeIsINS

#define nodeIsINS ( node)
Value:
@ TidyTag_INS
INS.
Definition tidyenum.h:900

◆ nodeIsISINDEX

#define nodeIsISINDEX ( node)
Value:
@ TidyTag_ISINDEX
ISINDEX.
Definition tidyenum.h:901

◆ nodeIsLABEL

#define nodeIsLABEL ( node)
Value:
@ TidyTag_LABEL
LABEL.
Definition tidyenum.h:904

◆ nodeIsLAYER

#define nodeIsLAYER ( node)
Value:
@ TidyTag_LAYER
LAYER.
Definition tidyenum.h:905

◆ nodeIsLI

#define nodeIsLI ( node)
Value:
@ TidyTag_LI
LI.
Definition tidyenum.h:907

◆ nodeIsLINK

#define nodeIsLINK ( node)
Value:
@ TidyTag_LINK
LINK.
Definition tidyenum.h:908

◆ nodeIsLISTING

#define nodeIsLISTING ( node)
Value:
@ TidyTag_LISTING
LISTING.
Definition tidyenum.h:909

◆ nodeIsMAIN

#define nodeIsMAIN ( node)
Value:
@ TidyTag_MAIN
MAIN.
Definition tidyenum.h:985

◆ nodeIsMAP

#define nodeIsMAP ( node)
Value:
@ TidyTag_MAP
MAP.
Definition tidyenum.h:910

◆ nodeIsMARQUEE

#define nodeIsMARQUEE ( node)
Value:
@ TidyTag_MARQUEE
MARQUEE.
Definition tidyenum.h:912

◆ nodeIsMATHML

#define nodeIsMATHML ( node)
Value:
TagIsId( node, TidyTag_MATHML ) /* #130 MathML attr and entity fix! */
@ TidyTag_MATHML
MATH (HTML5) [i_a]2 MathML embedded in [X]HTML.
Definition tidyenum.h:911

◆ nodeIsMENU

#define nodeIsMENU ( node)
Value:
@ TidyTag_MENU
MENU.
Definition tidyenum.h:913

◆ nodeIsMETA

#define nodeIsMETA ( node)
Value:
@ TidyTag_META
META.
Definition tidyenum.h:914

◆ nodeIsNOBR

#define nodeIsNOBR ( node)
Value:
@ TidyTag_NOBR
NOBR.
Definition tidyenum.h:916

◆ nodeIsNOFRAMES

#define nodeIsNOFRAMES ( node)
Value:
@ TidyTag_NOFRAMES
NOFRAMES.
Definition tidyenum.h:918

◆ nodeIsNOSCRIPT

#define nodeIsNOSCRIPT ( node)
Value:
@ TidyTag_NOSCRIPT
NOSCRIPT.
Definition tidyenum.h:921

◆ nodeIsOBJECT

#define nodeIsOBJECT ( node)
Value:
@ TidyTag_OBJECT
OBJECT.
Definition tidyenum.h:922

◆ nodeIsOL

#define nodeIsOL ( node)
Value:
@ TidyTag_OL
OL.
Definition tidyenum.h:923

◆ nodeIsOPTGROUP

#define nodeIsOPTGROUP ( node)
Value:
@ TidyTag_OPTGROUP
OPTGROUP.
Definition tidyenum.h:924

◆ nodeIsOPTION

#define nodeIsOPTION ( node)
Value:
@ TidyTag_OPTION
OPTION.
Definition tidyenum.h:925

◆ nodeIsP

#define nodeIsP ( node)
Value:
@ TidyTag_P
P.
Definition tidyenum.h:926

◆ nodeIsPARAM

#define nodeIsPARAM ( node)
Value:
@ TidyTag_PARAM
PARAM.
Definition tidyenum.h:927

◆ nodeIsPRE

#define nodeIsPRE ( node)
Value:
@ TidyTag_PRE
PRE.
Definition tidyenum.h:930

◆ nodeIsPROGRESS

#define nodeIsPROGRESS ( node)
Value:
@ TidyTag_PROGRESS
PROGRESS.
Definition tidyenum.h:991

◆ nodeIsQ

#define nodeIsQ ( node)
Value:
@ TidyTag_Q
Q.
Definition tidyenum.h:931

◆ nodeIsS

#define nodeIsS ( node)
Value:
@ TidyTag_S
S.
Definition tidyenum.h:938

◆ nodeIsSCRIPT

#define nodeIsSCRIPT ( node)
Value:
@ TidyTag_SCRIPT
SCRIPT.
Definition tidyenum.h:940

◆ nodeIsSELECT

#define nodeIsSELECT ( node)
Value:
@ TidyTag_SELECT
SELECT.
Definition tidyenum.h:941

◆ nodeIsSMALL

#define nodeIsSMALL ( node)
Value:
@ TidyTag_SMALL
SMALL.
Definition tidyenum.h:944

◆ nodeIsSPACER

#define nodeIsSPACER ( node)
Value:
@ TidyTag_SPACER
SPACER.
Definition tidyenum.h:945

◆ nodeIsSPAN

#define nodeIsSPAN ( node)
Value:
@ TidyTag_SPAN
SPAN.
Definition tidyenum.h:946

◆ nodeIsSTRIKE

#define nodeIsSTRIKE ( node)
Value:
@ TidyTag_STRIKE
STRIKE.
Definition tidyenum.h:947

◆ nodeIsSTRONG

#define nodeIsSTRONG ( node)
Value:
@ TidyTag_STRONG
STRONG.
Definition tidyenum.h:948

◆ nodeIsSTYLE

#define nodeIsSTYLE ( node)
Value:
@ TidyTag_STYLE
STYLE.
Definition tidyenum.h:949

◆ nodeIsSUB

#define nodeIsSUB ( node)
Value:
@ TidyTag_SUB
SUB.
Definition tidyenum.h:950

◆ nodeIsSUP

#define nodeIsSUP ( node)
Value:
@ TidyTag_SUP
SUP.
Definition tidyenum.h:951

◆ nodeIsSVG

#define nodeIsSVG ( node)
Value:
@ TidyTag_SVG
SVG (HTML5)
Definition tidyenum.h:952

◆ nodeIsTABLE

#define nodeIsTABLE ( node)
Value:
@ TidyTag_TABLE
TABLE.
Definition tidyenum.h:953

◆ nodeIsTD

#define nodeIsTD ( node)
Value:
@ TidyTag_TD
TD.
Definition tidyenum.h:955

◆ nodeIsTEXTAREA

#define nodeIsTEXTAREA ( node)
Value:
@ TidyTag_TEXTAREA
TEXTAREA.
Definition tidyenum.h:956

◆ nodeIsTH

#define nodeIsTH ( node)
Value:
@ TidyTag_TH
TH.
Definition tidyenum.h:958

◆ nodeIsTITLE

#define nodeIsTITLE ( node)
Value:
@ TidyTag_TITLE
TITLE.
Definition tidyenum.h:960

◆ nodeIsTR

#define nodeIsTR ( node)
Value:
@ TidyTag_TR
TR.
Definition tidyenum.h:961

◆ nodeIsTT

#define nodeIsTT ( node)
Value:
@ TidyTag_TT
TT.
Definition tidyenum.h:962

◆ nodeIsU

#define nodeIsU ( node)
Value:
@ TidyTag_U
U.
Definition tidyenum.h:963

◆ nodeIsUL

#define nodeIsUL ( node)
Value:
@ TidyTag_UL
UL.
Definition tidyenum.h:964

◆ nodeIsWBR

#define nodeIsWBR ( node)
Value:
@ TidyTag_WBR
WBR.
Definition tidyenum.h:966

◆ nodeIsXMP

#define nodeIsXMP ( node)
Value:
@ TidyTag_XMP
XMP.
Definition tidyenum.h:967

◆ nodesIsFRAME

#define nodesIsFRAME ( node)
Value:

◆ TagId

#define TagId ( node)
Value:
((node) && (node)->tag ? (node)->tag->id : TidyTag_UNKNOWN)
@ TidyTag_UNKNOWN
Unknown tag! Must be first.
Definition tidyenum.h:846

Gets the TidyTagId of the given node.

0 == TidyTag_UNKNOWN.

◆ TagIsId

#define TagIsId ( node,
tid )
Value:
((node) && (node)->tag && (node)->tag->id == tid)

Determines if the given node is of the given tag id type.

Typedef Documentation

◆ CheckAttribs

typedef void CheckAttribs(TidyDocImpl *doc, Node *node)

This typedef describes a function be be used to check the attributes of a Tidy tag.

◆ Parser

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

This typedef describes a function to be used to parse HTML of a Tidy tag.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

This enum indicates the maximum size of the has table for tag hash lookup.

Enumerator
ELEMENT_HASH_SIZE 

Maximum number of tags in the hash table.

◆ UserTagType

This enumeration defines the types of user-defined tags that can be created.

Enumerator
tagtype_null 

First item marker.

tagtype_empty 

Tag is an empty element.

tagtype_inline 

Tag is an inline element.

tagtype_block 

Tag is a block level element.

tagtype_pre 

Tag is a preformatted tag.

Function Documentation

◆ TY_❪AdjustTags❫()

TY_PRIVATE void TY_❪AdjustTags❫ ( TidyDocImpl * doc)

Tidy defaults to HTML5 mode.

If the <!DOCTYPE ...> is found to NOT be HTML5, then adjust the tags table to HTML4 mode.

Parameters
docThe Tidy document.

◆ TY_❪DeclareUserTag❫()

TY_PRIVATE void TY_❪DeclareUserTag❫ ( TidyDocImpl * doc,
const TidyOptionImpl * opt,
ctmbstr name )

Coordinates Config update and Tags data.

Parameters
docThe Tidy document.
optThe option the tag is intended for.
nameThe name of the new tag.

◆ TY_❪DefineTag❫()

TY_PRIVATE void TY_❪DefineTag❫ ( TidyDocImpl * doc,
UserTagType tagType,
ctmbstr name )

Defines a new user-defined tag.

Parameters
docThe Tidy document.
tagTypeThe type of user-defined tag to define.
nameThe name of the new tag.

◆ TY_❪elementIsAutonomousCustomFormat❫()

TY_PRIVATE Bool TY_❪elementIsAutonomousCustomFormat❫ ( ctmbstr element)

Inquires whether the given element looks like it's an autonomous custom element tag.

Parameters
elementA string to be checked.
Returns
The status of the inquiry.

◆ TY_❪FindParser❫()

TY_PRIVATE Parser * TY_❪FindParser❫ ( TidyDocImpl * doc,
Node * node )

Finds the parser function for a given node.

Parameters
docThe Tidy document.
nodeThe node to lookup.
Returns
The parser for the given node.

◆ TY_❪FindTag❫()

TY_PRIVATE Bool TY_❪FindTag❫ ( TidyDocImpl * doc,
Node * node )

Assigns the node's tag.

Parameters
docThe Tidy document.
nodeThe node to assign the tag to.
Returns
Returns a bool indicating whether or not the tag was assigned.

◆ TY_❪FreeDeclaredTags❫()

TY_PRIVATE void TY_❪FreeDeclaredTags❫ ( TidyDocImpl * doc,
UserTagType tagType )

Frees user-defined tags of the given type, or all user tags in given tagtype_null.

Parameters
docThe Tidy document.
tagTypeThe type of tag to free, or tagtype_null to free all user-defined tags.

◆ TY_❪FreeTags❫()

TY_PRIVATE void TY_❪FreeTags❫ ( TidyDocImpl * doc)

Frees the tags and structures used by Tidy for tags.

Parameters
docThe Tidy document.

◆ TY_❪GetDeclaredTagList❫()

TY_PRIVATE 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.

Parameters
docAn instance of a TidyDocImp to query.
Returns
Returns a TidyIterator, which is a token used to represent the current position in a list within LibTidy.

◆ TY_❪GetNextDeclaredTag❫()

TY_PRIVATE 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.

Remarks
Specifying tagType limits the scope of the tags to one of UserTagType types. Note that autonomous custom tags (if used) are added to one of these option types, depending on the value of TidyUseCustomTags.
Parameters
docThe Tidy document.
tagTypeThe type of tag to iterate through.
iterThe iterator token provided initially by TY_(GetDeclaredTagList)().
Returns
A string containing the next tag.

◆ TY_❪InitTags❫()

TY_PRIVATE void TY_❪InitTags❫ ( TidyDocImpl * doc)

Initializes tags and tag structures for the given Tidy document.

Parameters
docThe Tidy document.

◆ TY_❪IsHTML5Mode❫()

TY_PRIVATE Bool TY_❪IsHTML5Mode❫ ( TidyDocImpl * doc)

Indicates whether or not the Tidy is procesing in HTML5 mode.

Parameters
docThe Tidy document.
Returns
Returns yes if processing in HTML5 mode.

◆ TY_❪LookupTagDef❫()

TY_PRIVATE const Dict * TY_❪LookupTagDef❫ ( TidyTagId tid)

Interface for finding a tag by TidyTagId.

Parameters
tidThe TidyTagId to search for.
Returns
An instance of a Tidy tag.

◆ TY_❪nodeCMIsBlock❫()

TY_PRIVATE Bool TY_❪nodeCMIsBlock❫ ( Node * node)

Does the content model of the node include block?

Parameters
nodeThe node being interrogated.
Returns
The status of the inquiry.

◆ TY_❪nodeCMIsEmpty❫()

TY_PRIVATE Bool TY_❪nodeCMIsEmpty❫ ( Node * node)

Does the content model of the node include empty?

Parameters
nodeThe node being interrogated.
Returns
The status of the inquiry.

◆ TY_❪nodeCMIsInline❫()

TY_PRIVATE Bool TY_❪nodeCMIsInline❫ ( Node * node)

Does the content model of the node include inline?

Parameters
nodeThe node being interrogated.
Returns
The status of the inquiry.

◆ TY_❪nodeHasCM❫()

TY_PRIVATE Bool TY_❪nodeHasCM❫ ( Node * node,
uint contentModel )

Does the node have the indicated content model? True if any of the bits requested are set.

Parameters
nodeThe node being interrogated.
contentModelThe content model to check against.
Returns
The status of the inquiry.

◆ TY_❪nodeHasText❫()

TY_PRIVATE Bool TY_❪nodeHasText❫ ( TidyDocImpl * doc,
Node * node )

Inquires whether or not the given node has any text.

Parameters
docThe Tidy document.
nodeThe node being interrogated.
Returns
The status of the inquiry.

◆ TY_❪nodeHeaderLevel❫()

TY_PRIVATE uint TY_❪nodeHeaderLevel❫ ( Node * node)

Inquires as to the header level of the given node: 1, 2, ..., 6.

Parameters
nodeThe node being interrogated.
Returns
The header level.

◆ TY_❪nodeIsAutonomousCustomFormat❫()

TY_PRIVATE Bool TY_❪nodeIsAutonomousCustomFormat❫ ( Node * node)

Inquires whether the given node looks like it's an autonomous custom element tag.

Parameters
nodeThe node being interrogated.
Returns
The status of the inquiry.

◆ TY_❪nodeIsAutonomousCustomTag❫()

TY_PRIVATE 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.

Parameters
docThe Tidy document.
nodeThe node being interrogated.
Returns
The status of the inquiry.

◆ TY_❪nodeIsElement❫()

TY_PRIVATE Bool TY_❪nodeIsElement❫ ( Node * node)

Inquires whether or not the given node is an element node.

Parameters
nodeThe node being interrogated.
Returns
The status of the inquiry.

◆ TY_❪nodeIsHeader❫()

TY_PRIVATE Bool TY_❪nodeIsHeader❫ ( Node * node)

Is the node a header, such as H1, H2, ..., H6?

Parameters
nodeThe node being interrogated.
Returns
The status of the inquiry.

◆ TY_❪nodeIsText❫()

TY_PRIVATE Bool TY_❪nodeIsText❫ ( Node * node)

Inquires whether or not the given node is a text node.

Parameters
nodeThe node being interrogated.
Returns
The status of the inquiry.

◆ TY_❪ResetTags❫()

TY_PRIVATE void TY_❪ResetTags❫ ( TidyDocImpl * doc)

Reset the tags table back to default HTML5 mode.

Parameters
docThe Tidy document.

Variable Documentation

◆ TY_❪CheckAttributes❫

TY_PRIVATE CheckAttribs TY_❪CheckAttributes❫

◆ TY_❪ParseBlock❫

TY_PRIVATE Parser TY_❪ParseBlock❫

◆ TY_❪ParseBody❫

TY_PRIVATE Parser TY_❪ParseBody❫

◆ TY_❪ParseColGroup❫

TY_PRIVATE Parser TY_❪ParseColGroup❫

◆ TY_❪ParseDatalist❫

TY_PRIVATE Parser TY_❪ParseDatalist❫

◆ TY_❪ParseDefList❫

TY_PRIVATE Parser TY_❪ParseDefList❫

◆ TY_❪ParseEmpty❫

TY_PRIVATE Parser TY_❪ParseEmpty❫

◆ TY_❪ParseFrameSet❫

TY_PRIVATE Parser TY_❪ParseFrameSet❫

◆ TY_❪ParseHead❫

TY_PRIVATE Parser TY_❪ParseHead❫

◆ TY_❪ParseHTML❫

TY_PRIVATE Parser TY_❪ParseHTML❫

◆ TY_❪ParseInline❫

TY_PRIVATE Parser TY_❪ParseInline❫

◆ TY_❪ParseList❫

TY_PRIVATE Parser TY_❪ParseList❫

◆ TY_❪ParseNamespace❫

TY_PRIVATE Parser TY_❪ParseNamespace❫

◆ TY_❪ParseNoFrames❫

TY_PRIVATE Parser TY_❪ParseNoFrames❫

◆ TY_❪ParseOptGroup❫

TY_PRIVATE Parser TY_❪ParseOptGroup❫

◆ TY_❪ParsePre❫

TY_PRIVATE Parser TY_❪ParsePre❫

◆ TY_❪ParseRowGroup❫

TY_PRIVATE Parser TY_❪ParseRowGroup❫

◆ TY_❪ParseRow❫

TY_PRIVATE Parser TY_❪ParseRow❫

◆ TY_❪ParseScript❫

TY_PRIVATE Parser TY_❪ParseScript❫

◆ TY_❪ParseSelect❫

TY_PRIVATE Parser TY_❪ParseSelect❫

◆ TY_❪ParseTableTag❫

TY_PRIVATE Parser TY_❪ParseTableTag❫

◆ TY_❪ParseText❫

TY_PRIVATE Parser TY_❪ParseText❫

◆ TY_❪ParseTitle❫

TY_PRIVATE Parser TY_❪ParseTitle❫