26#ifndef WATER_XMLELEMENT_H_INCLUDED
27#define WATER_XMLELEMENT_H_INCLUDED
54#define __forEachXmlChildElement(parentXmlElement, childElementVariableName) \
56 for (water::XmlElement* childElementVariableName = (parentXmlElement).getFirstChildElement(); \
57 childElementVariableName != nullptr; \
58 childElementVariableName = childElementVariableName->getNextElement())
83#define __forEachXmlChildElementWithTagName(parentXmlElement, childElementVariableName, requiredTagName) \
85 for (water::XmlElement* childElementVariableName = (parentXmlElement).getChildByName (requiredTagName); \
86 childElementVariableName != nullptr; \
87 childElementVariableName = childElementVariableName->getNextElementWithTagName (requiredTagName))
185 bool ignoreOrderOfAttributes)
const noexcept;
206 bool allOnOneLine =
false,
207 bool includeXmlHeader =
true,
209 int lineWrapLength = 60)
const;
228 bool allOnOneLine =
false,
229 bool includeXmlHeader =
true,
231 int lineWrapLength = 60)
const;
253 bool writeToFile (
const File& destinationFile,
256 int lineWrapLength = 60)
const;
586 bool shouldDeleteTheChild)
noexcept;
#define noexcept
Definition DistrhoDefines.h:72
Definition CharPointer_UTF8.h:45
Definition Identifier.h:44
Definition LinkedListPointer.h:62
Definition OutputStream.h:44
Definition StringRef.h:67
Definition XmlElement.h:145
const std::string & getAttributeName(int attributeIndex) const noexcept
Definition XmlElement.cpp:457
const String & getTagName() const noexcept
Definition XmlElement.h:264
void copyChildrenAndAttributesFrom(const XmlElement &)
Definition XmlElement.cpp:136
XmlElement * getChildByName(StringRef tagNameToLookFor) const noexcept
Definition XmlElement.cpp:613
LinkedListPointer< XmlElement > nextListItem
Definition XmlElement.h:713
friend class NamedValueSet
Definition XmlElement.h:711
XmlElement * getChildElement(int index) const noexcept
Definition XmlElement.cpp:608
bool hasTagName(StringRef possibleTagName) const noexcept
Definition XmlElement.cpp:403
bool compareAttribute(StringRef attributeName, StringRef stringToCompareAgainst, bool ignoreCase=false) const noexcept
Definition XmlElement.cpp:536
XmlElement * createNewChildElement(StringRef tagName)
Definition XmlElement.cpp:668
XmlElement * getChildByAttribute(StringRef attributeName, StringRef attributeValue) const noexcept
Definition XmlElement.cpp:624
bool hasAttribute(StringRef attributeName) const noexcept
Definition XmlElement.cpp:482
void addChildElement(XmlElement *newChildElement) noexcept
Definition XmlElement.cpp:635
String createDocument(StringRef dtdToUse, bool allOnOneLine=false, bool includeXmlHeader=true, StringRef encodingType="UTF-8", int lineWrapLength=60) const
Definition XmlElement.cpp:327
void deleteAllTextElements() noexcept
Definition XmlElement.cpp:909
XmlElement * getNextElement() const noexcept
Definition XmlElement.h:464
void setText(const String &newText)
Definition XmlElement.cpp:852
bool replaceChildElement(XmlElement *currentChildElement, XmlElement *newChildNode) noexcept
Definition XmlElement.cpp:675
void prependChildElement(XmlElement *newChildElement) noexcept
Definition XmlElement.cpp:657
void deleteAllChildElementsWithTagName(StringRef tagName) noexcept
Definition XmlElement.cpp:782
int getIntAttribute(StringRef attributeName, int defaultReturnValue=0) const
Definition XmlElement.cpp:504
void writeElementAsText(OutputStream &, int indentationLevel, int lineWrapLength) const
Definition XmlElement.cpp:243
XmlElement(const String &tagName)
Definition XmlElement.cpp:83
XmlElement * getFirstChildElement() const noexcept
Definition XmlElement.h:436
double getDoubleAttribute(StringRef attributeName, double defaultReturnValue=0.0) const
Definition XmlElement.cpp:512
XmlElement * getNextElementWithTagName(StringRef requiredTagName) const
Definition XmlElement.cpp:429
LinkedListPointer< XmlElement > firstChildElement
Definition XmlElement.h:714
int getNumChildElements() const noexcept
Definition XmlElement.cpp:603
LinkedListPointer< XmlAttributeNode > attributes
Definition XmlElement.h:715
const String & getStringAttribute(StringRef attributeName) const noexcept
Definition XmlElement.cpp:488
String getAllSubText() const
Definition XmlElement.cpp:858
void removeChildElement(XmlElement *childToRemove, bool shouldDeleteTheChild) noexcept
Definition XmlElement.cpp:692
bool isTextElement() const noexcept
Definition XmlElement.cpp:836
String tagName
Definition XmlElement.h:716
bool isEquivalentTo(const XmlElement *other, bool ignoreOrderOfAttributes) const noexcept
Definition XmlElement.cpp:704
void getChildElementsAsArray(XmlElement **) const noexcept
Definition XmlElement.cpp:817
String getChildElementAllSubText(StringRef childTagName, const String &defaultReturnValue) const
Definition XmlElement.cpp:874
void removeAttribute(const Identifier &attributeName) noexcept
Definition XmlElement.cpp:583
bool hasTagNameIgnoringNamespace(StringRef possibleTagName) const
Definition XmlElement.cpp:424
void reorderChildElements(XmlElement **, int) noexcept
Definition XmlElement.cpp:822
void insertChildElement(XmlElement *newChildElement, int indexToInsertAt) noexcept
Definition XmlElement.cpp:646
friend class XmlDocument
Definition XmlElement.h:707
XmlAttributeNode * getAttribute(StringRef) const noexcept
Definition XmlElement.cpp:473
const String & getAttributeValue(int attributeIndex) const noexcept
Definition XmlElement.cpp:465
XmlElement & operator=(const XmlElement &)
Definition XmlElement.cpp:123
int getNumAttributes() const noexcept
Definition XmlElement.cpp:440
static XmlElement * createTextElement(const String &text)
Definition XmlElement.cpp:882
void addTextElement(const String &text)
Definition XmlElement.cpp:904
String getTagNameWithoutNamespace() const
Definition XmlElement.cpp:419
void writeToStream(OutputStream &output, StringRef dtdToUse, bool allOnOneLine=false, bool includeXmlHeader=true, StringRef encodingType="UTF-8", int lineWrapLength=60) const
Definition XmlElement.cpp:339
const String & getText() const noexcept
Definition XmlElement.cpp:843
static bool isValidXmlName(StringRef possibleName) noexcept
Definition XmlElement.cpp:889
friend class LinkedListPointer< XmlElement >::Appender
Definition XmlElement.h:710
~XmlElement() noexcept
Definition XmlElement.cpp:145
void setAttribute(const Identifier &attributeName, const String &newValue)
Definition XmlElement.cpp:548
bool getBoolAttribute(StringRef attributeName, bool defaultReturnValue=false) const
Definition XmlElement.cpp:520
void removeAllAttributes() noexcept
Definition XmlElement.cpp:597
String getNamespace() const
Definition XmlElement.cpp:414
bool containsChildElement(const XmlElement *possibleChild) const noexcept
Definition XmlElement.cpp:795
XmlElement * findParentElementOf(const XmlElement *childToSearchFor) noexcept
Definition XmlElement.cpp:800
void deleteAllChildElements() noexcept
Definition XmlElement.cpp:777
#define WATER_DELETED_FUNCTION
Definition juce_Uuid.h:141
Definition AudioSampleBuffer.h:33
#define false
Definition ordinals.h:83
Definition XmlElement.h:694
Identifier name
Definition XmlElement.h:700
LinkedListPointer< XmlAttributeNode > nextListItem
Definition XmlElement.h:699
XmlAttributeNode(const XmlAttributeNode &) noexcept
Definition XmlElement.cpp:64
String value
Definition XmlElement.h:701
const char * text
Definition swell-functions.h:167
#define void
Definition unzip.h:396
#define const
Definition zconf.h:137