source: trunk/PerfTest/intel_markup_stats/intel_markup_stats_handler.cpp @ 194

Last change on this file since 194 was 192, checked in by ksherdy, 11 years ago

Updated PerfTest? Makefiles to autodetect 32 vs. 64 bit architecture on Intel.
Initial Intel Markup Stats check in.
Renamed Xerces-C files names to be Xerces-C specific.

File size: 3.8 KB
Line 
1#ifndef MARKUPSTATS_HANDLER_CPP_
2#define MARKUPSTATS_HANDLER_CPP_
3
4#include "intel_markup_stats_handler.hpp"
5#include <iostream>
6#include <string>
7using namespace std;
8
9int comment_count = 0;
10int comment_length = 0;
11int CDATA_start_count = 0;
12int CDATA_start_pos = 0;
13int CDATA_length = 0;
14int CDATA_end_count = 0;
15int PI_count = 0;
16int PI_length = 0;
17//int empty_elem_count = 0;
18//int empty_elem_length = 0;
19int start_tag_count = 0;
20int start_tag_length = 0;
21int attribute_count = 0;
22int end_tag_count = 0;
23int end_tag_length = 0;
24int reference_count = 0;
25int reference_length = 0;
26int text_item_count = 0;
27int text_item_length = 0;
28int error_item_count = 0;
29int error_item_length = 0;
30int nesting_depth = 0;
31int max_nesting_depth = 0;
32int total_attribute_count = 0;
33int total_att_name_length = 0;
34int total_att_value_length = 0;
35int namespace_count = 0;
36int total_namespace_name_length = 0;
37int total_namespace_URI_length = 0;
38int     ignorable_ws_item_count = 0;
39int     ignorable_ws_item_length = 0;
40
41MarkupStatsHandler::MarkupStatsHandler()
42{
43        // do nothing
44}
45
46MarkupStatsHandler::~MarkupStatsHandler()
47{
48        // do nothing
49}
50
51//Content Handler
52void MarkupStatsHandler::startDocument()
53{
54        // do nothing
55}
56
57void MarkupStatsHandler::endDocument()
58{
59        // do nothing
60}
61
62void MarkupStatsHandler::startElement(unsigned int namespaceTag,
63                                                        unsigned int elemNameCount,
64                                                        const XMLChar* elemName,
65                                                        unsigned int nAttribute,
66                                                        SAXAttribute** attrList)
67{
68        start_tag_count += 1;
69
70        #if defined(CALC_AVG)
71                start_tag_length += elemNameCount;
72        #endif
73
74
75        nesting_depth += 1;
76        if (nesting_depth > max_nesting_depth) max_nesting_depth = nesting_depth;
77
78        for (int i = 0; i<nAttribute; i++)
79        {
80                total_attribute_count += 1;
81
82                #if defined(CALC_AVG)
83                        total_att_name_length += attrList[i]->nameCount;
84                        //cout << new string(attrList[i]->nameString,attrList[i]->nameCount) << endl;
85                        total_att_value_length += attrList[i]->valueCount;
86                #endif
87        }
88}
89
90void MarkupStatsHandler::endElement()
91{
92        end_tag_count +=1;
93        nesting_depth -= 1;
94
95        // no end tag length provided
96}
97
98void MarkupStatsHandler::characters(unsigned int count, const XMLChar* string, bool more)
99{
100        text_item_count +=1;
101        text_item_length += count;
102}
103
104void MarkupStatsHandler::startNamespace(unsigned int newNamespaceTag,
105                                                          unsigned int prefixCount,
106                                                          const XMLChar* prefixString,
107                                                          unsigned int uriCount,
108                                                          const XMLChar* uriString)
109{
110        namespace_count++;
111        #if defined(CALC_AVG)
112                total_namespace_name_length += prefixCount;
113                total_namespace_URI_length += uriCount;
114        #endif
115
116}
117
118void MarkupStatsHandler::endNamespace(unsigned int namespaceTag)
119{
120
121}
122
123void MarkupStatsHandler::pi(unsigned int targetCount,
124                                                          const XMLChar* targetString,
125                                                          unsigned int dataCount,
126                                                          const XMLChar* dataString)
127{
128        PI_count +=1;
129
130        #if defined(CALC_AVG)
131                PI_length += dataCount;
132        #endif
133}
134
135void MarkupStatsHandler::setDocumentLocator(Locator* locator)
136{
137
138}
139
140void MarkupStatsHandler::skippedEntity(unsigned int count, const XMLChar* name)
141{
142
143}
144
145//Error Handler
146void MarkupStatsHandler::error (Exception &e)
147{
148
149}
150
151void MarkupStatsHandler::fatalError (Exception &e)
152{
153
154}
155
156void MarkupStatsHandler::warning (Exception &e)
157{
158
159}
160
161//Content Handler
162void MarkupStatsHandler::comment(unsigned int count, const ixml::XMLChar *string)
163{
164        comment_count +=1;
165
166        #if defined(CALC_AVG)
167                comment_length += count;
168        #endif
169}
170
171void MarkupStatsHandler::endCDATA()
172{
173        CDATA_end_count +=1;
174}
175
176void MarkupStatsHandler::endDTD()
177{
178
179}
180
181void MarkupStatsHandler::endEntity()
182{
183
184}
185
186void MarkupStatsHandler::startCDATA()
187{
188        CDATA_start_count +=1;
189}
190
191void MarkupStatsHandler::startDTD (unsigned int nameCount, const ixml::XMLChar *name, unsigned int publicIdCount, const ixml::XMLChar *publicId, unsigned int systemIdCount, const ixml::XMLChar *systemId)
192{
193
194}
195
196void MarkupStatsHandler::startEntity (unsigned int count, const ixml::XMLChar *name)
197{
198
199}
200
201#endif /* MARKUPSTATS_HANDLER_CPP_ */
Note: See TracBrowser for help on using the repository browser.