00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00018
00019 #ifndef NET_INSTAWEB_HTMLPARSE_PUBLIC_CANONICAL_ATTRIBUTES_H_
00020 #define NET_INSTAWEB_HTMLPARSE_PUBLIC_CANONICAL_ATTRIBUTES_H_
00021
00022 #include "net/instaweb/htmlparse/public/empty_html_filter.h"
00023 #include "net/instaweb/util/public/basictypes.h"
00024
00025 namespace net_instaweb {
00026
00027 class HtmlElement;
00028 class HtmlParse;
00029
00032 class CanonicalAttributes : public EmptyHtmlFilter {
00033 public:
00034 explicit CanonicalAttributes(HtmlParse* html_parse);
00035 virtual ~CanonicalAttributes();
00036
00037 virtual void StartDocument();
00038 virtual void StartElement(HtmlElement* element);
00039 virtual const char* Name() const { return "CanonicalAttributes"; }
00040 int num_changes() const { return num_changes_; }
00041 int num_errors() const { return num_errors_; }
00042
00043 private:
00044 HtmlParse* html_parse_;
00045 int num_changes_;
00046 int num_errors_;
00047
00048 DISALLOW_COPY_AND_ASSIGN(CanonicalAttributes);
00049 };
00050
00051 }
00052
00053 #endif ///< NET_INSTAWEB_HTMLPARSE_PUBLIC_CANONICAL_ATTRIBUTES_H_