+\r
+std::string getProperty(xmlNodePtr theNode, const char* thePropName)\r
+{\r
+ std::string result = "";\r
+ char* aPropChars = (char*) xmlGetProp(theNode, BAD_CAST thePropName);\r
+ if (!aPropChars || aPropChars[0] == 0)\r
+ return result;\r
+ result = std::string(aPropChars);\r
+ return result;\r
+}\r
+\r
+bool getBooleanAttribute(xmlNodePtr theNode, const char* theAttributeName, bool theDefault)\r
+{\r
+ std::string prop = getProperty(theNode, theAttributeName);\r
+ std::transform(prop.begin(), prop.end(), prop.begin(), ::tolower);\r
+ bool result = theDefault;\r
+ if (prop == "true" || prop == "1") {\r
+ result = true;\r
+ } else if (prop == "false" || prop == "0") {\r
+ result = false;\r
+ }\r
+ return result;\r
+}\r