100 std::unique_ptr<XmlElement> getDocumentElement (
bool onlyReadOuterDocumentElement =
false);
106 std::unique_ptr<XmlElement> getDocumentElementIfTagMatches (
StringRef requiredTag);
111 const String& getLastParseError()
const noexcept;
124 void setInputSource (
InputSource* newSource)
noexcept;
133 void setEmptyTextElementsIgnored (
bool shouldBeIgnored)
noexcept;
141 static std::unique_ptr<XmlElement> parse (
const File& file);
148 static std::unique_ptr<XmlElement> parse (
const String& xmlData);
154 String::CharPointerType input {
nullptr };
155 bool outOfData =
false, errorOccurred =
false;
156 String lastError, dtdText;
158 bool needToLoadDTD =
false, ignoreEmptyTextElements =
true;
159 std::unique_ptr<InputSource> inputSource;
161 std::unique_ptr<XmlElement> parseDocumentElement (String::CharPointerType,
bool outer);
162 void setLastError (
const String&,
bool carryOn);
165 void skipNextWhiteSpace();
166 juce_wchar readNextChar()
noexcept;
167 XmlElement* readNextElement (
bool alsoParseSubElements);
169 void readQuotedString (
String&);
170 void readEntity (
String&);
177 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
XmlDocument)