You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@corinthia.apache.org by ja...@apache.org on 2015/08/13 11:32:17 UTC

[04/17] incubator-corinthia git commit: third go at gettting Release doc (licensing) correct

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/51e3fddd/DocFormats/platform/3rdparty/w3c-tidy-html5/htmldoc/api/tidy_8h_source.html
----------------------------------------------------------------------
diff --git a/DocFormats/platform/3rdparty/w3c-tidy-html5/htmldoc/api/tidy_8h_source.html b/DocFormats/platform/3rdparty/w3c-tidy-html5/htmldoc/api/tidy_8h_source.html
deleted file mode 100644
index 64948f8..0000000
--- a/DocFormats/platform/3rdparty/w3c-tidy-html5/htmldoc/api/tidy_8h_source.html
+++ /dev/null
@@ -1,1177 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>HTML Tidy: tidy.h Source File</title>
-
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
-  $(document).ready(initResizable);
-</script>
-
-
-</head>
-<body>
-<div id="top"><!-- do not remove this div! -->
-
-
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  
-  
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">HTML Tidy
-   &#160;<span id="projectnumber">0.1</span>
-   </div>
-   
-  </td>
-  
-  
-  
-   
-  
- </tr>
- </tbody>
-</table>
-</div>
-
-<!-- Generated by Doxygen 1.8.0 -->
-</div>
-<div id="side-nav" class="ui-resizable side-nav-resizable">
-  <div id="nav-tree">
-    <div id="nav-tree-contents">
-    </div>
-  </div>
-  <div id="splitbar" style="-moz-user-select:none;" 
-       class="ui-resizable-handle">
-  </div>
-</div>
-<script type="text/javascript">
-  initNavTree('tidy_8h.html','');
-</script>
-<div id="doc-content">
-<div class="header">
-  <div class="headertitle">
-<div class="title">tidy.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="tidy_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TIDY_H__</span>
-<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TIDY_H__</span>
-<a name="l00003"></a>00003 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00004"></a>00004 <span class="comment">/** @file tidy.h - Defines HTML Tidy API implemented by tidy library.</span>
-<a name="l00005"></a>00005 <span class="comment"></span>
-<a name="l00006"></a>00006 <span class="comment">  Public interface is const-correct and doesn&#39;t explicitly depend</span>
-<a name="l00007"></a>00007 <span class="comment">  on any globals.  Thus, thread-safety may be introduced w/out</span>
-<a name="l00008"></a>00008 <span class="comment">  changing the interface.</span>
-<a name="l00009"></a>00009 <span class="comment"></span>
-<a name="l00010"></a>00010 <span class="comment">  Looking ahead to a C++ wrapper, C functions always pass </span>
-<a name="l00011"></a>00011 <span class="comment">  this-equivalent as 1st arg.</span>
-<a name="l00012"></a>00012 <span class="comment"></span>
-<a name="l00013"></a>00013 <span class="comment"></span>
-<a name="l00014"></a>00014 <span class="comment">  Copyright (c) 1998-2008 World Wide Web Consortium</span>
-<a name="l00015"></a>00015 <span class="comment">  (Massachusetts Institute of Technology, European Research </span>
-<a name="l00016"></a>00016 <span class="comment">  Consortium for Informatics and Mathematics, Keio University).</span>
-<a name="l00017"></a>00017 <span class="comment">  All Rights Reserved.</span>
-<a name="l00018"></a>00018 <span class="comment"></span>
-<a name="l00019"></a>00019 <span class="comment">  CVS Info :</span>
-<a name="l00020"></a>00020 <span class="comment"></span>
-<a name="l00021"></a>00021 <span class="comment">    $Author: arnaud02 $ </span>
-<a name="l00022"></a>00022 <span class="comment">    $Date: 2008/04/22 11:00:42 $ </span>
-<a name="l00023"></a>00023 <span class="comment">    $Revision: 1.22 $ </span>
-<a name="l00024"></a>00024 <span class="comment"></span>
-<a name="l00025"></a>00025 <span class="comment">  Contributing Author(s):</span>
-<a name="l00026"></a>00026 <span class="comment"></span>
-<a name="l00027"></a>00027 <span class="comment">     Dave Raggett &lt;dsr@w3.org&gt;</span>
-<a name="l00028"></a>00028 <span class="comment"></span>
-<a name="l00029"></a>00029 <span class="comment">  The contributing author(s) would like to thank all those who</span>
-<a name="l00030"></a>00030 <span class="comment">  helped with testing, bug fixes and suggestions for improvements. </span>
-<a name="l00031"></a>00031 <span class="comment">  This wouldn&#39;t have been possible without your help.</span>
-<a name="l00032"></a>00032 <span class="comment"></span>
-<a name="l00033"></a>00033 <span class="comment">  COPYRIGHT NOTICE:</span>
-<a name="l00034"></a>00034 <span class="comment"> </span>
-<a name="l00035"></a>00035 <span class="comment">  This software and documentation is provided &quot;as is,&quot; and</span>
-<a name="l00036"></a>00036 <span class="comment">  the copyright holders and contributing author(s) make no</span>
-<a name="l00037"></a>00037 <span class="comment">  representations or warranties, express or implied, including</span>
-<a name="l00038"></a>00038 <span class="comment">  but not limited to, warranties of merchantability or fitness</span>
-<a name="l00039"></a>00039 <span class="comment">  for any particular purpose or that the use of the software or</span>
-<a name="l00040"></a>00040 <span class="comment">  documentation will not infringe any third party patents,</span>
-<a name="l00041"></a>00041 <span class="comment">  copyrights, trademarks or other rights. </span>
-<a name="l00042"></a>00042 <span class="comment"></span>
-<a name="l00043"></a>00043 <span class="comment">  The copyright holders and contributing author(s) will not be held</span>
-<a name="l00044"></a>00044 <span class="comment">  liable for any direct, indirect, special or consequential damages</span>
-<a name="l00045"></a>00045 <span class="comment">  arising out of any use of the software or documentation, even if</span>
-<a name="l00046"></a>00046 <span class="comment">  advised of the possibility of such damage.</span>
-<a name="l00047"></a>00047 <span class="comment"></span>
-<a name="l00048"></a>00048 <span class="comment">  Permission is hereby granted to use, copy, modify, and distribute</span>
-<a name="l00049"></a>00049 <span class="comment">  this source code, or portions hereof, documentation and executables,</span>
-<a name="l00050"></a>00050 <span class="comment">  for any purpose, without fee, subject to the following restrictions:</span>
-<a name="l00051"></a>00051 <span class="comment"></span>
-<a name="l00052"></a>00052 <span class="comment">  1. The origin of this source code must not be misrepresented.</span>
-<a name="l00053"></a>00053 <span class="comment">  2. Altered versions must be plainly marked as such and must</span>
-<a name="l00054"></a>00054 <span class="comment">     not be misrepresented as being the original source.</span>
-<a name="l00055"></a>00055 <span class="comment">  3. This Copyright notice may not be removed or altered from any</span>
-<a name="l00056"></a>00056 <span class="comment">     source or altered source distribution.</span>
-<a name="l00057"></a>00057 <span class="comment"> </span>
-<a name="l00058"></a>00058 <span class="comment">  The copyright holders and contributing author(s) specifically</span>
-<a name="l00059"></a>00059 <span class="comment">  permit, without fee, and encourage the use of this source code</span>
-<a name="l00060"></a>00060 <span class="comment">  as a component for supporting the Hypertext Markup Language in</span>
-<a name="l00061"></a>00061 <span class="comment">  commercial products. If you use this source code in a product,</span>
-<a name="l00062"></a>00062 <span class="comment">  acknowledgment is not required but would be appreciated.</span>
-<a name="l00063"></a>00063 <span class="comment"></span>
-<a name="l00064"></a>00064 <span class="comment"></span>
-<a name="l00065"></a>00065 <span class="comment">  Created 2001-05-20 by Charles Reitzel</span>
-<a name="l00066"></a>00066 <span class="comment">  Updated 2002-07-01 by Charles Reitzel - 1st Implementation</span>
-<a name="l00067"></a>00067 <span class="comment"></span>
-<a name="l00068"></a>00068 <span class="comment">*/</span>
-<a name="l00069"></a>00069 
-<a name="l00070"></a>00070 <span class="preprocessor">#include &quot;platform.h&quot;</span>
-<a name="l00071"></a>00071 <span class="preprocessor">#include &quot;tidyenum.h&quot;</span>
-<a name="l00072"></a>00072 
-<a name="l00073"></a>00073 <span class="preprocessor">#ifdef __cplusplus</span>
-<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
-<a name="l00075"></a>00075 <span class="preprocessor">#endif</span>
-<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00077"></a>00077 <span class="comment">/** @defgroup Opaque Opaque Types</span>
-<a name="l00078"></a>00078 <span class="comment">**</span>
-<a name="l00079"></a>00079 <span class="comment">** Cast to implementation types within lib.</span>
-<a name="l00080"></a>00080 <span class="comment">** Reduces inter-dependencies/conflicts w/ application code.</span>
-<a name="l00081"></a>00081 <span class="comment">** @{</span>
-<a name="l00082"></a>00082 <span class="comment">*/</span>
-<a name="l00083"></a>00083 <span class="comment"></span>
-<a name="l00084"></a>00084 <span class="comment">/** @struct TidyDoc</span>
-<a name="l00085"></a>00085 <span class="comment">**  Opaque document datatype</span>
-<a name="l00086"></a>00086 <span class="comment">*/</span>
-<a name="l00087"></a>00087 opaque_type( <a class="code" href="structTidyDoc.html">TidyDoc</a> );
-<a name="l00088"></a>00088 <span class="comment"></span>
-<a name="l00089"></a>00089 <span class="comment">/** @struct TidyOption</span>
-<a name="l00090"></a>00090 <span class="comment">**  Opaque option datatype</span>
-<a name="l00091"></a>00091 <span class="comment">*/</span>
-<a name="l00092"></a>00092 opaque_type( <a class="code" href="structTidyOption.html">TidyOption</a> );
-<a name="l00093"></a>00093 <span class="comment"></span>
-<a name="l00094"></a>00094 <span class="comment">/** @struct TidyNode</span>
-<a name="l00095"></a>00095 <span class="comment">**  Opaque node datatype</span>
-<a name="l00096"></a>00096 <span class="comment">*/</span>
-<a name="l00097"></a>00097 opaque_type( <a class="code" href="structTidyNode.html">TidyNode</a> );
-<a name="l00098"></a>00098 <span class="comment"></span>
-<a name="l00099"></a>00099 <span class="comment">/** @struct TidyAttr</span>
-<a name="l00100"></a>00100 <span class="comment">**  Opaque attribute datatype</span>
-<a name="l00101"></a>00101 <span class="comment">*/</span>
-<a name="l00102"></a>00102 opaque_type( <a class="code" href="structTidyAttr.html">TidyAttr</a> );
-<a name="l00103"></a>00103 <span class="comment"></span>
-<a name="l00104"></a>00104 <span class="comment">/** @} end Opaque group */</span>
-<a name="l00105"></a>00105 
-<a name="l00106"></a>00106 TIDY_STRUCT <span class="keyword">struct </span><a class="code" href="struct__TidyBuffer.html">_TidyBuffer</a>;
-<a name="l00107"></a>00107 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__TidyBuffer.html">_TidyBuffer</a> <a class="code" href="struct__TidyBuffer.html">TidyBuffer</a>;
-<a name="l00108"></a>00108 
-<a name="l00109"></a>00109 <span class="comment"></span>
-<a name="l00110"></a>00110 <span class="comment">/** @defgroup Memory  Memory Allocation</span>
-<a name="l00111"></a>00111 <span class="comment">**</span>
-<a name="l00112"></a>00112 <span class="comment">** Tidy uses a user provided allocator for all</span>
-<a name="l00113"></a>00113 <span class="comment">** memory allocations.  If this allocator is</span>
-<a name="l00114"></a>00114 <span class="comment">** not provided, then a default allocator is</span>
-<a name="l00115"></a>00115 <span class="comment">** used which simply wraps standard C malloc/free</span>
-<a name="l00116"></a>00116 <span class="comment">** calls.  These wrappers call the panic function</span>
-<a name="l00117"></a>00117 <span class="comment">** upon any failure.  The default panic function</span>
-<a name="l00118"></a>00118 <span class="comment">** prints an out of memory message to stderr, and</span>
-<a name="l00119"></a>00119 <span class="comment">** calls exit(2).</span>
-<a name="l00120"></a>00120 <span class="comment">**</span>
-<a name="l00121"></a>00121 <span class="comment">** For applications in which it is unacceptable to</span>
-<a name="l00122"></a>00122 <span class="comment">** abort in the case of memory allocation, then the</span>
-<a name="l00123"></a>00123 <span class="comment">** panic function can be replaced with one which</span>
-<a name="l00124"></a>00124 <span class="comment">** longjmps() out of the tidy code.  For this to</span>
-<a name="l00125"></a>00125 <span class="comment">** clean up completely, you should be careful not</span>
-<a name="l00126"></a>00126 <span class="comment">** to use any tidy methods that open files as these</span>
-<a name="l00127"></a>00127 <span class="comment">** will not be closed before panic() is called.</span>
-<a name="l00128"></a>00128 <span class="comment">**</span>
-<a name="l00129"></a>00129 <span class="comment">** TODO: associate file handles with tidyDoc and</span>
-<a name="l00130"></a>00130 <span class="comment">** ensure that tidyDocRelease() can close them all.</span>
-<a name="l00131"></a>00131 <span class="comment">**</span>
-<a name="l00132"></a>00132 <span class="comment">** Calling the withAllocator() family (</span>
-<a name="l00133"></a>00133 <span class="comment">** tidyCreateWithAllocator, tidyBufInitWithAllocator,</span>
-<a name="l00134"></a>00134 <span class="comment">** tidyBufAllocWithAllocator) allow settings custom</span>
-<a name="l00135"></a>00135 <span class="comment">** allocators).</span>
-<a name="l00136"></a>00136 <span class="comment">**</span>
-<a name="l00137"></a>00137 <span class="comment">** All parts of the document use the same allocator.</span>
-<a name="l00138"></a>00138 <span class="comment">** Calls that require a user provided buffer can</span>
-<a name="l00139"></a>00139 <span class="comment">** optionally use a different allocator.</span>
-<a name="l00140"></a>00140 <span class="comment">**</span>
-<a name="l00141"></a>00141 <span class="comment">** For reference in designing a plug-in allocator,</span>
-<a name="l00142"></a>00142 <span class="comment">** most allocations made by tidy are less than 100</span>
-<a name="l00143"></a>00143 <span class="comment">** bytes, corresponding to attribute names/values, etc.</span>
-<a name="l00144"></a>00144 <span class="comment">**</span>
-<a name="l00145"></a>00145 <span class="comment">** There is also an additional class of much larger</span>
-<a name="l00146"></a>00146 <span class="comment">** allocations which are where most of the data from</span>
-<a name="l00147"></a>00147 <span class="comment">** the lexer is stored.  (It is not currently possible</span>
-<a name="l00148"></a>00148 <span class="comment">** to use a separate allocator for the lexer, this</span>
-<a name="l00149"></a>00149 <span class="comment">** would be a useful extension).</span>
-<a name="l00150"></a>00150 <span class="comment">**</span>
-<a name="l00151"></a>00151 <span class="comment">** In general, approximately 1/3rd of the memory</span>
-<a name="l00152"></a>00152 <span class="comment">** used by tidy is freed during the parse, so if</span>
-<a name="l00153"></a>00153 <span class="comment">** memory usage is an issue then an allocator that </span>
-<a name="l00154"></a>00154 <span class="comment">** can reuse this memory is a good idea.</span>
-<a name="l00155"></a>00155 <span class="comment">**</span>
-<a name="l00156"></a>00156 <span class="comment">** @{</span>
-<a name="l00157"></a>00157 <span class="comment">*/</span>
-<a name="l00158"></a>00158 <span class="comment"></span>
-<a name="l00159"></a>00159 <span class="comment">/** Prototype for the allocator&#39;s function table */</span>
-<a name="l00160"></a>00160 <span class="keyword">struct </span><a class="code" href="struct__TidyAllocatorVtbl.html">_TidyAllocatorVtbl</a>;<span class="comment"></span>
-<a name="l00161"></a>00161 <span class="comment">/** The allocators function table */</span>
-<a name="l00162"></a><a class="code" href="group__Memory.html#ga3fe8c5ac7d658618c732565776940ed8">00162</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__TidyAllocatorVtbl.html">_TidyAllocatorVtbl</a> <a class="code" href="struct__TidyAllocatorVtbl.html">TidyAllocatorVtbl</a>;
-<a name="l00163"></a>00163 <span class="comment"></span>
-<a name="l00164"></a>00164 <span class="comment">/** Prototype for the allocator */</span>
-<a name="l00165"></a>00165 <span class="keyword">struct </span><a class="code" href="struct__TidyAllocator.html">_TidyAllocator</a>;<span class="comment"></span>
-<a name="l00166"></a>00166 <span class="comment">/** The allocator **/</span>
-<a name="l00167"></a><a class="code" href="group__Memory.html#ga78e96524a88db0c09e766795265863da">00167</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__TidyAllocator.html">_TidyAllocator</a> <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a>;
-<a name="l00168"></a>00168 <span class="comment"></span>
-<a name="l00169"></a>00169 <span class="comment">/** An allocator&#39;s function table.  All functions here must</span>
-<a name="l00170"></a>00170 <span class="comment">    be provided.</span>
-<a name="l00171"></a>00171 <span class="comment"> */</span>
-<a name="l00172"></a><a class="code" href="struct__TidyAllocatorVtbl.html">00172</a> <span class="keyword">struct </span><a class="code" href="struct__TidyAllocatorVtbl.html">_TidyAllocatorVtbl</a> {<span class="comment"></span>
-<a name="l00173"></a>00173 <span class="comment">    /** Called to allocate a block of nBytes of memory */</span>
-<a name="l00174"></a>00174     <span class="keywordtype">void</span>* (TIDY_CALL *<a class="code" href="struct__TidyAllocatorVtbl.html#ac89bb7f5b58fcb5b31a1560705f3b817">alloc</a>)( <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a> *<span class="keyword">self</span>, <span class="keywordtype">size_t</span> nBytes );<span class="comment"></span>
-<a name="l00175"></a>00175 <span class="comment">    /** Called to resize (grow, in general) a block of memory.</span>
-<a name="l00176"></a>00176 <span class="comment">        Must support being called with NULL.</span>
-<a name="l00177"></a>00177 <span class="comment">    */</span>
-<a name="l00178"></a>00178     <span class="keywordtype">void</span>* (TIDY_CALL *<a class="code" href="struct__TidyAllocatorVtbl.html#a0cad0dd2aa75a20573fc46f25460a5cc">realloc</a>)( <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a> *<span class="keyword">self</span>, <span class="keywordtype">void</span> *block, <span class="keywordtype">size_t</span> nBytes );<span class="comment"></span>
-<a name="l00179"></a>00179 <span class="comment">    /** Called to free a previously allocated block of memory */</span>
-<a name="l00180"></a>00180     <a class="code" href="struct__TidyAllocatorVtbl.html#a1e453d5e80b35fe3c6c15512c6b95aa5">void</a> (TIDY_CALL *free)( <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a> *<span class="keyword">self</span>, <span class="keywordtype">void</span> *block);<span class="comment"></span>
-<a name="l00181"></a>00181 <span class="comment">    /** Called when a panic condition is detected.  Must support</span>
-<a name="l00182"></a>00182 <span class="comment">        block == NULL.  This function is not called if either alloc </span>
-<a name="l00183"></a>00183 <span class="comment">        or realloc fails; it is up to the allocator to do this.</span>
-<a name="l00184"></a>00184 <span class="comment">        Currently this function can only be called if an error is</span>
-<a name="l00185"></a>00185 <span class="comment">        detected in the tree integrity via the internal function</span>
-<a name="l00186"></a>00186 <span class="comment">        CheckNodeIntegrity().  This is a situation that can</span>
-<a name="l00187"></a>00187 <span class="comment">        only arise in the case of a programming error in tidylib.</span>
-<a name="l00188"></a>00188 <span class="comment">        You can turn off node integrity checking by defining</span>
-<a name="l00189"></a>00189 <span class="comment">        the constant NO_NODE_INTEGRITY_CHECK during the build.</span>
-<a name="l00190"></a>00190 <span class="comment">    **/</span>
-<a name="l00191"></a>00191     <a class="code" href="struct__TidyAllocatorVtbl.html#a1e453d5e80b35fe3c6c15512c6b95aa5">void</a> (TIDY_CALL *panic)( <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a> *<span class="keyword">self</span>, ctmbstr msg );
-<a name="l00192"></a>00192 };
-<a name="l00193"></a>00193 <span class="comment"></span>
-<a name="l00194"></a>00194 <span class="comment">/** An allocator.  To create your own allocator, do something like</span>
-<a name="l00195"></a>00195 <span class="comment">    the following:</span>
-<a name="l00196"></a>00196 <span class="comment">    </span>
-<a name="l00197"></a>00197 <span class="comment">    typedef struct _MyAllocator {</span>
-<a name="l00198"></a>00198 <span class="comment">       TidyAllocator base;</span>
-<a name="l00199"></a>00199 <span class="comment">       ...other custom allocator state...</span>
-<a name="l00200"></a>00200 <span class="comment">    } MyAllocator;</span>
-<a name="l00201"></a>00201 <span class="comment">    </span>
-<a name="l00202"></a>00202 <span class="comment">    void* MyAllocator_alloc(TidyAllocator *base, void *block, size_t nBytes)</span>
-<a name="l00203"></a>00203 <span class="comment">    {</span>
-<a name="l00204"></a>00204 <span class="comment">        MyAllocator *self = (MyAllocator*)base;</span>
-<a name="l00205"></a>00205 <span class="comment">        ...</span>
-<a name="l00206"></a>00206 <span class="comment">    }</span>
-<a name="l00207"></a>00207 <span class="comment">    (etc)</span>
-<a name="l00208"></a>00208 <span class="comment"></span>
-<a name="l00209"></a>00209 <span class="comment">    static const TidyAllocatorVtbl MyAllocatorVtbl = {</span>
-<a name="l00210"></a>00210 <span class="comment">        MyAllocator_alloc,</span>
-<a name="l00211"></a>00211 <span class="comment">        MyAllocator_realloc,</span>
-<a name="l00212"></a>00212 <span class="comment">        MyAllocator_free,</span>
-<a name="l00213"></a>00213 <span class="comment">        MyAllocator_panic</span>
-<a name="l00214"></a>00214 <span class="comment">    };</span>
-<a name="l00215"></a>00215 <span class="comment"></span>
-<a name="l00216"></a>00216 <span class="comment">    myAllocator allocator;</span>
-<a name="l00217"></a>00217 <span class="comment">    TidyDoc doc;</span>
-<a name="l00218"></a>00218 <span class="comment"></span>
-<a name="l00219"></a>00219 <span class="comment">    allocator.base.vtbl = &amp;amp;MyAllocatorVtbl;</span>
-<a name="l00220"></a>00220 <span class="comment">    ...initialise allocator specific state...</span>
-<a name="l00221"></a>00221 <span class="comment">    doc = tidyCreateWithAllocator(&amp;allocator);</span>
-<a name="l00222"></a>00222 <span class="comment">    ...</span>
-<a name="l00223"></a>00223 <span class="comment"></span>
-<a name="l00224"></a>00224 <span class="comment">    Although this looks slightly long winded, the advantage is that to create</span>
-<a name="l00225"></a>00225 <span class="comment">    a custom allocator you simply need to set the vtbl pointer correctly.</span>
-<a name="l00226"></a>00226 <span class="comment">    The vtbl itself can reside in static/global data, and hence does not</span>
-<a name="l00227"></a>00227 <span class="comment">    need to be initialised each time an allocator is created, and furthermore</span>
-<a name="l00228"></a>00228 <span class="comment">    the memory is shared amongst all created allocators.</span>
-<a name="l00229"></a>00229 <span class="comment">*/</span>
-<a name="l00230"></a><a class="code" href="struct__TidyAllocator.html">00230</a> <span class="keyword">struct </span><a class="code" href="struct__TidyAllocator.html">_TidyAllocator</a> {
-<a name="l00231"></a>00231     <span class="keyword">const</span> <a class="code" href="struct__TidyAllocatorVtbl.html">TidyAllocatorVtbl</a> *vtbl;
-<a name="l00232"></a>00232 };
-<a name="l00233"></a>00233 <span class="comment"></span>
-<a name="l00234"></a>00234 <span class="comment">/** Callback for &quot;malloc&quot; replacement */</span>
-<a name="l00235"></a><a class="code" href="group__Memory.html#ga3bd3cc4d0c837a4cd10ab472ba671430">00235</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span>* (TIDY_CALL *<a class="code" href="group__Memory.html#ga3bd3cc4d0c837a4cd10ab472ba671430">TidyMalloc</a>)( <span class="keywordtype">size_t</span> len );<span class="comment"></span>
-<a name="l00236"></a>00236 <span class="comment">/** Callback for &quot;realloc&quot; replacement */</span>
-<a name="l00237"></a><a class="code" href="group__Memory.html#ga9d9a5625817932dbbb39dd33de678edd">00237</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span>* (TIDY_CALL *<a class="code" href="group__Memory.html#ga9d9a5625817932dbbb39dd33de678edd">TidyRealloc</a>)( <span class="keywordtype">void</span>* buf, <span class="keywordtype">size_t</span> len );<span class="comment"></span>
-<a name="l00238"></a>00238 <span class="comment">/** Callback for &quot;free&quot; replacement */</span>
-<a name="l00239"></a><a class="code" href="group__Memory.html#ga27931c443e424937ba47f0d4795aa35f">00239</a> <span class="keyword">typedef</span> void  (TIDY_CALL *<a class="code" href="group__Memory.html#ga27931c443e424937ba47f0d4795aa35f">TidyFree</a>)( <span class="keywordtype">void</span>* buf );<span class="comment"></span>
-<a name="l00240"></a>00240 <span class="comment">/** Callback for &quot;out of memory&quot; panic state */</span>
-<a name="l00241"></a><a class="code" href="group__Memory.html#ga0770be41d9935a3e2933ba0be3c7725c">00241</a> <span class="keyword">typedef</span> void  (TIDY_CALL *<a class="code" href="group__Memory.html#ga0770be41d9935a3e2933ba0be3c7725c">TidyPanic</a>)( ctmbstr mssg );
-<a name="l00242"></a>00242 
-<a name="l00243"></a>00243 <span class="comment"></span>
-<a name="l00244"></a>00244 <span class="comment">/** Give Tidy a malloc() replacement */</span>
-<a name="l00245"></a>00245 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__Memory.html#gab55079374527525e3374ebc4d2a1e625">tidySetMallocCall</a>( <a class="code" href="group__Memory.html#ga3bd3cc4d0c837a4cd10ab472ba671430">TidyMalloc</a> fmalloc );<span class="comment"></span>
-<a name="l00246"></a>00246 <span class="comment">/** Give Tidy a realloc() replacement */</span>
-<a name="l00247"></a>00247 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__Memory.html#ga446b538da3ee3f2e5a3827b877665b30">tidySetReallocCall</a>( <a class="code" href="group__Memory.html#ga9d9a5625817932dbbb39dd33de678edd">TidyRealloc</a> frealloc );<span class="comment"></span>
-<a name="l00248"></a>00248 <span class="comment">/** Give Tidy a free() replacement */</span>
-<a name="l00249"></a>00249 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__Memory.html#ga70e707b7df86effb5727b0b9ff64eed7">tidySetFreeCall</a>( <a class="code" href="group__Memory.html#ga27931c443e424937ba47f0d4795aa35f">TidyFree</a> ffree );<span class="comment"></span>
-<a name="l00250"></a>00250 <span class="comment">/** Give Tidy an &quot;out of memory&quot; handler */</span>
-<a name="l00251"></a>00251 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__Memory.html#gab12cc0435bacec1a8c725e02357acc00">tidySetPanicCall</a>( <a class="code" href="group__Memory.html#ga0770be41d9935a3e2933ba0be3c7725c">TidyPanic</a> fpanic );
-<a name="l00252"></a>00252 <span class="comment"></span>
-<a name="l00253"></a>00253 <span class="comment">/** @} end Memory group */</span>
-<a name="l00254"></a>00254 <span class="comment"></span>
-<a name="l00255"></a>00255 <span class="comment">/** @defgroup Basic Basic Operations</span>
-<a name="l00256"></a>00256 <span class="comment">**</span>
-<a name="l00257"></a>00257 <span class="comment">** Tidy public interface</span>
-<a name="l00258"></a>00258 <span class="comment">**</span>
-<a name="l00259"></a>00259 <span class="comment">** Several functions return an integer document status:</span>
-<a name="l00260"></a>00260 <span class="comment">**</span>
-<a name="l00261"></a>00261 <span class="comment">** &lt;pre&gt;</span>
-<a name="l00262"></a>00262 <span class="comment">** 0    -&gt; SUCCESS</span>
-<a name="l00263"></a>00263 <span class="comment">** &gt;0   -&gt; 1 == TIDY WARNING, 2 == TIDY ERROR</span>
-<a name="l00264"></a>00264 <span class="comment">** &lt;0   -&gt; SEVERE ERROR</span>
-<a name="l00265"></a>00265 <span class="comment">** &lt;/pre&gt;</span>
-<a name="l00266"></a>00266 <span class="comment">** </span>
-<a name="l00267"></a>00267 <span class="comment">The following is a short example program.</span>
-<a name="l00268"></a>00268 <span class="comment"></span>
-<a name="l00269"></a>00269 <span class="comment">&lt;pre&gt;</span>
-<a name="l00270"></a>00270 <span class="comment">#include &amp;lt;tidy.h&amp;gt;</span>
-<a name="l00271"></a>00271 <span class="comment">#include &amp;lt;buffio.h&amp;gt;</span>
-<a name="l00272"></a>00272 <span class="comment">#include &amp;lt;stdio.h&amp;gt;</span>
-<a name="l00273"></a>00273 <span class="comment">#include &amp;lt;errno.h&amp;gt;</span>
-<a name="l00274"></a>00274 <span class="comment"></span>
-<a name="l00275"></a>00275 <span class="comment"></span>
-<a name="l00276"></a>00276 <span class="comment">int main(int argc, char **argv )</span>
-<a name="l00277"></a>00277 <span class="comment">{</span>
-<a name="l00278"></a>00278 <span class="comment">  const char* input = &quot;&amp;lt;title&amp;gt;Foo&amp;lt;/title&amp;gt;&amp;lt;p&amp;gt;Foo!&quot;;</span>
-<a name="l00279"></a>00279 <span class="comment">  TidyBuffer output;</span>
-<a name="l00280"></a>00280 <span class="comment">  TidyBuffer errbuf;</span>
-<a name="l00281"></a>00281 <span class="comment">  int rc = -1;</span>
-<a name="l00282"></a>00282 <span class="comment">  Bool ok;</span>
-<a name="l00283"></a>00283 <span class="comment"></span>
-<a name="l00284"></a>00284 <span class="comment">  TidyDoc tdoc = tidyCreate();                     // Initialize &quot;document&quot;</span>
-<a name="l00285"></a>00285 <span class="comment">  tidyBufInit( &amp;amp;output );</span>
-<a name="l00286"></a>00286 <span class="comment">  tidyBufInit( &amp;amp;errbuf );</span>
-<a name="l00287"></a>00287 <span class="comment">  printf( &quot;Tidying:\t\%s\\n&quot;, input );</span>
-<a name="l00288"></a>00288 <span class="comment"></span>
-<a name="l00289"></a>00289 <span class="comment">  ok = tidyOptSetBool( tdoc, TidyXhtmlOut, yes );  // Convert to XHTML</span>
-<a name="l00290"></a>00290 <span class="comment">  if ( ok )</span>
-<a name="l00291"></a>00291 <span class="comment">    rc = tidySetErrorBuffer( tdoc, &amp;amp;errbuf );      // Capture diagnostics</span>
-<a name="l00292"></a>00292 <span class="comment">  if ( rc &amp;gt;= 0 )</span>
-<a name="l00293"></a>00293 <span class="comment">    rc = tidyParseString( tdoc, input );           // Parse the input</span>
-<a name="l00294"></a>00294 <span class="comment">  if ( rc &amp;gt;= 0 )</span>
-<a name="l00295"></a>00295 <span class="comment">    rc = tidyCleanAndRepair( tdoc );               // Tidy it up!</span>
-<a name="l00296"></a>00296 <span class="comment">  if ( rc &amp;gt;= 0 )</span>
-<a name="l00297"></a>00297 <span class="comment">    rc = tidyRunDiagnostics( tdoc );               // Kvetch</span>
-<a name="l00298"></a>00298 <span class="comment">  if ( rc &amp;gt; 1 )                                    // If error, force output.</span>
-<a name="l00299"></a>00299 <span class="comment">    rc = ( tidyOptSetBool(tdoc, TidyForceOutput, yes) ? rc : -1 );</span>
-<a name="l00300"></a>00300 <span class="comment">  if ( rc &amp;gt;= 0 )</span>
-<a name="l00301"></a>00301 <span class="comment">    rc = tidySaveBuffer( tdoc, &amp;amp;output );          // Pretty Print</span>
-<a name="l00302"></a>00302 <span class="comment"></span>
-<a name="l00303"></a>00303 <span class="comment">  if ( rc &amp;gt;= 0 )</span>
-<a name="l00304"></a>00304 <span class="comment">  {</span>
-<a name="l00305"></a>00305 <span class="comment">    if ( rc &amp;gt; 0 )</span>
-<a name="l00306"></a>00306 <span class="comment">      printf( &quot;\\nDiagnostics:\\n\\n\%s&quot;, errbuf.bp );</span>
-<a name="l00307"></a>00307 <span class="comment">    printf( &quot;\\nAnd here is the result:\\n\\n\%s&quot;, output.bp );</span>
-<a name="l00308"></a>00308 <span class="comment">  }</span>
-<a name="l00309"></a>00309 <span class="comment">  else</span>
-<a name="l00310"></a>00310 <span class="comment">    printf( &quot;A severe error (\%d) occurred.\\n&quot;, rc );</span>
-<a name="l00311"></a>00311 <span class="comment"></span>
-<a name="l00312"></a>00312 <span class="comment">  tidyBufFree( &amp;amp;output );</span>
-<a name="l00313"></a>00313 <span class="comment">  tidyBufFree( &amp;amp;errbuf );</span>
-<a name="l00314"></a>00314 <span class="comment">  tidyRelease( tdoc );</span>
-<a name="l00315"></a>00315 <span class="comment">  return rc;</span>
-<a name="l00316"></a>00316 <span class="comment">}</span>
-<a name="l00317"></a>00317 <span class="comment">&lt;/pre&gt;</span>
-<a name="l00318"></a>00318 <span class="comment">** @{</span>
-<a name="l00319"></a>00319 <span class="comment">*/</span>
-<a name="l00320"></a>00320 
-<a name="l00321"></a>00321 TIDY_EXPORT <a class="code" href="structTidyDoc.html">TidyDoc</a> TIDY_CALL     tidyCreate(<span class="keywordtype">void</span>);
-<a name="l00322"></a>00322 TIDY_EXPORT <a class="code" href="structTidyDoc.html">TidyDoc</a> TIDY_CALL     tidyCreateWithAllocator( <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a> *allocator );
-<a name="l00323"></a>00323 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL        tidyRelease( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00324"></a>00324 <span class="comment"></span>
-<a name="l00325"></a>00325 <span class="comment">/** Let application store a chunk of data w/ each Tidy instance.</span>
-<a name="l00326"></a>00326 <span class="comment">**  Useful for callbacks.</span>
-<a name="l00327"></a>00327 <span class="comment">*/</span>
-<a name="l00328"></a>00328 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL        <a class="code" href="group__Basic.html#gaa1a9f78be3542868ac10481e2efa8708">tidySetAppData</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <span class="keywordtype">void</span>* appData );
-<a name="l00329"></a>00329 <span class="comment"></span>
-<a name="l00330"></a>00330 <span class="comment">/** Get application data set previously */</span>
-<a name="l00331"></a>00331 TIDY_EXPORT <span class="keywordtype">void</span>* TIDY_CALL       <a class="code" href="group__Basic.html#ga1319c9757d4f8c596615e0fdcfcf2504">tidyGetAppData</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00332"></a>00332 <span class="comment"></span>
-<a name="l00333"></a>00333 <span class="comment">/** Get release date (version) for current library */</span>
-<a name="l00334"></a>00334 TIDY_EXPORT ctmbstr TIDY_CALL     <a class="code" href="group__Basic.html#gab7b404ada690635341d2e2d332102b36">tidyReleaseDate</a>(<span class="keywordtype">void</span>);
-<a name="l00335"></a>00335 
-<a name="l00336"></a>00336 <span class="comment">/* Diagnostics and Repair</span>
-<a name="l00337"></a>00337 <span class="comment">*/</span>
-<a name="l00338"></a>00338 <span class="comment"></span>
-<a name="l00339"></a>00339 <span class="comment">/** Get status of current document. */</span>
-<a name="l00340"></a>00340 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#gaf45a8fb57fb9bfce89c42e1cc9d3e760">tidyStatus</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00341"></a>00341 <span class="comment"></span>
-<a name="l00342"></a>00342 <span class="comment">/** Detected HTML version: 0, 2, 3 or 4 */</span>
-<a name="l00343"></a>00343 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#ga8fbec4bc2b67c4f525440cfc7196b443">tidyDetectedHtmlVersion</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00344"></a>00344 <span class="comment"></span>
-<a name="l00345"></a>00345 <span class="comment">/** Input is XHTML? */</span>
-<a name="l00346"></a>00346 TIDY_EXPORT Bool TIDY_CALL        <a class="code" href="group__Basic.html#gaf3279c9a0506629d2ae766c31c1de48d">tidyDetectedXhtml</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00347"></a>00347 <span class="comment"></span>
-<a name="l00348"></a>00348 <span class="comment">/** Input is generic XML (not HTML or XHTML)? */</span>
-<a name="l00349"></a>00349 TIDY_EXPORT Bool TIDY_CALL        <a class="code" href="group__Basic.html#ga8dd761b5e230119f8eb6c412f12fdec2">tidyDetectedGenericXml</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00350"></a>00350 <span class="comment"></span>
-<a name="l00351"></a>00351 <span class="comment">/** Number of Tidy errors encountered.  If &gt; 0, output is suppressed</span>
-<a name="l00352"></a>00352 <span class="comment">**  unless TidyForceOutput is set.</span>
-<a name="l00353"></a>00353 <span class="comment">*/</span>
-<a name="l00354"></a>00354 TIDY_EXPORT uint TIDY_CALL        <a class="code" href="group__Basic.html#ga3617548e3669d00ad074daaaa8f3460d">tidyErrorCount</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00355"></a>00355 <span class="comment"></span>
-<a name="l00356"></a>00356 <span class="comment">/** Number of Tidy warnings encountered. */</span>
-<a name="l00357"></a>00357 TIDY_EXPORT uint TIDY_CALL        <a class="code" href="group__Basic.html#ga29b0c36f75584a2a26422b021561f19c">tidyWarningCount</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00358"></a>00358 <span class="comment"></span>
-<a name="l00359"></a>00359 <span class="comment">/** Number of Tidy accessibility warnings encountered. */</span>
-<a name="l00360"></a>00360 TIDY_EXPORT uint TIDY_CALL        <a class="code" href="group__Basic.html#ga56ad617084cdcbb485f06f597de7dedb">tidyAccessWarningCount</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00361"></a>00361 <span class="comment"></span>
-<a name="l00362"></a>00362 <span class="comment">/** Number of Tidy configuration errors encountered. */</span>
-<a name="l00363"></a>00363 TIDY_EXPORT uint TIDY_CALL        <a class="code" href="group__Basic.html#gac17c01a0dbb8f73bdee29df48e499988">tidyConfigErrorCount</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00364"></a>00364 
-<a name="l00365"></a>00365 <span class="comment">/* Get/Set configuration options</span>
-<a name="l00366"></a>00366 <span class="comment">*/</span><span class="comment"></span>
-<a name="l00367"></a>00367 <span class="comment">/** Load an ASCII Tidy configuration file */</span>
-<a name="l00368"></a>00368 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#ga2dec710c0d4927e76a7b0d338b11693a">tidyLoadConfig</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr configFile );
-<a name="l00369"></a>00369 <span class="comment"></span>
-<a name="l00370"></a>00370 <span class="comment">/** Load a Tidy configuration file with the specified character encoding */</span>
-<a name="l00371"></a>00371 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#gac677de148c6f00fc96a682c21433ab1c">tidyLoadConfigEnc</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr configFile,
-<a name="l00372"></a>00372                                                      ctmbstr charenc );
-<a name="l00373"></a>00373 
-<a name="l00374"></a>00374 TIDY_EXPORT Bool TIDY_CALL        tidyFileExists( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr filename );
-<a name="l00375"></a>00375 
-<a name="l00376"></a>00376 <span class="comment"></span>
-<a name="l00377"></a>00377 <span class="comment">/** Set the input/output character encoding for parsing markup.</span>
-<a name="l00378"></a>00378 <span class="comment">**  Values include: ascii, latin1, raw, utf8, iso2022, mac,</span>
-<a name="l00379"></a>00379 <span class="comment">**  win1252, utf16le, utf16be, utf16, big5 and shiftjis.  Case in-sensitive.</span>
-<a name="l00380"></a>00380 <span class="comment">*/</span>
-<a name="l00381"></a>00381 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#ga2612e184472c2a59ca822a37d030e9af">tidySetCharEncoding</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr encnam );
-<a name="l00382"></a>00382 <span class="comment"></span>
-<a name="l00383"></a>00383 <span class="comment">/** Set the input encoding for parsing markup.</span>
-<a name="l00384"></a>00384 <span class="comment">** As for tidySetCharEncoding but only affects the input encoding</span>
-<a name="l00385"></a>00385 <span class="comment">**/</span>
-<a name="l00386"></a>00386 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#ga05203a9193542a67b8396cf6ca8acf59">tidySetInCharEncoding</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr encnam );
-<a name="l00387"></a>00387 <span class="comment"></span>
-<a name="l00388"></a>00388 <span class="comment">/** Set the output encoding.</span>
-<a name="l00389"></a>00389 <span class="comment">**/</span>
-<a name="l00390"></a>00390 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#ga9b6bd07e38bf320cf88663a29967f1e9">tidySetOutCharEncoding</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr encnam );
-<a name="l00391"></a>00391 <span class="comment"></span>
-<a name="l00392"></a>00392 <span class="comment">/** @} end Basic group */</span>
-<a name="l00393"></a>00393 
-<a name="l00394"></a>00394 <span class="comment"></span>
-<a name="l00395"></a>00395 <span class="comment">/** @defgroup Configuration Configuration Options</span>
-<a name="l00396"></a>00396 <span class="comment">**</span>
-<a name="l00397"></a>00397 <span class="comment">** Functions for getting and setting Tidy configuration options.</span>
-<a name="l00398"></a>00398 <span class="comment">** @{</span>
-<a name="l00399"></a>00399 <span class="comment">*/</span>
-<a name="l00400"></a>00400 <span class="comment"></span>
-<a name="l00401"></a>00401 <span class="comment">/** Applications using TidyLib may want to augment command-line and</span>
-<a name="l00402"></a>00402 <span class="comment">**  configuration file options.  Setting this callback allows an application </span>
-<a name="l00403"></a>00403 <span class="comment">**  developer to examine command-line and configuration file options after</span>
-<a name="l00404"></a>00404 <span class="comment">**  TidyLib has examined them and failed to recognize them.</span>
-<a name="l00405"></a>00405 <span class="comment">**/</span>
-<a name="l00406"></a>00406 
-<a name="l00407"></a><a class="code" href="group__Configuration.html#gaee8a8bcb6091bd36f6fc20507a4544fc">00407</a> <span class="keyword">typedef</span> Bool (TIDY_CALL *<a class="code" href="group__Configuration.html#gaee8a8bcb6091bd36f6fc20507a4544fc">TidyOptCallback</a>)( ctmbstr option, ctmbstr value );
-<a name="l00408"></a>00408 
-<a name="l00409"></a>00409 TIDY_EXPORT Bool TIDY_CALL          tidySetOptionCallback( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="group__Configuration.html#gaee8a8bcb6091bd36f6fc20507a4544fc">TidyOptCallback</a> pOptCallback );
-<a name="l00410"></a>00410 <span class="comment"></span>
-<a name="l00411"></a>00411 <span class="comment">/** Get option ID by name */</span>
-<a name="l00412"></a>00412 TIDY_EXPORT TidyOptionId TIDY_CALL  <a class="code" href="group__Configuration.html#ga500f31ba81d015b8ce9dad6f2a6ade75">tidyOptGetIdForName</a>( ctmbstr optnam );
-<a name="l00413"></a>00413 <span class="comment"></span>
-<a name="l00414"></a>00414 <span class="comment">/** Get iterator for list of option */</span><span class="comment"></span>
-<a name="l00415"></a>00415 <span class="comment">/** </span>
-<a name="l00416"></a>00416 <span class="comment">Example:</span>
-<a name="l00417"></a>00417 <span class="comment">&lt;pre&gt;</span>
-<a name="l00418"></a>00418 <span class="comment">TidyIterator itOpt = tidyGetOptionList( tdoc );</span>
-<a name="l00419"></a>00419 <span class="comment">while ( itOpt )</span>
-<a name="l00420"></a>00420 <span class="comment">{</span>
-<a name="l00421"></a>00421 <span class="comment">  TidyOption opt = tidyGetNextOption( tdoc, &amp;itOpt );</span>
-<a name="l00422"></a>00422 <span class="comment">  .. get/set option values ..</span>
-<a name="l00423"></a>00423 <span class="comment">}</span>
-<a name="l00424"></a>00424 <span class="comment">&lt;/pre&gt;</span>
-<a name="l00425"></a>00425 <span class="comment">*/</span>
-<a name="l00426"></a>00426 
-<a name="l00427"></a>00427 TIDY_EXPORT TidyIterator TIDY_CALL  <a class="code" href="group__Configuration.html#gab92a35ffbd3b0b668534d63f94d2486f">tidyGetOptionList</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );<span class="comment"></span>
-<a name="l00428"></a>00428 <span class="comment">/** Get next Option */</span>
-<a name="l00429"></a>00429 TIDY_EXPORT <a class="code" href="structTidyOption.html">TidyOption</a> TIDY_CALL    <a class="code" href="group__Configuration.html#ga1a3088dacc539487e00f1eb4009dafc0">tidyGetNextOption</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyIterator* pos );
-<a name="l00430"></a>00430 <span class="comment"></span>
-<a name="l00431"></a>00431 <span class="comment">/** Lookup option by ID */</span>
-<a name="l00432"></a>00432 TIDY_EXPORT <a class="code" href="structTidyOption.html">TidyOption</a> TIDY_CALL    <a class="code" href="group__Configuration.html#ga030c695d6407b2756856eb1862642cfe">tidyGetOption</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId );<span class="comment"></span>
-<a name="l00433"></a>00433 <span class="comment">/** Lookup option by name */</span>
-<a name="l00434"></a>00434 TIDY_EXPORT <a class="code" href="structTidyOption.html">TidyOption</a> TIDY_CALL    <a class="code" href="group__Configuration.html#gaeae2e147645697fc54234ff2526a8108">tidyGetOptionByName</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr optnam );
-<a name="l00435"></a>00435 <span class="comment"></span>
-<a name="l00436"></a>00436 <span class="comment">/** Get ID of given Option */</span>
-<a name="l00437"></a>00437 TIDY_EXPORT TidyOptionId TIDY_CALL  <a class="code" href="group__Configuration.html#ga51cf095b76921b4e290e14814998f096">tidyOptGetId</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00438"></a>00438 <span class="comment"></span>
-<a name="l00439"></a>00439 <span class="comment">/** Get name of given Option */</span>
-<a name="l00440"></a>00440 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#gaf370cd2ea113747f50da185fda24adcb">tidyOptGetName</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00441"></a>00441 <span class="comment"></span>
-<a name="l00442"></a>00442 <span class="comment">/** Get datatype of given Option */</span>
-<a name="l00443"></a>00443 TIDY_EXPORT TidyOptionType TIDY_CALL <a class="code" href="group__Configuration.html#ga06e2685cc2950b182ff2f7136d170a34">tidyOptGetType</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00444"></a>00444 <span class="comment"></span>
-<a name="l00445"></a>00445 <span class="comment">/** Is Option read-only? */</span>
-<a name="l00446"></a>00446 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga6aba2ccdb1237a70f5fe1393fee0ce4d">tidyOptIsReadOnly</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00447"></a>00447 <span class="comment"></span>
-<a name="l00448"></a>00448 <span class="comment">/** Get category of given Option */</span>
-<a name="l00449"></a>00449 TIDY_EXPORT TidyConfigCategory TIDY_CALL <a class="code" href="group__Configuration.html#ga1d8b72e64e4d949dc21599fa788e842f">tidyOptGetCategory</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00450"></a>00450 <span class="comment"></span>
-<a name="l00451"></a>00451 <span class="comment">/** Get default value of given Option as a string */</span>
-<a name="l00452"></a>00452 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#gab9e02c9927fe2c382ec5f81b4acf9cb4">tidyOptGetDefault</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00453"></a>00453 <span class="comment"></span>
-<a name="l00454"></a>00454 <span class="comment">/** Get default value of given Option as an unsigned integer */</span>
-<a name="l00455"></a>00455 TIDY_EXPORT ulong TIDY_CALL         <a class="code" href="group__Configuration.html#gafc8df35e864dd3a24f23aca3c2f8bd9d">tidyOptGetDefaultInt</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00456"></a>00456 <span class="comment"></span>
-<a name="l00457"></a>00457 <span class="comment">/** Get default value of given Option as a Boolean value */</span>
-<a name="l00458"></a>00458 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gadadea4da66e3718e02b720c2b59d170b">tidyOptGetDefaultBool</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00459"></a>00459 <span class="comment"></span>
-<a name="l00460"></a>00460 <span class="comment">/** Iterate over Option &quot;pick list&quot; */</span>
-<a name="l00461"></a>00461 TIDY_EXPORT TidyIterator TIDY_CALL  <a class="code" href="group__Configuration.html#ga31f815fe2b5bf1e00d6b50be62edd0ab">tidyOptGetPickList</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );<span class="comment"></span>
-<a name="l00462"></a>00462 <span class="comment">/** Get next string value of Option &quot;pick list&quot; */</span>
-<a name="l00463"></a>00463 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#gad1366c5c458f38d2a9c6a6335e6704d9">tidyOptGetNextPick</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt, TidyIterator* pos );
-<a name="l00464"></a>00464 <span class="comment"></span>
-<a name="l00465"></a>00465 <span class="comment">/** Get current Option value as a string */</span>
-<a name="l00466"></a>00466 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#ga0fbe23ab1e4ec374fa38e6f514617e4d">tidyOptGetValue</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId );<span class="comment"></span>
-<a name="l00467"></a>00467 <span class="comment">/** Set Option value as a string */</span>
-<a name="l00468"></a>00468 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gaf37bdad3b6809d8cb78e7d6316d4ba69">tidyOptSetValue</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId, ctmbstr val );<span class="comment"></span>
-<a name="l00469"></a>00469 <span class="comment">/** Set named Option value as a string.  Good if not sure of type. */</span>
-<a name="l00470"></a>00470 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gad09fbcbbaf83fbf93e0d7be9c9bb30c0">tidyOptParseValue</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr optnam, ctmbstr val );
-<a name="l00471"></a>00471 <span class="comment"></span>
-<a name="l00472"></a>00472 <span class="comment">/** Get current Option value as an integer */</span>
-<a name="l00473"></a>00473 TIDY_EXPORT ulong TIDY_CALL         <a class="code" href="group__Configuration.html#ga7ff683612d446b07318517e564cccc7a">tidyOptGetInt</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId );<span class="comment"></span>
-<a name="l00474"></a>00474 <span class="comment">/** Set Option value as an integer */</span>
-<a name="l00475"></a>00475 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gad9e75a64c8dcbc54e791959cf934e1ad">tidyOptSetInt</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId, ulong val );
-<a name="l00476"></a>00476 <span class="comment"></span>
-<a name="l00477"></a>00477 <span class="comment">/** Get current Option value as a Boolean flag */</span>
-<a name="l00478"></a>00478 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga09e6c999e9e7ebc94ea3d9cf5d674125">tidyOptGetBool</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId );<span class="comment"></span>
-<a name="l00479"></a>00479 <span class="comment">/** Set Option value as a Boolean flag */</span>
-<a name="l00480"></a>00480 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gac9de7e155bea5c28713f2bfb93614472">tidyOptSetBool</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId, Bool val );
-<a name="l00481"></a>00481 <span class="comment"></span>
-<a name="l00482"></a>00482 <span class="comment">/** Reset option to default value by ID */</span>
-<a name="l00483"></a>00483 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga2aa45ad67758ca0b18d14eafa37fe080">tidyOptResetToDefault</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId opt );<span class="comment"></span>
-<a name="l00484"></a>00484 <span class="comment">/** Reset all options to their default values */</span>
-<a name="l00485"></a>00485 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga874ce26884f0eeaf692c30758688888a">tidyOptResetAllToDefault</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00486"></a>00486 <span class="comment"></span>
-<a name="l00487"></a>00487 <span class="comment">/** Take a snapshot of current config settings */</span>
-<a name="l00488"></a>00488 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga4beb2c73c90c3e2ae589c2642478cebd">tidyOptSnapshot</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );<span class="comment"></span>
-<a name="l00489"></a>00489 <span class="comment">/** Reset config settings to snapshot (after document processing) */</span>
-<a name="l00490"></a>00490 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gae6212b8f32990763cc18a6d3f05eb191">tidyOptResetToSnapshot</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00491"></a>00491 <span class="comment"></span>
-<a name="l00492"></a>00492 <span class="comment">/** Any settings different than default? */</span>
-<a name="l00493"></a>00493 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga083cb42d6f4413604240b5c1b3aa2070">tidyOptDiffThanDefault</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );<span class="comment"></span>
-<a name="l00494"></a>00494 <span class="comment">/** Any settings different than snapshot? */</span>
-<a name="l00495"></a>00495 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga793bc9e177aa90301802e44c4fc22e0e">tidyOptDiffThanSnapshot</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00496"></a>00496 <span class="comment"></span>
-<a name="l00497"></a>00497 <span class="comment">/** Copy current configuration settings from one document to another */</span>
-<a name="l00498"></a>00498 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga0b6cb26ab5dbbe0a0841d605fbd06fad">tidyOptCopyConfig</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdocTo, <a class="code" href="structTidyDoc.html">TidyDoc</a> tdocFrom );
-<a name="l00499"></a>00499 <span class="comment"></span>
-<a name="l00500"></a>00500 <span class="comment">/** Get character encoding name.  Used with TidyCharEncoding,</span>
-<a name="l00501"></a>00501 <span class="comment">**  TidyOutCharEncoding, TidyInCharEncoding */</span>
-<a name="l00502"></a>00502 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#ga47f8502cc202fc7423937647957955a3">tidyOptGetEncName</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId );
-<a name="l00503"></a>00503 <span class="comment"></span>
-<a name="l00504"></a>00504 <span class="comment">/** Get current pick list value for option by ID.  Useful for enum types. */</span>
-<a name="l00505"></a>00505 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#ga0785047cc73d5fbc88691861a0fa9c78">tidyOptGetCurrPick</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId);
-<a name="l00506"></a>00506 <span class="comment"></span>
-<a name="l00507"></a>00507 <span class="comment">/** Iterate over user declared tags */</span>
-<a name="l00508"></a>00508 TIDY_EXPORT TidyIterator TIDY_CALL  <a class="code" href="group__Configuration.html#ga55f30cf9e507f8fc66330ec3b0132620">tidyOptGetDeclTagList</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );<span class="comment"></span>
-<a name="l00509"></a>00509 <span class="comment">/** Get next declared tag of specified type: TidyInlineTags, TidyBlockTags,</span>
-<a name="l00510"></a>00510 <span class="comment">**  TidyEmptyTags, TidyPreTags */</span>
-<a name="l00511"></a>00511 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#gacec933eef8f9eec3dfa4382e05cab251">tidyOptGetNextDeclTag</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, 
-<a name="l00512"></a>00512                                                           TidyOptionId optId,
-<a name="l00513"></a>00513                                                           TidyIterator* iter );<span class="comment"></span>
-<a name="l00514"></a>00514 <span class="comment">/** Get option description */</span>
-<a name="l00515"></a>00515 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#gafca3ed506463e192187133ff646a643d">tidyOptGetDoc</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00516"></a>00516 <span class="comment"></span>
-<a name="l00517"></a>00517 <span class="comment">/** Iterate over a list of related options */</span>
-<a name="l00518"></a>00518 TIDY_EXPORT TidyIterator TIDY_CALL  <a class="code" href="group__Configuration.html#gaeed1ef5cb5329f3f5aca0a8ad7e8ea4f">tidyOptGetDocLinksList</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc,
-<a name="l00519"></a>00519                                                   <a class="code" href="structTidyOption.html">TidyOption</a> opt );<span class="comment"></span>
-<a name="l00520"></a>00520 <span class="comment">/** Get next related option */</span>
-<a name="l00521"></a>00521 TIDY_EXPORT <a class="code" href="structTidyOption.html">TidyOption</a> TIDY_CALL    <a class="code" href="group__Configuration.html#ga1db79a95067d6364c02263d9492fa9e8">tidyOptGetNextDocLinks</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc,
-<a name="l00522"></a>00522                                                   TidyIterator* pos );
-<a name="l00523"></a>00523 <span class="comment"></span>
-<a name="l00524"></a>00524 <span class="comment">/** @} end Configuration group */</span>
-<a name="l00525"></a>00525 <span class="comment"></span>
-<a name="l00526"></a>00526 <span class="comment">/** @defgroup IO  I/O and Messages</span>
-<a name="l00527"></a>00527 <span class="comment">**</span>
-<a name="l00528"></a>00528 <span class="comment">** By default, Tidy will define, create and use </span>
-<a name="l00529"></a>00529 <span class="comment">** instances of input and output handlers for </span>
-<a name="l00530"></a>00530 <span class="comment">** standard C buffered I/O (i.e. FILE* stdin,</span>
-<a name="l00531"></a>00531 <span class="comment">** FILE* stdout and FILE* stderr for content</span>
-<a name="l00532"></a>00532 <span class="comment">** input, content output and diagnostic output,</span>
-<a name="l00533"></a>00533 <span class="comment">** respectively.  A FILE* cfgFile input handler</span>
-<a name="l00534"></a>00534 <span class="comment">** will be used for config files.  Command line</span>
-<a name="l00535"></a>00535 <span class="comment">** options will just be set directly.</span>
-<a name="l00536"></a>00536 <span class="comment">**</span>
-<a name="l00537"></a>00537 <span class="comment">** @{</span>
-<a name="l00538"></a>00538 <span class="comment">*/</span>
-<a name="l00539"></a>00539 
-<a name="l00540"></a>00540 <span class="comment">/*****************</span>
-<a name="l00541"></a>00541 <span class="comment">   Input Source</span>
-<a name="l00542"></a>00542 <span class="comment">*****************/</span><span class="comment"></span>
-<a name="l00543"></a>00543 <span class="comment">/** Input Callback: get next byte of input */</span>
-<a name="l00544"></a><a class="code" href="group__IO.html#ga6951f79d4b50288e96a3896ab01393d6">00544</a> <span class="keyword">typedef</span> int  (TIDY_CALL *<a class="code" href="group__IO.html#ga6951f79d4b50288e96a3896ab01393d6">TidyGetByteFunc</a>)( <span class="keywordtype">void</span>* sourceData );
-<a name="l00545"></a>00545 <span class="comment"></span>
-<a name="l00546"></a>00546 <span class="comment">/** Input Callback: unget a byte of input */</span>
-<a name="l00547"></a><a class="code" href="group__IO.html#ga298b882c5fc7cc969ef58fb187bdd371">00547</a> <span class="keyword">typedef</span> void (TIDY_CALL *<a class="code" href="group__IO.html#ga298b882c5fc7cc969ef58fb187bdd371">TidyUngetByteFunc</a>)( <span class="keywordtype">void</span>* sourceData, byte bt );
-<a name="l00548"></a>00548 <span class="comment"></span>
-<a name="l00549"></a>00549 <span class="comment">/** Input Callback: is end of input? */</span>
-<a name="l00550"></a><a class="code" href="group__IO.html#ga9f8e1bb4c4740ffb399ec424594c4972">00550</a> <span class="keyword">typedef</span> Bool (TIDY_CALL *<a class="code" href="group__IO.html#ga9f8e1bb4c4740ffb399ec424594c4972">TidyEOFFunc</a>)( <span class="keywordtype">void</span>* sourceData );
-<a name="l00551"></a>00551 <span class="comment"></span>
-<a name="l00552"></a>00552 <span class="comment">/** End of input &quot;character&quot; */</span>
-<a name="l00553"></a><a class="code" href="group__IO.html#ga9a078b706ec6f37cce40958f6f68585a">00553</a> <span class="preprocessor">#define EndOfStream (~0u)</span>
-<a name="l00554"></a>00554 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00555"></a>00555 <span class="comment">/** TidyInputSource - Delivers raw bytes of input</span>
-<a name="l00556"></a>00556 <span class="comment">*/</span>
-<a name="l00557"></a>00557 TIDY_STRUCT
-<a name="l00558"></a><a class="code" href="struct__TidyInputSource.html">00558</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__TidyInputSource.html">_TidyInputSource</a>
-<a name="l00559"></a>00559 {
-<a name="l00560"></a>00560   <span class="comment">/* Instance data */</span>
-<a name="l00561"></a><a class="code" href="struct__TidyInputSource.html#a19bd9d8877bfc702ceae4e174d0b07d4">00561</a>   <span class="keywordtype">void</span>*               <a class="code" href="struct__TidyInputSource.html#a19bd9d8877bfc702ceae4e174d0b07d4">sourceData</a>;  <span class="comment">/**&lt; Input context.  Passed to callbacks */</span>
-<a name="l00562"></a>00562 
-<a name="l00563"></a>00563   <span class="comment">/* Methods */</span>
-<a name="l00564"></a><a class="code" href="struct__TidyInputSource.html#a4c318270e25e2e4dd9506cb04542b7d8">00564</a>   <a class="code" href="group__IO.html#ga6951f79d4b50288e96a3896ab01393d6">TidyGetByteFunc</a>     <a class="code" href="struct__TidyInputSource.html#a4c318270e25e2e4dd9506cb04542b7d8">getByte</a>;     <span class="comment">/**&lt; Pointer to &quot;get byte&quot; callback */</span>
-<a name="l00565"></a><a class="code" href="struct__TidyInputSource.html#a8bb61c749e1295207cd92752e63ae505">00565</a>   <a class="code" href="group__IO.html#ga298b882c5fc7cc969ef58fb187bdd371">TidyUngetByteFunc</a>   <a class="code" href="struct__TidyInputSource.html#a8bb61c749e1295207cd92752e63ae505">ungetByte</a>;   <span class="comment">/**&lt; Pointer to &quot;unget&quot; callback */</span>
-<a name="l00566"></a><a class="code" href="struct__TidyInputSource.html#af90ba85f6caffb1321a8fe3ef4b7bebb">00566</a>   <a class="code" href="group__IO.html#ga9f8e1bb4c4740ffb399ec424594c4972">TidyEOFFunc</a>         <a class="code" href="struct__TidyInputSource.html#af90ba85f6caffb1321a8fe3ef4b7bebb">eof</a>;         <span class="comment">/**&lt; Pointer to &quot;eof&quot; callback */</span>
-<a name="l00567"></a>00567 } <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>;
-<a name="l00568"></a>00568 <span class="comment"></span>
-<a name="l00569"></a>00569 <span class="comment">/** Facilitates user defined source by providing</span>
-<a name="l00570"></a>00570 <span class="comment">**  an entry point to marshal pointers-to-functions.</span>
-<a name="l00571"></a>00571 <span class="comment">**  Needed by .NET and possibly other language bindings.</span>
-<a name="l00572"></a>00572 <span class="comment">*/</span>
-<a name="l00573"></a>00573 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__IO.html#gab446af273e331cb0440dd01b6990d2d0">tidyInitSource</a>( <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>*  source,
-<a name="l00574"></a>00574                                           <span class="keywordtype">void</span>*             srcData,
-<a name="l00575"></a>00575                                           <a class="code" href="group__IO.html#ga6951f79d4b50288e96a3896ab01393d6">TidyGetByteFunc</a>   gbFunc,
-<a name="l00576"></a>00576                                           <a class="code" href="group__IO.html#ga298b882c5fc7cc969ef58fb187bdd371">TidyUngetByteFunc</a> ugbFunc,
-<a name="l00577"></a>00577                                           <a class="code" href="group__IO.html#ga9f8e1bb4c4740ffb399ec424594c4972">TidyEOFFunc</a>       endFunc );
-<a name="l00578"></a>00578 <span class="comment"></span>
-<a name="l00579"></a>00579 <span class="comment">/** Helper: get next byte from input source */</span>
-<a name="l00580"></a>00580 TIDY_EXPORT uint TIDY_CALL <a class="code" href="group__IO.html#gadba396ffec9f29b27d73a23264dcfa0b">tidyGetByte</a>( <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>* source );
-<a name="l00581"></a>00581 <span class="comment"></span>
-<a name="l00582"></a>00582 <span class="comment">/** Helper: unget byte back to input source */</span>
-<a name="l00583"></a>00583 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL <a class="code" href="group__IO.html#ga0c8d46de315cabb0ac7d2cf01ca183d7">tidyUngetByte</a>( <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>* source, uint byteValue );
-<a name="l00584"></a>00584 <span class="comment"></span>
-<a name="l00585"></a>00585 <span class="comment">/** Helper: check if input source at end */</span>
-<a name="l00586"></a>00586 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__IO.html#ga399df5ba17614205964a665f7b1726a6">tidyIsEOF</a>( <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>* source );
-<a name="l00587"></a>00587 
-<a name="l00588"></a>00588 
-<a name="l00589"></a>00589 <span class="comment">/****************</span>
-<a name="l00590"></a>00590 <span class="comment">   Output Sink</span>
-<a name="l00591"></a>00591 <span class="comment">****************/</span><span class="comment"></span>
-<a name="l00592"></a>00592 <span class="comment">/** Output callback: send a byte to output */</span>
-<a name="l00593"></a><a class="code" href="group__IO.html#ga63bcce5aa5f52e4e2e22aedd750b8bbc">00593</a> <span class="keyword">typedef</span> void (TIDY_CALL *<a class="code" href="group__IO.html#ga63bcce5aa5f52e4e2e22aedd750b8bbc">TidyPutByteFunc</a>)( <span class="keywordtype">void</span>* sinkData, byte bt );
-<a name="l00594"></a>00594 
-<a name="l00595"></a>00595 <span class="comment"></span>
-<a name="l00596"></a>00596 <span class="comment">/** TidyOutputSink - accepts raw bytes of output</span>
-<a name="l00597"></a>00597 <span class="comment">*/</span>
-<a name="l00598"></a>00598 TIDY_STRUCT
-<a name="l00599"></a><a class="code" href="struct__TidyOutputSink.html">00599</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__TidyOutputSink.html">_TidyOutputSink</a>
-<a name="l00600"></a>00600 {
-<a name="l00601"></a>00601   <span class="comment">/* Instance data */</span>
-<a name="l00602"></a><a class="code" href="struct__TidyOutputSink.html#a8ea61dfa1ce4ba41a7a9c50b7729ab8a">00602</a>   <span class="keywordtype">void</span>*               <a class="code" href="struct__TidyOutputSink.html#a8ea61dfa1ce4ba41a7a9c50b7729ab8a">sinkData</a>;  <span class="comment">/**&lt; Output context.  Passed to callbacks */</span>
-<a name="l00603"></a>00603 
-<a name="l00604"></a>00604   <span class="comment">/* Methods */</span>
-<a name="l00605"></a><a class="code" href="struct__TidyOutputSink.html#a0b392463d9767dc9fbed2f524fbe7407">00605</a>   <a class="code" href="group__IO.html#ga63bcce5aa5f52e4e2e22aedd750b8bbc">TidyPutByteFunc</a>     <a class="code" href="struct__TidyOutputSink.html#a0b392463d9767dc9fbed2f524fbe7407">putByte</a>;   <span class="comment">/**&lt; Pointer to &quot;put byte&quot; callback */</span>
-<a name="l00606"></a>00606 } <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>;
-<a name="l00607"></a>00607 <span class="comment"></span>
-<a name="l00608"></a>00608 <span class="comment">/** Facilitates user defined sinks by providing</span>
-<a name="l00609"></a>00609 <span class="comment">**  an entry point to marshal pointers-to-functions.</span>
-<a name="l00610"></a>00610 <span class="comment">**  Needed by .NET and possibly other language bindings.</span>
-<a name="l00611"></a>00611 <span class="comment">*/</span>
-<a name="l00612"></a>00612 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__IO.html#ga7e93289be3a7253cdf99a96285e6a2d4">tidyInitSink</a>( <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>* sink, 
-<a name="l00613"></a>00613                                         <span class="keywordtype">void</span>*           snkData,
-<a name="l00614"></a>00614                                         <a class="code" href="group__IO.html#ga63bcce5aa5f52e4e2e22aedd750b8bbc">TidyPutByteFunc</a> pbFunc );
-<a name="l00615"></a>00615 <span class="comment"></span>
-<a name="l00616"></a>00616 <span class="comment">/** Helper: send a byte to output */</span>
-<a name="l00617"></a>00617 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL <a class="code" href="group__IO.html#ga2a34772782d7b786e37012fce4cd2425">tidyPutByte</a>( <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>* sink, uint byteValue );
-<a name="l00618"></a>00618 
-<a name="l00619"></a>00619 <span class="comment"></span>
-<a name="l00620"></a>00620 <span class="comment">/** Callback to filter messages by diagnostic level:</span>
-<a name="l00621"></a>00621 <span class="comment">**  info, warning, etc.  Just set diagnostic output </span>
-<a name="l00622"></a>00622 <span class="comment">**  handler to redirect all diagnostics output.  Return true</span>
-<a name="l00623"></a>00623 <span class="comment">**  to proceed with output, false to cancel.</span>
-<a name="l00624"></a>00624 <span class="comment">*/</span>
-<a name="l00625"></a><a class="code" href="group__IO.html#ga29c5bee28b95924a97ea4fbb81668c5e">00625</a> <span class="keyword">typedef</span> Bool (TIDY_CALL *<a class="code" href="group__IO.html#ga29c5bee28b95924a97ea4fbb81668c5e">TidyReportFilter</a>)( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyReportLevel lvl,
-<a name="l00626"></a>00626                                            uint line, uint col, ctmbstr mssg );
-<a name="l00627"></a>00627 <span class="comment"></span>
-<a name="l00628"></a>00628 <span class="comment">/** Give Tidy a filter callback to use */</span>
-<a name="l00629"></a>00629 TIDY_EXPORT Bool TIDY_CALL    <a class="code" href="group__IO.html#ga51e02523601388bb83c2555b995e68b0">tidySetReportFilter</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc,
-<a name="l00630"></a>00630                                                   <a class="code" href="group__IO.html#ga29c5bee28b95924a97ea4fbb81668c5e">TidyReportFilter</a> filtCallback );
-<a name="l00631"></a>00631 <span class="comment"></span>
-<a name="l00632"></a>00632 <span class="comment">/** Set error sink to named file */</span>
-<a name="l00633"></a>00633 TIDY_EXPORT FILE* TIDY_CALL   <a class="code" href="group__IO.html#ga669758031bbd5d4ba957b19e77229c8b">tidySetErrorFile</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr errfilnam );<span class="comment"></span>
-<a name="l00634"></a>00634 <span class="comment">/** Set error sink to given buffer */</span>
-<a name="l00635"></a>00635 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL     <a class="code" href="group__IO.html#ga5e5cffe93edf4bea0d3214be70d6f77b">tidySetErrorBuffer</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="struct__TidyBuffer.html">TidyBuffer</a>* errbuf );<span class="comment"></span>
-<a name="l00636"></a>00636 <span class="comment">/** Set error sink to given generic sink */</span>
-<a name="l00637"></a>00637 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL     <a class="code" href="group__IO.html#gad47c75f3af85e7927e7ac18918ec6363">tidySetErrorSink</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>* sink );
-<a name="l00638"></a>00638 <span class="comment"></span>
-<a name="l00639"></a>00639 <span class="comment">/** @} end IO group */</span>
-<a name="l00640"></a>00640 
-<a name="l00641"></a>00641 <span class="comment">/* TODO: Catalog all messages for easy translation</span>
-<a name="l00642"></a>00642 <span class="comment">TIDY_EXPORT ctmbstr     tidyLookupMessage( int errorNo );</span>
-<a name="l00643"></a>00643 <span class="comment">*/</span>
-<a name="l00644"></a>00644 
-<a name="l00645"></a>00645 
-<a name="l00646"></a>00646 <span class="comment"></span>
-<a name="l00647"></a>00647 <span class="comment">/** @defgroup Parse Document Parse</span>
-<a name="l00648"></a>00648 <span class="comment">**</span>
-<a name="l00649"></a>00649 <span class="comment">** Parse markup from a given input source.  String and filename </span>
-<a name="l00650"></a>00650 <span class="comment">** functions added for convenience.  HTML/XHTML version determined</span>
-<a name="l00651"></a>00651 <span class="comment">** from input.</span>
-<a name="l00652"></a>00652 <span class="comment">** @{</span>
-<a name="l00653"></a>00653 <span class="comment">*/</span>
-<a name="l00654"></a>00654 <span class="comment"></span>
-<a name="l00655"></a>00655 <span class="comment">/** Parse markup in named file */</span>
-<a name="l00656"></a>00656 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Parse.html#ga5ec263f2e430dd9c9e10437f067b2a28">tidyParseFile</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr filename );
-<a name="l00657"></a>00657 <span class="comment"></span>
-<a name="l00658"></a>00658 <span class="comment">/** Parse markup from the standard input */</span>
-<a name="l00659"></a>00659 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Parse.html#ga96b41ff6e6a7f9d0b9b0e901e33ad31d">tidyParseStdin</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00660"></a>00660 <span class="comment"></span>
-<a name="l00661"></a>00661 <span class="comment">/** Parse markup in given string */</span>
-<a name="l00662"></a>00662 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Parse.html#ga50c02fa244dcd120ae339719c2132ff9">tidyParseString</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr content );
-<a name="l00663"></a>00663 <span class="comment"></span>
-<a name="l00664"></a>00664 <span class="comment">/** Parse markup in given buffer */</span>
-<a name="l00665"></a>00665 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Parse.html#gaa28ce34c95750f150205843885317851">tidyParseBuffer</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="struct__TidyBuffer.html">TidyBuffer</a>* buf );
-<a name="l00666"></a>00666 <span class="comment"></span>
-<a name="l00667"></a>00667 <span class="comment">/** Parse markup in given generic input source */</span>
-<a name="l00668"></a>00668 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Parse.html#gaa65dad2a4ca5fa97d267ddefe1180e0e">tidyParseSource</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>* source);
-<a name="l00669"></a>00669 <span class="comment"></span>
-<a name="l00670"></a>00670 <span class="comment">/** @} End Parse group */</span>
-<a name="l00671"></a>00671 
-<a name="l00672"></a>00672 <span class="comment"></span>
-<a name="l00673"></a>00673 <span class="comment">/** @defgroup Clean Diagnostics and Repair</span>
-<a name="l00674"></a>00674 <span class="comment">**</span>
-<a name="l00675"></a>00675 <span class="comment">** @{</span>
-<a name="l00676"></a>00676 <span class="comment">*/</span><span class="comment"></span>
-<a name="l00677"></a>00677 <span class="comment">/** Execute configured cleanup and repair operations on parsed markup */</span>
-<a name="l00678"></a>00678 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Clean.html#ga11fd23eeb4acfaa0f9501effa0c21269">tidyCleanAndRepair</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00679"></a>00679 <span class="comment"></span>
-<a name="l00680"></a>00680 <span class="comment">/** Run configured diagnostics on parsed and repaired markup. </span>
-<a name="l00681"></a>00681 <span class="comment">**  Must call tidyCleanAndRepair() first.</span>
-<a name="l00682"></a>00682 <span class="comment">*/</span>
-<a name="l00683"></a>00683 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Clean.html#ga6170500974cc02114f6e4a29d44b7d77">tidyRunDiagnostics</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00684"></a>00684 <span class="comment"></span>
-<a name="l00685"></a>00685 <span class="comment">/** @} end Clean group */</span>
-<a name="l00686"></a>00686 
-<a name="l00687"></a>00687 <span class="comment"></span>
-<a name="l00688"></a>00688 <span class="comment">/** @defgroup Save Document Save Functions</span>
-<a name="l00689"></a>00689 <span class="comment">**</span>
-<a name="l00690"></a>00690 <span class="comment">** Save currently parsed document to the given output sink.  File name</span>
-<a name="l00691"></a>00691 <span class="comment">** and string/buffer functions provided for convenience.</span>
-<a name="l00692"></a>00692 <span class="comment">** @{</span>
-<a name="l00693"></a>00693 <span class="comment">*/</span>
-<a name="l00694"></a>00694 <span class="comment"></span>
-<a name="l00695"></a>00695 <span class="comment">/** Save to named file */</span>
-<a name="l00696"></a>00696 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Save.html#ga19ee6e2ee0e719a97cff443ebb19ae44">tidySaveFile</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr filename );
-<a name="l00697"></a>00697 <span class="comment"></span>
-<a name="l00698"></a>00698 <span class="comment">/** Save to standard output (FILE*) */</span>
-<a name="l00699"></a>00699 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Save.html#ga6638d1800ee63fc6bea19bc2bf582be2">tidySaveStdout</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00700"></a>00700 <span class="comment"></span>
-<a name="l00701"></a>00701 <span class="comment">/** Save to given TidyBuffer object */</span>
-<a name="l00702"></a>00702 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Save.html#ga7e8642262c8c4d34cf7cc426647d29f0">tidySaveBuffer</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="struct__TidyBuffer.html">TidyBuffer</a>* buf );
-<a name="l00703"></a>00703 <span class="comment"></span>
-<a name="l00704"></a>00704 <span class="comment">/** Save document to application buffer.  If buffer is not big enough,</span>
-<a name="l00705"></a>00705 <span class="comment">**  ENOMEM will be returned and the necessary buffer size will be placed</span>
-<a name="l00706"></a>00706 <span class="comment">**  in *buflen.</span>
-<a name="l00707"></a>00707 <span class="comment">*/</span>
-<a name="l00708"></a>00708 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Save.html#gaf684fefd3e42f459cf0a4ebe937ce12b">tidySaveString</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc,
-<a name="l00709"></a>00709                                                  tmbstr buffer, uint* buflen );
-<a name="l00710"></a>00710 <span class="comment"></span>
-<a name="l00711"></a>00711 <span class="comment">/** Save to given generic output sink */</span>
-<a name="l00712"></a>00712 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Save.html#gaea985b28470453d0218092b137f71e77">tidySaveSink</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>* sink );
-<a name="l00713"></a>00713 <span class="comment"></span>
-<a name="l00714"></a>00714 <span class="comment">/** @} end Save group */</span>
-<a name="l00715"></a>00715 
-<a name="l00716"></a>00716 <span class="comment"></span>
-<a name="l00717"></a>00717 <span class="comment">/** @addtogroup Basic</span>
-<a name="l00718"></a>00718 <span class="comment">** @{</span>
-<a name="l00719"></a>00719 <span class="comment">*/</span><span class="comment"></span>
-<a name="l00720"></a>00720 <span class="comment">/** Save current settings to named file.</span>
-<a name="l00721"></a>00721 <span class="comment">    Only non-default values are written. */</span>
-<a name="l00722"></a>00722 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#gaaa6e0510b0d7ca0524c928143488c6ca">tidyOptSaveFile</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr cfgfil );
-<a name="l00723"></a>00723 <span class="comment"></span>
-<a name="l00724"></a>00724 <span class="comment">/** Save current settings to given output sink.</span>
-<a name="l00725"></a>00725 <span class="comment">    Only non-default values are written. */</span>
-<a name="l00726"></a>00726 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#gabf30cc37e3e7aa07dd351f083ab747ee">tidyOptSaveSink</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>* sink );
-<a name="l00727"></a>00727 
-<a name="l00728"></a>00728 
-<a name="l00729"></a>00729 <span class="comment">/* Error reporting functions </span>
-<a name="l00730"></a>00730 <span class="comment">*/</span>
-<a name="l00731"></a>00731 <span class="comment"></span>
-<a name="l00732"></a>00732 <span class="comment">/** Write more complete information about errors to current error sink. */</span>
-<a name="l00733"></a>00733 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL        <a class="code" href="group__Basic.html#ga4c050ea7d2746db948ad45edb2264d70">tidyErrorSummary</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00734"></a>00734 <span class="comment"></span>
-<a name="l00735"></a>00735 <span class="comment">/** Write more general information about markup to current error sink. */</span>
-<a name="l00736"></a>00736 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL        <a class="code" href="group__Basic.html#ga28384bf13bf6962c8ef0bcab9b4b7971">tidyGeneralInfo</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00737"></a>00737 <span class="comment"></span>
-<a name="l00738"></a>00738 <span class="comment">/** @} end Basic group (again) */</span>
-<a name="l00739"></a>00739 
-<a name="l00740"></a>00740 <span class="comment"></span>
-<a name="l00741"></a>00741 <span class="comment">/** @defgroup Tree Document Tree</span>
-<a name="l00742"></a>00742 <span class="comment">**</span>
-<a name="l00743"></a>00743 <span class="comment">** A parsed and, optionally, repaired document is</span>
-<a name="l00744"></a>00744 <span class="comment">** represented by Tidy as a Tree, much like a W3C DOM.</span>
-<a name="l00745"></a>00745 <span class="comment">** This tree may be traversed using these functions.</span>
-<a name="l00746"></a>00746 <span class="comment">** The following snippet gives a basic idea how these</span>
-<a name="l00747"></a>00747 <span class="comment">** functions can be used.</span>
-<a name="l00748"></a>00748 <span class="comment">**</span>
-<a name="l00749"></a>00749 <span class="comment">&lt;pre&gt;</span>
-<a name="l00750"></a>00750 <span class="comment">void dumpNode( TidyNode tnod, int indent )</span>
-<a name="l00751"></a>00751 <span class="comment">{</span>
-<a name="l00752"></a>00752 <span class="comment">  TidyNode child;</span>
-<a name="l00753"></a>00753 <span class="comment"></span>
-<a name="l00754"></a>00754 <span class="comment">  for ( child = tidyGetChild(tnod); child; child = tidyGetNext(child) )</span>
-<a name="l00755"></a>00755 <span class="comment">  {</span>
-<a name="l00756"></a>00756 <span class="comment">    ctmbstr name;</span>
-<a name="l00757"></a>00757 <span class="comment">    switch ( tidyNodeGetType(child) )</span>
-<a name="l00758"></a>00758 <span class="comment">    {</span>
-<a name="l00759"></a>00759 <span class="comment">    case TidyNode_Root:       name = &quot;Root&quot;;                    break;</span>
-<a name="l00760"></a>00760 <span class="comment">    case TidyNode_DocType:    name = &quot;DOCTYPE&quot;;                 break;</span>
-<a name="l00761"></a>00761 <span class="comment">    case TidyNode_Comment:    name = &quot;Comment&quot;;                 break;</span>
-<a name="l00762"></a>00762 <span class="comment">    case TidyNode_ProcIns:    n

<TRUNCATED>