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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</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&nbsp;</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