1#ifndef __CLEAN_H__
2#define __CLEAN_H__
3
4/* clean.h -- clean up misuse of presentation markup
5
6  (c) 1998-2006 (W3C) MIT, ERCIM, Keio University
7  See tidy.h for the copyright notice.
8
9  CVS Info:
10    $Author$
11    $Date$
12    $Revision$
13
14*/
15
16void TY_(FixNodeLinks)(Node *node);
17
18void TY_(FreeStyles)( TidyDocImpl* doc );
19
20/* Add class="foo" to node
21*/
22void TY_(AddStyleAsClass)( TidyDocImpl* doc, Node *node, ctmbstr stylevalue );
23void TY_(AddStyleProperty)(TidyDocImpl* doc, Node *node, ctmbstr property );
24
25void TY_(CleanDocument)( TidyDocImpl* doc );
26
27/* simplifies <b><b> ... </b> ...</b> etc. */
28void TY_(NestedEmphasis)( TidyDocImpl* doc, Node* node );
29
30/* replace i by em and b by strong */
31void TY_(EmFromI)( TidyDocImpl* doc, Node* node );
32
33/*
34 Some people use dir or ul without an li
35 to indent the content. The pattern to
36 look for is a list with a single implicit
37 li. This is recursively replaced by an
38 implicit blockquote.
39*/
40void TY_(List2BQ)( TidyDocImpl* doc, Node* node );
41
42/*
43 Replace implicit blockquote by div with an indent
44 taking care to reduce nested blockquotes to a single
45 div with the indent set to match the nesting depth
46*/
47void TY_(BQ2Div)( TidyDocImpl* doc, Node* node );
48
49
50void TY_(DropSections)( TidyDocImpl* doc, Node* node );
51
52
53/*
54 This is a major clean up to strip out all the extra stuff you get
55 when you save as web page from Word 2000. It doesn't yet know what
56 to do with VML tags, but these will appear as errors unless you
57 declare them as new tags, such as o:p which needs to be declared
58 as inline.
59*/
60void TY_(CleanWord2000)( TidyDocImpl* doc, Node *node);
61
62Bool TY_(IsWord2000)( TidyDocImpl* doc );
63
64/* where appropriate move object elements from head to body */
65void TY_(BumpObject)( TidyDocImpl* doc, Node *html );
66
67/* This is disabled due to http://tidy.sf.net/bug/681116 */
68#if 0
69void TY_(FixBrakes)( TidyDocImpl* pDoc, Node *pParent );
70#endif
71
72void TY_(VerifyHTTPEquiv)( TidyDocImpl* pDoc, Node *pParent );
73
74void TY_(DropComments)(TidyDocImpl* doc, Node* node);
75void TY_(DropFontElements)(TidyDocImpl* doc, Node* node, Node **pnode);
76void TY_(WbrToSpace)(TidyDocImpl* doc, Node* node);
77void TY_(DowngradeTypography)(TidyDocImpl* doc, Node* node);
78void TY_(ReplacePreformattedSpaces)(TidyDocImpl* doc, Node* node);
79void TY_(NormalizeSpaces)(Lexer *lexer, Node *node);
80void TY_(ConvertCDATANodes)(TidyDocImpl* doc, Node* node);
81
82void TY_(FixAnchors)(TidyDocImpl* doc, Node *node, Bool wantName, Bool wantId);
83void TY_(FixXhtmlNamespace)(TidyDocImpl* doc, Bool wantXmlns);
84void TY_(FixLanguageInformation)(TidyDocImpl* doc, Node* node, Bool wantXmlLang, Bool wantLang);
85
86
87#endif /* __CLEAN_H__ */
88