HTML Tidy  0.1
Basic Operations

Functions

TidyDoc TIDY_CALL tidyCreate (void)
TidyDoc TIDY_CALL tidyCreateWithAllocator (TidyAllocator *allocator)
void TIDY_CALL tidyRelease (TidyDoc tdoc)
void TIDY_CALL tidySetAppData (TidyDoc tdoc, void *appData)
void *TIDY_CALL tidyGetAppData (TidyDoc tdoc)
ctmbstr TIDY_CALL tidyReleaseDate (void)
int TIDY_CALL tidyStatus (TidyDoc tdoc)
int TIDY_CALL tidyDetectedHtmlVersion (TidyDoc tdoc)
Bool TIDY_CALL tidyDetectedXhtml (TidyDoc tdoc)
Bool TIDY_CALL tidyDetectedGenericXml (TidyDoc tdoc)
uint TIDY_CALL tidyErrorCount (TidyDoc tdoc)
uint TIDY_CALL tidyWarningCount (TidyDoc tdoc)
uint TIDY_CALL tidyAccessWarningCount (TidyDoc tdoc)
uint TIDY_CALL tidyConfigErrorCount (TidyDoc tdoc)
int TIDY_CALL tidyLoadConfig (TidyDoc tdoc, ctmbstr configFile)
int TIDY_CALL tidyLoadConfigEnc (TidyDoc tdoc, ctmbstr configFile, ctmbstr charenc)
Bool TIDY_CALL tidyFileExists (TidyDoc tdoc, ctmbstr filename)
int TIDY_CALL tidySetCharEncoding (TidyDoc tdoc, ctmbstr encnam)
int TIDY_CALL tidySetInCharEncoding (TidyDoc tdoc, ctmbstr encnam)
int TIDY_CALL tidySetOutCharEncoding (TidyDoc tdoc, ctmbstr encnam)
int TIDY_CALL tidyOptSaveFile (TidyDoc tdoc, ctmbstr cfgfil)
int TIDY_CALL tidyOptSaveSink (TidyDoc tdoc, TidyOutputSink *sink)
void TIDY_CALL tidyErrorSummary (TidyDoc tdoc)
void TIDY_CALL tidyGeneralInfo (TidyDoc tdoc)

Detailed Description

Tidy public interface

Several functions return an integer document status:

 0    -> SUCCESS
 >0   -> 1 == TIDY WARNING, 2 == TIDY ERROR
 <0   -> SEVERE ERROR
 

The following is a short example program.

#include <tidy.h>
#include <buffio.h>
#include <stdio.h>
#include <errno.h>
int main(int argc, char **argv )
{
  const char* input = "&lt;title&gt;Foo&lt;/title&gt;&lt;p&gt;Foo!";
  TidyBuffer output;
  TidyBuffer errbuf;
  int rc = -1;
  Bool ok;
  TidyDoc tdoc = tidyCreate();                     // Initialize "document"
  tidyBufInit( &output );
  tidyBufInit( &errbuf );
  printf( "Tidying:\t\%s\\n", input );
  ok = tidyOptSetBool( tdoc, TidyXhtmlOut, yes );  // Convert to XHTML
  if ( ok )
    rc = tidySetErrorBuffer( tdoc, &errbuf );      // Capture diagnostics
  if ( rc >= 0 )
    rc = tidyParseString( tdoc, input );           // Parse the input
  if ( rc >= 0 )
    rc = tidyCleanAndRepair( tdoc );               // Tidy it up!
  if ( rc >= 0 )
    rc = tidyRunDiagnostics( tdoc );               // Kvetch
  if ( rc > 1 )                                    // If error, force output.
    rc = ( tidyOptSetBool(tdoc, TidyForceOutput, yes) ? rc : -1 );
  if ( rc >= 0 )
    rc = tidySaveBuffer( tdoc, &output );          // Pretty Print
  if ( rc >= 0 )
  {
    if ( rc > 0 )
      printf( "\\nDiagnostics:\\n\\n\%s", errbuf.bp );
    printf( "\\nAnd here is the result:\\n\\n\%s", output.bp );
  }
  else
    printf( "A severe error (\%d) occurred.\\n", rc );
  tidyBufFree( &output );
  tidyBufFree( &errbuf );
  tidyRelease( tdoc );
  return rc;
}

Function Documentation

void TIDY_CALL tidySetAppData ( TidyDoc  tdoc,
void *  appData 
)

Let application store a chunk of data w/ each Tidy instance. Useful for callbacks.

void* TIDY_CALL tidyGetAppData ( TidyDoc  tdoc)

Get application data set previously

ctmbstr TIDY_CALL tidyReleaseDate ( void  )

Get release date (version) for current library

int TIDY_CALL tidyStatus ( TidyDoc  tdoc)

Get status of current document.

int TIDY_CALL tidyDetectedHtmlVersion ( TidyDoc  tdoc)

Detected HTML version: 0, 2, 3 or 4

Bool TIDY_CALL tidyDetectedXhtml ( TidyDoc  tdoc)

Input is XHTML?

Bool TIDY_CALL tidyDetectedGenericXml ( TidyDoc  tdoc)

Input is generic XML (not HTML or XHTML)?

uint TIDY_CALL tidyErrorCount ( TidyDoc  tdoc)

Number of Tidy errors encountered. If > 0, output is suppressed unless TidyForceOutput is set.

uint TIDY_CALL tidyWarningCount ( TidyDoc  tdoc)

Number of Tidy warnings encountered.

uint TIDY_CALL tidyAccessWarningCount ( TidyDoc  tdoc)

Number of Tidy accessibility warnings encountered.

uint TIDY_CALL tidyConfigErrorCount ( TidyDoc  tdoc)

Number of Tidy configuration errors encountered.

int TIDY_CALL tidyLoadConfig ( TidyDoc  tdoc,
ctmbstr  configFile 
)

Load an ASCII Tidy configuration file

int TIDY_CALL tidyLoadConfigEnc ( TidyDoc  tdoc,
ctmbstr  configFile,
ctmbstr  charenc 
)

Load a Tidy configuration file with the specified character encoding

int TIDY_CALL tidySetCharEncoding ( TidyDoc  tdoc,
ctmbstr  encnam 
)

Set the input/output character encoding for parsing markup. Values include: ascii, latin1, raw, utf8, iso2022, mac, win1252, utf16le, utf16be, utf16, big5 and shiftjis. Case in-sensitive.

int TIDY_CALL tidySetInCharEncoding ( TidyDoc  tdoc,
ctmbstr  encnam 
)

Set the input encoding for parsing markup. As for tidySetCharEncoding but only affects the input encoding

int TIDY_CALL tidySetOutCharEncoding ( TidyDoc  tdoc,
ctmbstr  encnam 
)

Set the output encoding.

int TIDY_CALL tidyOptSaveFile ( TidyDoc  tdoc,
ctmbstr  cfgfil 
)

Save current settings to named file. Only non-default values are written.

int TIDY_CALL tidyOptSaveSink ( TidyDoc  tdoc,
TidyOutputSink sink 
)

Save current settings to given output sink. Only non-default values are written.

void TIDY_CALL tidyErrorSummary ( TidyDoc  tdoc)

Write more complete information about errors to current error sink.

void TIDY_CALL tidyGeneralInfo ( TidyDoc  tdoc)

Write more general information about markup to current error sink.