HTML Tidy: Basic Operations

HTML Tidy 0.1

Functions
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.