1 //Copyright (c) 2020 Ultimaker B.V.
2 //libSavitar is released under the terms of the AGPLv3 or higher.
3 
4 #ifndef NAMESPACE_H
5 #define NAMESPACE_H
6 
7 #include "SavitarExport.h"
8 #include <map>
9 #include <set>
10 #include <string>
11 
12 // Forward declaration
13 namespace pugi
14 {
15     class xml_node;
16 }
17 
18 namespace xml_namespace
19 {
20     typedef std::map<std::string, std::set<std::string>> xmlns_map_t;
21 
22     std::string getCuraUri();
23     std::string getDefaultUri();
24 
25     xmlns_map_t SAVITAR_EXPORT getAncestralNamespaces(const pugi::xml_node& xml_node);
26     std::set<std::string> SAVITAR_EXPORT getNamesFor(const xmlns_map_t& map, const std::string& uri);
27 } //namespace xml_namespace
28 
29 #endif