Allow diameter message & avp to normalize their xml representation
[anna.git] / source / diameter / codec / Message.cpp
index cdbd7bc..0cf70cd 100644 (file)
@@ -761,9 +761,9 @@ const anna::DataBlock & Message::code() throw(anna::RuntimeException) {
 }
 
 //------------------------------------------------------------------------------
-//----------------------------------------------------------- Message::loadXML()
+//------------------------------------------------------- Message::loadXMLFile()
 //------------------------------------------------------------------------------
-void Message::loadXML(const std::string &xmlPathFile) throw(anna::RuntimeException) {
+void Message::loadXMLFile(const std::string &xmlPathFile) throw(anna::RuntimeException) {
 
   anna::xml::DocumentFile xmlDocument;
   anna::diameter::codec::functions::messageXmlDocumentFromXmlFile(xmlDocument, xmlPathFile);
@@ -998,9 +998,11 @@ anna::xml::Node* Message::asXML(anna::xml::Node* parent) const throw() {
 //------------------------------------------------------------------------------
 //------------------------------------------------------- Message::asXMLString()
 //------------------------------------------------------------------------------
-std::string Message::asXMLString() const throw() {
+std::string Message::asXMLString(bool sortAttributes) const throw() {
   anna::xml::Node root("root");
-  return anna::xml::Compiler().apply(asXML(&root));
+
+  anna::xml::Compiler::Mode::_v mode = sortAttributes ? anna::xml::Compiler::Mode::Sort : anna::xml::Compiler::Mode::Visual;
+  return anna::xml::Compiler().apply(asXML(&root), mode);
 }