+ /** Expands a path fragment to a full path.
+ * @param base The base path to expand from
+ * @param fragment The path fragment to expand on top of base.
+ */
+ static std::string ExpandPath(const std::string& base, const std::string& fragment);
+
+ /** Escapes a value for storage in a configuration key.
+ * @param str The string to escape.
+ * @param xml Are we using the XML config format?
+ */
+ static std::string Escape(const std::string& str, bool xml = true);
+