99 std::unique_ptr<XmlElement> getDocumentElement (
bool onlyReadOuterDocumentElement =
false);
105 std::unique_ptr<XmlElement> getDocumentElementIfTagMatches (
StringRef requiredTag);
110 const String& getLastParseError()
const noexcept;
123 void setInputSource (
InputSource* newSource)
noexcept;
132 void setEmptyTextElementsIgnored (
bool shouldBeIgnored)
noexcept;
139 static std::unique_ptr<XmlElement> parse (
const File& file);
145 static std::unique_ptr<XmlElement> parse (
const String& xmlData);
151 String::CharPointerType input {
nullptr };
152 bool outOfData =
false, errorOccurred =
false;
153 String lastError, dtdText;
155 bool needToLoadDTD =
false, ignoreEmptyTextElements =
true;
156 std::unique_ptr<InputSource> inputSource;
158 std::unique_ptr<XmlElement> parseDocumentElement (String::CharPointerType,
bool outer);
159 void setLastError (
const String&,
bool carryOn);
162 void skipNextWhiteSpace();
163 juce_wchar readNextChar()
noexcept;
164 XmlElement* readNextElement (
bool alsoParseSubElements);
166 void readQuotedString (
String&);
167 void readEntity (
String&);
174 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
XmlDocument)