MCPcopy Create free account
hub / github.com/axmolengine/axmol / parseIntrusive

Method parseIntrusive

core/platform/SAXParser.cpp:127–159  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

125}
126
127bool SAXParser::parseIntrusive(char* xmlData, size_t dataLength, ParseOption opt)
128{
129 SAX2Hander handler;
130 handler.setSAXParserImp(this);
131
132 try
133 {
134 switch (opt)
135 {
136 case ParseOption::NORMAL:
137 xsxml::xml_sax3_parser::parse<xsxml::parse_normal>(xmlData, static_cast<int>(dataLength), handler);
138 break;
139 case ParseOption::HTML:
140 xsxml::xml_sax3_parser::parse<xsxml::parse_normal | xsxml::parse_html_entity_translation |
141 xsxml::parse_normalize_whitespace | xsxml::parse_trim_whitespace>(
142 xmlData, static_cast<int>(dataLength), handler);
143 break;
144 case ParseOption::TRIM_WHITESPACE:
145 xsxml::xml_sax3_parser::parse<xsxml::parse_normal | xsxml::parse_trim_whitespace>(
146 xmlData, static_cast<int>(dataLength), handler);
147 break;
148 }
149
150 return true;
151 }
152 catch (xsxml::parse_error& e)
153 {
154 AXLOGE("SAXParser: Error parsing xml: {} at {}", e.what(), e.where<char>());
155 return false;
156 }
157
158 return false;
159}
160
161void SAXParser::startElement(void* ctx, const AX_XML_CHAR* name, const AX_XML_CHAR** atts)
162{

Callers 3

parseMethod · 0.95
setStringMethod · 0.80
parseMethod · 0.80

Calls 2

setSAXParserImpMethod · 0.80
whatMethod · 0.45

Tested by

no test coverage detected