GIF89a; EcchiShell v1.0
//proc/self/root/usr/include/

** 0 -> SUCCESS ** >0 -> 1 == TIDY WARNING, 2 == TIDY ERROR ** <0 -> SEVERE ERROR ** ** The following is a short example program.

\#include <tidy.h>
\#include <tidybuffio.h>
\#include <stdio.h>
\#include <errno.h>


int main(int argc, char **argv )
{
  const char* input = "<title>Foo</title><p>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;
}
** @{ */ /** The primary creation of a TidyDoc. ** This must be the first call before most of the Tidy API which require the TidyDoc parameter. ** When completed tidyRelease( TidyDoc tdoc ); should be called to release all memory */ TIDY_EXPORT TidyDoc TIDY_CALL tidyCreate(void); /** Create a Tidoc supplying the TidyAllocator. ** See the TidyAllocator structure for creating an allocator */ TIDY_EXPORT TidyDoc TIDY_CALL tidyCreateWithAllocator( TidyAllocator *allocator ); /** Free all memory and release the TidyDoc. ** TidyDoc can not be used after this call. */ TIDY_EXPORT void TIDY_CALL tidyRelease( TidyDoc tdoc ); /** Let application store a chunk of data w/ each Tidy instance. ** Useful for callbacks. */ TIDY_EXPORT void TIDY_CALL tidySetAppData( TidyDoc tdoc, void* appData ); /** Get application data set previously */ TIDY_EXPORT void* TIDY_CALL tidyGetAppData( TidyDoc tdoc ); /** Get release date (version) for current library ** @deprecated tidyReleaseDate() is deprecated in favor of semantic ** versioning and should be replaced with tidyLibraryVersion(). */ TIDY_EXPORT ctmbstr TIDY_CALL tidyReleaseDate(void); /** Get version number for the current library */ TIDY_EXPORT ctmbstr TIDY_CALL tidyLibraryVersion(void); /* Diagnostics and Repair */ /** Get status of current document. */ TIDY_EXPORT int TIDY_CALL tidyStatus( TidyDoc tdoc ); /** Detected HTML version: 0, 2, 3 or 4 */ TIDY_EXPORT int TIDY_CALL tidyDetectedHtmlVersion( TidyDoc tdoc ); /** Input is XHTML? */ TIDY_EXPORT Bool TIDY_CALL tidyDetectedXhtml( TidyDoc tdoc ); /** Input is generic XML (not HTML or XHTML)? */ TIDY_EXPORT Bool TIDY_CALL tidyDetectedGenericXml( TidyDoc tdoc ); /** Number of Tidy errors encountered. If > 0, output is suppressed ** unless TidyForceOutput is set. */ TIDY_EXPORT uint TIDY_CALL tidyErrorCount( TidyDoc tdoc ); /** Number of Tidy warnings encountered. */ TIDY_EXPORT uint TIDY_CALL tidyWarningCount( TidyDoc tdoc ); /** Number of Tidy accessibility warnings encountered. */ TIDY_EXPORT uint TIDY_CALL tidyAccessWarningCount( TidyDoc tdoc ); /** Number of Tidy configuration errors encountered. */ TIDY_EXPORT uint TIDY_CALL tidyConfigErrorCount( TidyDoc tdoc ); /* Get/Set configuration options */ /** Load an ASCII Tidy configuration file */ TIDY_EXPORT int TIDY_CALL tidyLoadConfig( TidyDoc tdoc, ctmbstr configFile ); /** Load a Tidy configuration file with the specified character encoding */ TIDY_EXPORT int TIDY_CALL tidyLoadConfigEnc( TidyDoc tdoc, ctmbstr configFile, ctmbstr charenc ); TIDY_EXPORT Bool TIDY_CALL tidyFileExists( TidyDoc tdoc, ctmbstr filename ); /** 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. */ TIDY_EXPORT int TIDY_CALL tidySetCharEncoding( TidyDoc tdoc, ctmbstr encnam ); /** Set the input encoding for parsing markup. ** As for tidySetCharEncoding but only affects the input encoding **/ TIDY_EXPORT int TIDY_CALL tidySetInCharEncoding( TidyDoc tdoc, ctmbstr encnam ); /** Set the output encoding. **/ TIDY_EXPORT int TIDY_CALL tidySetOutCharEncoding( TidyDoc tdoc, ctmbstr encnam ); /** @} end Basic group */ /** @defgroup Configuration Configuration Options ** ** Functions for getting and setting Tidy configuration options. ** @{ */ /** Applications using TidyLib may want to augment command-line and ** configuration file options. Setting this callback allows an application ** developer to examine command-line and configuration file options after ** TidyLib has examined them and failed to recognize them. **/ typedef Bool (TIDY_CALL *TidyOptCallback)( ctmbstr option, ctmbstr value ); TIDY_EXPORT Bool TIDY_CALL tidySetOptionCallback( TidyDoc tdoc, TidyOptCallback pOptCallback ); /** Get option ID by name */ TIDY_EXPORT TidyOptionId TIDY_CALL tidyOptGetIdForName( ctmbstr optnam ); /** Get iterator for list of option */ /** Example:
TidyIterator itOpt = tidyGetOptionList( tdoc );
while ( itOpt )
{
  TidyOption opt = tidyGetNextOption( tdoc, &itOpt );
  .. get/set option values ..
}
*/ TIDY_EXPORT TidyIterator TIDY_CALL tidyGetOptionList( TidyDoc tdoc ); /** Get next Option */ TIDY_EXPORT TidyOption TIDY_CALL tidyGetNextOption( TidyDoc tdoc, TidyIterator* pos ); /** Lookup option by ID */ TIDY_EXPORT TidyOption TIDY_CALL tidyGetOption( TidyDoc tdoc, TidyOptionId optId ); /** Lookup option by name */ TIDY_EXPORT TidyOption TIDY_CALL tidyGetOptionByName( TidyDoc tdoc, ctmbstr optnam ); /** Get ID of given Option */ TIDY_EXPORT TidyOptionId TIDY_CALL tidyOptGetId( TidyOption opt ); /** Get name of given Option */ TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetName( TidyOption opt ); /** Get datatype of given Option */ TIDY_EXPORT TidyOptionType TIDY_CALL tidyOptGetType( TidyOption opt ); /** Is Option read-only? */ TIDY_EXPORT Bool TIDY_CALL tidyOptIsReadOnly( TidyOption opt ); /** Get category of given Option */ TIDY_EXPORT TidyConfigCategory TIDY_CALL tidyOptGetCategory( TidyOption opt ); /** Get default value of given Option as a string */ TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetDefault( TidyOption opt ); /** Get default value of given Option as an unsigned integer */ TIDY_EXPORT ulong TIDY_CALL tidyOptGetDefaultInt( TidyOption opt ); /** Get default value of given Option as a Boolean value */ TIDY_EXPORT Bool TIDY_CALL tidyOptGetDefaultBool( TidyOption opt ); /** Iterate over Option "pick list" */ TIDY_EXPORT TidyIterator TIDY_CALL tidyOptGetPickList( TidyOption opt ); /** Get next string value of Option "pick list" */ TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetNextPick( TidyOption opt, TidyIterator* pos ); /** Get string Option current value. Note, the optID "must" be a type 'TidyString'! */ TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetValue( TidyDoc tdoc, TidyOptionId optId ); /** Set Option value as a string */ TIDY_EXPORT Bool TIDY_CALL tidyOptSetValue( TidyDoc tdoc, TidyOptionId optId, ctmbstr val ); /** Set named Option value as a string. Good if not sure of type. */ TIDY_EXPORT Bool TIDY_CALL tidyOptParseValue( TidyDoc tdoc, ctmbstr optnam, ctmbstr val ); /** Get current Option value as an integer */ TIDY_EXPORT ulong TIDY_CALL tidyOptGetInt( TidyDoc tdoc, TidyOptionId optId ); /** Set Option value as an integer */ TIDY_EXPORT Bool TIDY_CALL tidyOptSetInt( TidyDoc tdoc, TidyOptionId optId, ulong val ); /** Get current Option value as a Boolean flag */ TIDY_EXPORT Bool TIDY_CALL tidyOptGetBool( TidyDoc tdoc, TidyOptionId optId ); /** Set Option value as a Boolean flag */ TIDY_EXPORT Bool TIDY_CALL tidyOptSetBool( TidyDoc tdoc, TidyOptionId optId, Bool val ); /** Reset option to default value by ID */ TIDY_EXPORT Bool TIDY_CALL tidyOptResetToDefault( TidyDoc tdoc, TidyOptionId opt ); /** Reset all options to their default values */ TIDY_EXPORT Bool TIDY_CALL tidyOptResetAllToDefault( TidyDoc tdoc ); /** Take a snapshot of current config settings */ TIDY_EXPORT Bool TIDY_CALL tidyOptSnapshot( TidyDoc tdoc ); /** Reset config settings to snapshot (after document processing) */ TIDY_EXPORT Bool TIDY_CALL tidyOptResetToSnapshot( TidyDoc tdoc ); /** Any settings different than default? */ TIDY_EXPORT Bool TIDY_CALL tidyOptDiffThanDefault( TidyDoc tdoc ); /** Any settings different than snapshot? */ TIDY_EXPORT Bool TIDY_CALL tidyOptDiffThanSnapshot( TidyDoc tdoc ); /** Copy current configuration settings from one document to another */ TIDY_EXPORT Bool TIDY_CALL tidyOptCopyConfig( TidyDoc tdocTo, TidyDoc tdocFrom ); /** Get character encoding name. Used with TidyCharEncoding, ** TidyOutCharEncoding, TidyInCharEncoding */ TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetEncName( TidyDoc tdoc, TidyOptionId optId ); /** Get current pick list value for option by ID. Useful for enum types. */ TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetCurrPick( TidyDoc tdoc, TidyOptionId optId); /** Iterate over user declared tags */ TIDY_EXPORT TidyIterator TIDY_CALL tidyOptGetDeclTagList( TidyDoc tdoc ); /** Get next declared tag of specified type: TidyInlineTags, TidyBlockTags, ** TidyEmptyTags, TidyPreTags */ TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetNextDeclTag( TidyDoc tdoc, TidyOptionId optId, TidyIterator* iter ); /** Get option description */ TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetDoc( TidyDoc tdoc, TidyOption opt ); /** Iterate over a list of related options */ TIDY_EXPORT TidyIterator TIDY_CALL tidyOptGetDocLinksList( TidyDoc tdoc, TidyOption opt ); /** Get next related option */ TIDY_EXPORT TidyOption TIDY_CALL tidyOptGetNextDocLinks( TidyDoc tdoc, TidyIterator* pos ); /** @} end Configuration group */ /** @defgroup IO I/O and Messages ** ** By default, Tidy will define, create and use ** instances of input and output handlers for ** standard C buffered I/O (i.e. FILE* stdin, ** FILE* stdout and FILE* stderr for content ** input, content output and diagnostic output, ** respectively. A FILE* cfgFile input handler ** will be used for config files. Command line ** options will just be set directly. ** ** @{ */ /***************** Input Source *****************/ /** Input Callback: get next byte of input */ typedef int (TIDY_CALL *TidyGetByteFunc)( void* sourceData ); /** Input Callback: unget a byte of input */ typedef void (TIDY_CALL *TidyUngetByteFunc)( void* sourceData, byte bt ); /** Input Callback: is end of input? */ typedef Bool (TIDY_CALL *TidyEOFFunc)( void* sourceData ); /** End of input "character" */ #define EndOfStream (~0u) /** TidyInputSource - Delivers raw bytes of input */ TIDY_STRUCT typedef struct _TidyInputSource { /* Instance data */ void* sourceData; /**< Input context. Passed to callbacks */ /* Methods */ TidyGetByteFunc getByte; /**< Pointer to "get byte" callback */ TidyUngetByteFunc ungetByte; /**< Pointer to "unget" callback */ TidyEOFFunc eof; /**< Pointer to "eof" callback */ } TidyInputSource; /** Facilitates user defined source by providing ** an entry point to marshal pointers-to-functions. ** Needed by .NET and possibly other language bindings. */ TIDY_EXPORT Bool TIDY_CALL tidyInitSource( TidyInputSource* source, void* srcData, TidyGetByteFunc gbFunc, TidyUngetByteFunc ugbFunc, TidyEOFFunc endFunc ); /** Helper: get next byte from input source */ TIDY_EXPORT uint TIDY_CALL tidyGetByte( TidyInputSource* source ); /** Helper: unget byte back to input source */ TIDY_EXPORT void TIDY_CALL tidyUngetByte( TidyInputSource* source, uint byteValue ); /** Helper: check if input source at end */ TIDY_EXPORT Bool TIDY_CALL tidyIsEOF( TidyInputSource* source ); /**************** Output Sink ****************/ /** Output callback: send a byte to output */ typedef void (TIDY_CALL *TidyPutByteFunc)( void* sinkData, byte bt ); /** TidyOutputSink - accepts raw bytes of output */ TIDY_STRUCT typedef struct _TidyOutputSink { /* Instance data */ void* sinkData; /**< Output context. Passed to callbacks */ /* Methods */ TidyPutByteFunc putByte; /**< Pointer to "put byte" callback */ } TidyOutputSink; /** Facilitates user defined sinks by providing ** an entry point to marshal pointers-to-functions. ** Needed by .NET and possibly other language bindings. */ TIDY_EXPORT Bool TIDY_CALL tidyInitSink( TidyOutputSink* sink, void* snkData, TidyPutByteFunc pbFunc ); /** Helper: send a byte to output */ TIDY_EXPORT void TIDY_CALL tidyPutByte( TidyOutputSink* sink, uint byteValue ); /**************** Errors ****************/ /** Callback to filter messages by diagnostic level: ** info, warning, etc. Just set diagnostic output ** handler to redirect all diagnostics output. Return true ** to proceed with output, false to cancel. */ typedef Bool (TIDY_CALL *TidyReportFilter)( TidyDoc tdoc, TidyReportLevel lvl, uint line, uint col, ctmbstr mssg ); typedef Bool (TIDY_CALL *TidyReportFilter2)( TidyDoc tdoc, TidyReportLevel lvl, uint line, uint col, ctmbstr mssg, va_list args ); typedef Bool (TIDY_CALL *TidyReportFilter3)( TidyDoc tdoc, TidyReportLevel lvl, uint line, uint col, ctmbstr code, va_list args ); /** Give Tidy a filter callback to use */ TIDY_EXPORT Bool TIDY_CALL tidySetReportFilter( TidyDoc tdoc, TidyReportFilter filtCallback ); TIDY_EXPORT Bool TIDY_CALL tidySetReportFilter2( TidyDoc tdoc, TidyReportFilter2 filtCallback ); TIDY_EXPORT Bool TIDY_CALL tidySetReportFilter3( TidyDoc tdoc, TidyReportFilter3 filtCallback ); /** Set error sink to named file */ TIDY_EXPORT FILE* TIDY_CALL tidySetErrorFile( TidyDoc tdoc, ctmbstr errfilnam ); /** Set error sink to given buffer */ TIDY_EXPORT int TIDY_CALL tidySetErrorBuffer( TidyDoc tdoc, TidyBuffer* errbuf ); /** Set error sink to given generic sink */ TIDY_EXPORT int TIDY_CALL tidySetErrorSink( TidyDoc tdoc, TidyOutputSink* sink ); /**************** Printing ****************/ /** Callback to track the progress of the pretting printing process. ** */ typedef void (TIDY_CALL *TidyPPProgress)( TidyDoc tdoc, uint line, uint col, uint destLine ); TIDY_EXPORT Bool TIDY_CALL tidySetPrettyPrinterCallback( TidyDoc tdoc, TidyPPProgress callback ); /** @} end IO group */ /* TODO: Catalog all messages for easy translation TIDY_EXPORT ctmbstr tidyLookupMessage( int errorNo ); */ /** @defgroup Parse Document Parse ** ** Parse markup from a given input source. String and filename ** functions added for convenience. HTML/XHTML version determined ** from input. ** @{ */ /** Parse markup in named file */ TIDY_EXPORT int TIDY_CALL tidyParseFile( TidyDoc tdoc, ctmbstr filename ); /** Parse markup from the standard input */ TIDY_EXPORT int TIDY_CALL tidyParseStdin( TidyDoc tdoc ); /** Parse markup in given string */ TIDY_EXPORT int TIDY_CALL tidyParseString( TidyDoc tdoc, ctmbstr content ); /** Parse markup in given buffer */ TIDY_EXPORT int TIDY_CALL tidyParseBuffer( TidyDoc tdoc, TidyBuffer* buf ); /** Parse markup in given generic input source */ TIDY_EXPORT int TIDY_CALL tidyParseSource( TidyDoc tdoc, TidyInputSource* source); /** @} End Parse group */ /** @defgroup Clean Diagnostics and Repair ** ** @{ */ /** Execute configured cleanup and repair operations on parsed markup */ TIDY_EXPORT int TIDY_CALL tidyCleanAndRepair( TidyDoc tdoc ); /** Run configured diagnostics on parsed and repaired markup. ** Must call tidyCleanAndRepair() first. */ TIDY_EXPORT int TIDY_CALL tidyRunDiagnostics( TidyDoc tdoc ); TIDY_EXPORT int TIDY_CALL tidyReportDoctype( TidyDoc tdoc ); /** @} end Clean group */ /** @defgroup Save Document Save Functions ** ** Save currently parsed document to the given output sink. File name ** and string/buffer functions provided for convenience. ** @{ */ /** Save to named file */ TIDY_EXPORT int TIDY_CALL tidySaveFile( TidyDoc tdoc, ctmbstr filename ); /** Save to standard output (FILE*) */ TIDY_EXPORT int TIDY_CALL tidySaveStdout( TidyDoc tdoc ); /** Save to given TidyBuffer object */ TIDY_EXPORT int TIDY_CALL tidySaveBuffer( TidyDoc tdoc, TidyBuffer* buf ); /** Save document to application buffer. If TidyShowMarkup and ** the document has no errors, or TidyForceOutput, the current ** document, per the current configuration, will be Pretty Printed ** to the application buffer. The document byte length, ** not character length, will be placed in *buflen. The document ** will not be null terminated. If the buffer is not big enough, ** ENOMEM will be returned, else the actual document status. */ TIDY_EXPORT int TIDY_CALL tidySaveString( TidyDoc tdoc, tmbstr buffer, uint* buflen ); /** Save to given generic output sink */ TIDY_EXPORT int TIDY_CALL tidySaveSink( TidyDoc tdoc, TidyOutputSink* sink ); /** @} end Save group */ /** @addtogroup Basic ** @{ */ /** Save current settings to named file. Only non-default values are written. */ TIDY_EXPORT int TIDY_CALL tidyOptSaveFile( TidyDoc tdoc, ctmbstr cfgfil ); /** Save current settings to given output sink. Only non-default values are written. */ TIDY_EXPORT int TIDY_CALL tidyOptSaveSink( TidyDoc tdoc, TidyOutputSink* sink ); /* Error reporting functions */ /** Write more complete information about errors to current error sink. */ TIDY_EXPORT void TIDY_CALL tidyErrorSummary( TidyDoc tdoc ); /** Write more general information about markup to current error sink. */ TIDY_EXPORT void TIDY_CALL tidyGeneralInfo( TidyDoc tdoc ); /** @} end Basic group (again) */ /** @defgroup Tree Document Tree ** ** A parsed and, optionally, repaired document is ** represented by Tidy as a Tree, much like a W3C DOM. ** This tree may be traversed using these functions. ** The following snippet gives a basic idea how these ** functions can be used. **
void dumpNode( TidyNode tnod, int indent )
{
  TidyNode child;

  for ( child = tidyGetChild(tnod); child; child = tidyGetNext(child) )
  {
    ctmbstr name;
    switch ( tidyNodeGetType(child) )
    {
    case TidyNode_Root:       name = "Root";                    break;
    case TidyNode_DocType:    name = "DOCTYPE";                 break;
    case TidyNode_Comment:    name = "Comment";                 break;
    case TidyNode_ProcIns:    name = "Processing Instruction";  break;
    case TidyNode_Text:       name = "Text";                    break;
    case TidyNode_CDATA:      name = "CDATA";                   break;
    case TidyNode_Section:    name = "XML Section";             break;
    case TidyNode_Asp:        name = "ASP";                     break;
    case TidyNode_Jste:       name = "JSTE";                    break;
    case TidyNode_Php:        name = "PHP";                     break;
    case TidyNode_XmlDecl:    name = "XML Declaration";         break;

    case TidyNode_Start:
    case TidyNode_End:
    case TidyNode_StartEnd:
    default:
      name = tidyNodeGetName( child );
      break;
    }
    assert( name != NULL );
    printf( "\%*.*sNode: \%s\\n", indent, indent, " ", name );
    dumpNode( child, indent + 4 );
  }
}

void dumpDoc( TidyDoc tdoc )
{
  dumpNode( tidyGetRoot(tdoc), 0 );
}

void dumpBody( TidyDoc tdoc )
{
  dumpNode( tidyGetBody(tdoc), 0 );
}
@{ */ TIDY_EXPORT TidyNode TIDY_CALL tidyGetRoot( TidyDoc tdoc ); TIDY_EXPORT TidyNode TIDY_CALL tidyGetHtml( TidyDoc tdoc ); TIDY_EXPORT TidyNode TIDY_CALL tidyGetHead( TidyDoc tdoc ); TIDY_EXPORT TidyNode TIDY_CALL tidyGetBody( TidyDoc tdoc ); /* remove a node */ TIDY_EXPORT TidyNode TIDY_CALL tidyDiscardElement( TidyDoc tdoc, TidyNode tnod ); /* parent / child */ TIDY_EXPORT TidyNode TIDY_CALL tidyGetParent( TidyNode tnod ); TIDY_EXPORT TidyNode TIDY_CALL tidyGetChild( TidyNode tnod ); /* siblings */ TIDY_EXPORT TidyNode TIDY_CALL tidyGetNext( TidyNode tnod ); TIDY_EXPORT TidyNode TIDY_CALL tidyGetPrev( TidyNode tnod ); /* Null for non-element nodes and all pure HTML TIDY_EXPORT ctmbstr tidyNodeNsLocal( TidyNode tnod ); TIDY_EXPORT ctmbstr tidyNodeNsPrefix( TidyNode tnod ); TIDY_EXPORT ctmbstr tidyNodeNsUri( TidyNode tnod ); */ /* Iterate over attribute values */ TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrFirst( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrNext( TidyAttr tattr ); TIDY_EXPORT ctmbstr TIDY_CALL tidyAttrName( TidyAttr tattr ); TIDY_EXPORT ctmbstr TIDY_CALL tidyAttrValue( TidyAttr tattr ); TIDY_EXPORT void TIDY_CALL tidyAttrDiscard( TidyDoc itdoc, TidyNode tnod, TidyAttr tattr ); /* Null for pure HTML TIDY_EXPORT ctmbstr tidyAttrNsLocal( TidyAttr tattr ); TIDY_EXPORT ctmbstr tidyAttrNsPrefix( TidyAttr tattr ); TIDY_EXPORT ctmbstr tidyAttrNsUri( TidyAttr tattr ); */ /** @} end Tree group */ /** @defgroup NodeAsk Node Interrogation ** ** Get information about any givent node. ** @{ */ /* Node info */ TIDY_EXPORT TidyNodeType TIDY_CALL tidyNodeGetType( TidyNode tnod ); TIDY_EXPORT ctmbstr TIDY_CALL tidyNodeGetName( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsText( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsProp( TidyDoc tdoc, TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsHeader( TidyNode tnod ); /* h1, h2, ... */ TIDY_EXPORT Bool TIDY_CALL tidyNodeHasText( TidyDoc tdoc, TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeGetText( TidyDoc tdoc, TidyNode tnod, TidyBuffer* buf ); /* Copy the unescaped value of this node into the given TidyBuffer as UTF-8 */ TIDY_EXPORT Bool TIDY_CALL tidyNodeGetValue( TidyDoc tdoc, TidyNode tnod, TidyBuffer* buf ); TIDY_EXPORT TidyTagId TIDY_CALL tidyNodeGetId( TidyNode tnod ); TIDY_EXPORT uint TIDY_CALL tidyNodeLine( TidyNode tnod ); TIDY_EXPORT uint TIDY_CALL tidyNodeColumn( TidyNode tnod ); /** @defgroup NodeIsElementName Deprecated node interrogation per TagId ** ** @deprecated The functions tidyNodeIs{ElementName} are deprecated and ** should be replaced by tidyNodeGetId. ** @{ */ TIDY_EXPORT Bool TIDY_CALL tidyNodeIsHTML( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsHEAD( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsTITLE( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsBASE( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsMETA( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsBODY( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsFRAMESET( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsFRAME( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsIFRAME( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsNOFRAMES( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsHR( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsH1( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsH2( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsPRE( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsLISTING( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsP( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsUL( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsOL( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsDL( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsDIR( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsLI( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsDT( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsDD( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsTABLE( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsCAPTION( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsTD( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsTH( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsTR( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsCOL( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsCOLGROUP( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsBR( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsA( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsLINK( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsB( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsI( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsSTRONG( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsEM( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsBIG( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsSMALL( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsPARAM( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsOPTION( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsOPTGROUP( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsIMG( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsMAP( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsAREA( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsNOBR( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsWBR( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsFONT( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsLAYER( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsSPACER( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsCENTER( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsSTYLE( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsSCRIPT( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsNOSCRIPT( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsFORM( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsTEXTAREA( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsBLOCKQUOTE( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsAPPLET( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsOBJECT( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsDIV( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsSPAN( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsINPUT( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsQ( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsLABEL( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsH3( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsH4( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsH5( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsH6( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsADDRESS( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsXMP( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsSELECT( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsBLINK( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsMARQUEE( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsEMBED( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsBASEFONT( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsISINDEX( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsS( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsSTRIKE( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsU( TidyNode tnod ); TIDY_EXPORT Bool TIDY_CALL tidyNodeIsMENU( TidyNode tnod ); /* HTML5 */ TIDY_EXPORT Bool TIDY_CALL tidyNodeIsDATALIST( TidyNode tnod ); /* bit like OPTIONS */ /** @} End NodeIsElementName group */ /** @} End NodeAsk group */ /** @defgroup Attribute Attribute Interrogation ** ** Get information about any given attribute. ** @{ */ TIDY_EXPORT TidyAttrId TIDY_CALL tidyAttrGetId( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsEvent( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsProp( TidyAttr tattr ); /** @defgroup AttrIsAttributeName Deprecated attribute interrogation per AttrId ** ** @deprecated The functions tidyAttrIs{AttributeName} are deprecated and ** should be replaced by tidyAttrGetId. ** @{ */ TIDY_EXPORT Bool TIDY_CALL tidyAttrIsHREF( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsSRC( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsID( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsNAME( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsSUMMARY( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsALT( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsLONGDESC( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsUSEMAP( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsISMAP( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsLANGUAGE( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsTYPE( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsVALUE( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsCONTENT( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsTITLE( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsXMLNS( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsDATAFLD( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsWIDTH( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsHEIGHT( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsFOR( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsSELECTED( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsCHECKED( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsLANG( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsTARGET( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsHTTP_EQUIV( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsREL( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsOnMOUSEMOVE( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsOnMOUSEDOWN( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsOnMOUSEUP( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsOnCLICK( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsOnMOUSEOVER( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsOnMOUSEOUT( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsOnKEYDOWN( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsOnKEYUP( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsOnKEYPRESS( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsOnFOCUS( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsOnBLUR( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsBGCOLOR( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsLINK( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsALINK( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsVLINK( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsTEXT( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsSTYLE( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsABBR( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsCOLSPAN( TidyAttr tattr ); TIDY_EXPORT Bool TIDY_CALL tidyAttrIsROWSPAN( TidyAttr tattr ); /** @} End AttrIsAttributeName group */ /** @} end AttrAsk group */ /** @defgroup AttrGet Attribute Retrieval ** ** Lookup an attribute from a given node ** @{ */ TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetById( TidyNode tnod, TidyAttrId attId ); /** @defgroup AttrGetAttributeName Deprecated attribute retrieval per AttrId ** ** @deprecated The functions tidyAttrGet{AttributeName} are deprecated and ** should be replaced by tidyAttrGetById. ** For instance, tidyAttrGetID( TidyNode tnod ) can be replaced by ** tidyAttrGetById( TidyNode tnod, TidyAttr_ID ). This avoids a potential ** name clash with tidyAttrGetId for case-insensitive languages. ** @{ */ TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetHREF( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetSRC( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetID( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetNAME( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetSUMMARY( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetALT( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetLONGDESC( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetUSEMAP( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetISMAP( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetLANGUAGE( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetTYPE( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetVALUE( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetCONTENT( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetTITLE( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetXMLNS( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetDATAFLD( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetWIDTH( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetHEIGHT( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetFOR( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetSELECTED( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetCHECKED( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetLANG( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetTARGET( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetHTTP_EQUIV( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetREL( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetOnMOUSEMOVE( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetOnMOUSEDOWN( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetOnMOUSEUP( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetOnCLICK( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetOnMOUSEOVER( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetOnMOUSEOUT( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetOnKEYDOWN( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetOnKEYUP( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetOnKEYPRESS( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetOnFOCUS( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetOnBLUR( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetBGCOLOR( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetLINK( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetALINK( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetVLINK( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetTEXT( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetSTYLE( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetABBR( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetCOLSPAN( TidyNode tnod ); TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetROWSPAN( TidyNode tnod ); /** @} End AttrGetAttributeName group */ /** @} end AttrGet group */ #ifdef __cplusplus } /* extern "C" */ #endif #endif /* __TIDY_H__ */ /* * local variables: * mode: c * indent-tabs-mode: nil * c-basic-offset: 4 * eval: (c-set-offset 'substatement-open 0) * end: */