![]()
|
Document Tree
Detailed DescriptionA parsed and, optionally, repaired document is represented by Tidy as a Tree, much like a W3C DOM. This tree may be traversed using these functions. The following snippet gives a basic idea how these functions can be used.
void dumpNode( TidyNode tnod, int indent ) { TidyNode child; for ( child = tidyGetChild(tnod); child; child = tidyGetNext(child) ) { ctmbstr name = tidyNodeGetName( child ); if ( !name ) { switch ( tidyNodeGetType(child) ) { case TidyNode_Root: name = "Root"; break; case TidyNode_DocType: name = "DOCTYPE"; break; case TidyNode_Comment: name = "Comment"; break; case TidyNode_ProcIns: name = "Processing Instruction"; break; case TidyNode_Text: name = "Text"; break; case TidyNode_CDATA: name = "CDATA"; break; case TidyNode_Section: name = "XML Section"; break; case TidyNode_Asp: name = "ASP"; break; case TidyNode_Jste: name = "JSTE"; break; case TidyNode_Php: name = "PHP"; break; case TidyNode_XmlDecl: name = "XML Declaration"; break; case TidyNode_Start: case TidyNode_End: case TidyNode_StartEnd: default: assert( name != NULL ); // Shouldn't get here break; } } assert( name != NULL ); printf( "%*.*sNode: %s\n", indent, indent, tidy ); dumpNode( child, indent + 4 ); } } void dumpDoc( TidyDoc tdoc ) { dumpNode( tidyGetRoot(tdoc), 0 ); } void dumpBody( TidyDoc tdoc ) { dumpNode( tidyGetBody(tdoc), 0 ); } Generated on Fri Dec 13 18:27:08 2002 for HTML Tidy by ![]() |