#include "core/fxcrt/xml/cfx_xmlparser.h"
#include <stdint.h>
#include <algorithm>
#include <iterator>
#include <stack>
#include <utility>
#include "core/fxcrt/autorestorer.h"
#include "core/fxcrt/cfx_seekablestreamproxy.h"
#include "core/fxcrt/check.h"
#include "core/fxcrt/data_vector.h"
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/fx_safe_types.h"
#include "core/fxcrt/notreached.h"
#include "core/fxcrt/xml/cfx_xmlchardata.h"
#include "core/fxcrt/xml/cfx_xmldocument.h"
#include "core/fxcrt/xml/cfx_xmlelement.h"
#include "core/fxcrt/xml/cfx_xmlinstruction.h"
#include "core/fxcrt/xml/cfx_xmlnode.h"
#include "core/fxcrt/xml/cfx_xmltext.h"
namespace {
constexpr size_t kCurrentTextReserve = …;
constexpr uint32_t kMaxCharRange = …;
bool IsXMLWhiteSpace(wchar_t ch) { … }
struct FX_XMLNAMECHAR { … };
constexpr FX_XMLNAMECHAR kXMLNameChars[] = …;
}
bool CFX_XMLParser::IsXMLNameChar(wchar_t ch, bool bFirstChar) { … }
CFX_XMLParser::CFX_XMLParser(const RetainPtr<IFX_SeekableReadStream>& pStream) { … }
CFX_XMLParser::~CFX_XMLParser() = default;
std::unique_ptr<CFX_XMLDocument> CFX_XMLParser::Parse() { … }
bool CFX_XMLParser::DoSyntaxParse(CFX_XMLDocument* doc) { … }
void CFX_XMLParser::ProcessTextChar(wchar_t character) { … }
void CFX_XMLParser::ProcessTargetData() { … }
WideString CFX_XMLParser::GetTextData() { … }