1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3<title>Document Tree</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5</head><body> 6<!-- Generated by Doxygen 1.2.17 --> 7<h1>Document Tree</h1><table border=0 cellpadding=0 cellspacing=0> 8<tr><td></td></tr> 9<tr><td colspan=2><br><h2>Functions</h2></td></tr> 10<tr><td nowrap align=right valign=top><a name="a0" doxytag="Tree::tidyGetRoot"></a> 11<a class="el" href="structTidyNode.html">TidyNode</a> </td><td valign=bottom><b>tidyGetRoot</b> (<a class="el" href="structTidyDoc.html">TidyDoc</a> tdoc)</td></tr> 12<tr><td nowrap align=right valign=top><a name="a1" doxytag="Tree::tidyGetHtml"></a> 13<a class="el" href="structTidyNode.html">TidyNode</a> </td><td valign=bottom><b>tidyGetHtml</b> (<a class="el" href="structTidyDoc.html">TidyDoc</a> tdoc)</td></tr> 14<tr><td nowrap align=right valign=top><a name="a2" doxytag="Tree::tidyGetHead"></a> 15<a class="el" href="structTidyNode.html">TidyNode</a> </td><td valign=bottom><b>tidyGetHead</b> (<a class="el" href="structTidyDoc.html">TidyDoc</a> tdoc)</td></tr> 16<tr><td nowrap align=right valign=top><a name="a3" doxytag="Tree::tidyGetBody"></a> 17<a class="el" href="structTidyNode.html">TidyNode</a> </td><td valign=bottom><b>tidyGetBody</b> (<a class="el" href="structTidyDoc.html">TidyDoc</a> tdoc)</td></tr> 18<tr><td nowrap align=right valign=top><a name="a4" doxytag="Tree::tidyGetParent"></a> 19<a class="el" href="structTidyNode.html">TidyNode</a> </td><td valign=bottom><b>tidyGetParent</b> (<a class="el" href="structTidyNode.html">TidyNode</a> tnod)</td></tr> 20<tr><td nowrap align=right valign=top><a name="a5" doxytag="Tree::tidyGetChild"></a> 21<a class="el" href="structTidyNode.html">TidyNode</a> </td><td valign=bottom><b>tidyGetChild</b> (<a class="el" href="structTidyNode.html">TidyNode</a> tnod)</td></tr> 22<tr><td nowrap align=right valign=top><a name="a6" doxytag="Tree::tidyGetNext"></a> 23<a class="el" href="structTidyNode.html">TidyNode</a> </td><td valign=bottom><b>tidyGetNext</b> (<a class="el" href="structTidyNode.html">TidyNode</a> tnod)</td></tr> 24<tr><td nowrap align=right valign=top><a name="a7" doxytag="Tree::tidyGetPrev"></a> 25<a class="el" href="structTidyNode.html">TidyNode</a> </td><td valign=bottom><b>tidyGetPrev</b> (<a class="el" href="structTidyNode.html">TidyNode</a> tnod)</td></tr> 26<tr><td nowrap align=right valign=top><a name="a8" doxytag="Tree::tidyAttrFirst"></a> 27<a class="el" href="structTidyAttr.html">TidyAttr</a> </td><td valign=bottom><b>tidyAttrFirst</b> (<a class="el" href="structTidyNode.html">TidyNode</a> tnod)</td></tr> 28<tr><td nowrap align=right valign=top><a name="a9" doxytag="Tree::tidyAttrNext"></a> 29<a class="el" href="structTidyAttr.html">TidyAttr</a> </td><td valign=bottom><b>tidyAttrNext</b> (<a class="el" href="structTidyAttr.html">TidyAttr</a> tattr)</td></tr> 30<tr><td nowrap align=right valign=top><a name="a10" doxytag="Tree::tidyAttrName"></a> 31ctmbstr </td><td valign=bottom><b>tidyAttrName</b> (<a class="el" href="structTidyAttr.html">TidyAttr</a> tattr)</td></tr> 32<tr><td nowrap align=right valign=top><a name="a11" doxytag="Tree::tidyAttrValue"></a> 33ctmbstr </td><td valign=bottom><b>tidyAttrValue</b> (<a class="el" href="structTidyAttr.html">TidyAttr</a> tattr)</td></tr> 34</table> 35<hr><a name="_details"></a><h2>Detailed Description</h2> 36A 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. 37<p> 38<pre> 39void dumpNode( TidyNode tnod, int indent ) 40{ 41 <a class="el" href="structTidyNode.html">TidyNode</a> child; 42 43 for ( child = tidyGetChild(tnod); child; child = tidyGetNext(child) ) 44 { 45 ctmbstr name = tidyNodeGetName( child ); 46 if ( !name ) 47 { 48 switch ( tidyNodeGetType(child) ) 49 { 50 case TidyNode_Root: name = "Root"; break; 51 case TidyNode_DocType: name = "DOCTYPE"; break; 52 case TidyNode_Comment: name = "Comment"; break; 53 case TidyNode_ProcIns: name = "Processing Instruction"; break; 54 case TidyNode_Text: name = "Text"; break; 55 case TidyNode_CDATA: name = "CDATA"; break; 56 case TidyNode_Section: name = "XML Section"; break; 57 case TidyNode_Asp: name = "ASP"; break; 58 case TidyNode_Jste: name = "JSTE"; break; 59 case TidyNode_Php: name = "PHP"; break; 60 case TidyNode_XmlDecl: name = "XML Declaration"; break; 61 62 case TidyNode_Start: 63 case TidyNode_End: 64 case TidyNode_StartEnd: 65 default: 66 assert( name != NULL ); // Shouldn't get here 67 break; 68 } 69 } 70 assert( name != NULL ); 71 printf( "%*.*sNode: %s\n", indent, indent, tidy ); 72 dumpNode( child, indent + 4 ); 73 } 74} 75 76void dumpDoc( TidyDoc tdoc ) 77{ 78 dumpNode( tidyGetRoot(tdoc), 0 ); 79} 80 81void dumpBody( TidyDoc tdoc ) 82{ 83 dumpNode( tidyGetBody(tdoc), 0 ); 84} 85</pre> <hr><address style="align: right;"><small>Generated on Fri Dec 13 18:27:08 2002 for HTML Tidy by 86<a href="http://www.doxygen.org/index.html"> 87<img src="doxygen.png" alt="doxygen" align="middle" border=0 88width=110 height=53></a>1.2.17 </small></address> 89</body> 90</html> 91