summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.hpp')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.hpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.hpp
index af3aa81820d..b9a75fa0588 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.hpp
@@ -41,7 +41,11 @@ class XMLNode {
class XMLElementNode : public XMLNode {
public:
- using AttribMap = std::map<std::string,std::string>;
+ struct Attribute {
+ Attribute (const std::string &nam, const std::string &val) : name(nam), value(val) {}
+ std::string name;
+ std::string value;
+ };
using ChildList = std::deque<std::unique_ptr<XMLNode>>;
public:
@@ -66,10 +70,13 @@ class XMLElementNode : public XMLNode {
bool empty () const {return _children.empty();}
const ChildList& children () const {return _children;}
const std::string& getName () const {return _name;}
+ protected:
+ Attribute* getAttribute (const std::string &name);
+ const Attribute* getAttribute (const std::string &name) const;
private:
std::string _name; // element name (<name a1="v1" .. an="vn">...</name>)
- AttribMap _attributes;
+ std::vector<Attribute> _attributes;
ChildList _children; // child nodes
};