LMMS
Loading...
Searching...
No Matches
juce_XmlDocument.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 The code included in this file is provided under the terms of the ISC license
11 http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12 To use, copy, modify, and/or distribute this software for any purpose with or
13 without fee is hereby granted provided that the above copyright notice and
14 this permission notice appear in all copies.
15
16 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18 DISCLAIMED.
19
20 ==============================================================================
21*/
22
23namespace juce
24{
25
26//==============================================================================
64{
65public:
66 //==============================================================================
70 XmlDocument (const String& documentText);
71
75 XmlDocument (const File& file);
76
79
80 //==============================================================================
99 std::unique_ptr<XmlElement> getDocumentElement (bool onlyReadOuterDocumentElement = false);
100
105 std::unique_ptr<XmlElement> getDocumentElementIfTagMatches (StringRef requiredTag);
106
110 const String& getLastParseError() const noexcept;
111
123 void setInputSource (InputSource* newSource) noexcept;
124
132 void setEmptyTextElementsIgnored (bool shouldBeIgnored) noexcept;
133
134 //==============================================================================
139 static std::unique_ptr<XmlElement> parse (const File& file);
140
145 static std::unique_ptr<XmlElement> parse (const String& xmlData);
146
147
148 //==============================================================================
149private:
151 String::CharPointerType input { nullptr };
152 bool outOfData = false, errorOccurred = false;
156 std::unique_ptr<InputSource> inputSource;
157
158 std::unique_ptr<XmlElement> parseDocumentElement (String::CharPointerType, bool outer);
159 void setLastError (const String&, bool carryOn);
160 bool parseHeader();
161 bool parseDTD();
162 void skipNextWhiteSpace();
164 XmlElement* readNextElement (bool alsoParseSubElements);
166 void readQuotedString (String&);
167 void readEntity (String&);
168
173
175};
176
177//==============================================================================
183std::unique_ptr<XmlElement> parseXML (const String& textToParse);
184
190std::unique_ptr<XmlElement> parseXML (const File& fileToParse);
191
197std::unique_ptr<XmlElement> parseXMLIfTagMatches (const String& textToParse, StringRef requiredTag);
198
204std::unique_ptr<XmlElement> parseXMLIfTagMatches (const File& fileToParse, StringRef requiredTag);
205
206
207} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_File.h:45
Definition juce_InputSource.h:38
Definition juce_StringArray.h:35
Definition juce_String.h:53
Definition juce_StringRef.h:62
void setLastError(const String &, bool carryOn)
Definition juce_XmlDocument.cpp:164
StringArray tokenisedDTD
Definition juce_XmlDocument.h:154
String getParameterEntity(const String &)
Definition juce_XmlDocument.cpp:883
XmlElement * readNextElement(bool alsoParseSubElements)
Definition juce_XmlDocument.cpp:392
String getFileContents(const String &) const
Definition juce_XmlDocument.cpp:170
const String & getLastParseError() const noexcept
Definition juce_XmlDocument.cpp:159
void readEntity(String &)
Definition juce_XmlDocument.cpp:655
std::unique_ptr< XmlElement > getDocumentElementIfTagMatches(StringRef requiredTag)
Definition juce_XmlDocument.cpp:150
void readChildElements(XmlElement &)
Definition juce_XmlDocument.cpp:491
String expandEntity(const String &)
Definition juce_XmlDocument.cpp:767
std::unique_ptr< XmlElement > getDocumentElement(bool onlyReadOuterDocumentElement=false)
Definition juce_XmlDocument.cpp:110
juce_wchar readNextChar() noexcept
Definition juce_XmlDocument.cpp:183
bool needToLoadDTD
Definition juce_XmlDocument.h:155
void readQuotedString(String &)
Definition juce_XmlDocument.cpp:341
String expandExternalEntity(const String &)
Definition juce_XmlDocument.cpp:792
XmlDocument(const String &documentText)
Definition juce_XmlDocument.cpp:26
static std::unique_ptr< XmlElement > parse(const File &file)
Definition juce_XmlDocument.cpp:31
bool ignoreEmptyTextElements
Definition juce_XmlDocument.h:155
String lastError
Definition juce_XmlDocument.h:153
void setInputSource(InputSource *newSource) noexcept
Definition juce_XmlDocument.cpp:61
String originalText
Definition juce_XmlDocument.h:150
bool parseDTD()
Definition juce_XmlDocument.cpp:264
bool errorOccurred
Definition juce_XmlDocument.h:152
void skipNextWhiteSpace()
Definition juce_XmlDocument.cpp:290
std::unique_ptr< XmlElement > parseDocumentElement(String::CharPointerType, bool outer)
Definition juce_XmlDocument.cpp:196
bool parseHeader()
Definition juce_XmlDocument.cpp:228
bool outOfData
Definition juce_XmlDocument.h:152
String::CharPointerType input
Definition juce_XmlDocument.h:151
void setEmptyTextElementsIgnored(bool shouldBeIgnored) noexcept
Definition juce_XmlDocument.cpp:66
String dtdText
Definition juce_XmlDocument.h:153
std::unique_ptr< InputSource > inputSource
Definition juce_XmlDocument.h:156
Definition juce_XmlElement.h:83
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
std::unique_ptr< XmlElement > parseXMLIfTagMatches(const String &textToParse, StringRef requiredTag)
Definition juce_XmlDocument.cpp:51
wchar_t juce_wchar
Definition juce_CharacterFunctions.h:42
std::unique_ptr< XmlElement > parseXML(const String &textToParse)
Definition juce_XmlDocument.cpp:41
Definition juce_Uuid.h:141
struct zdirent * file
Definition win32.c:1500
#define const
Definition zconf.h:137