diff --git a/src/netanim/model/animation-interface.cc b/src/netanim/model/animation-interface.cc --- a/src/netanim/model/animation-interface.cc +++ b/src/netanim/model/animation-interface.cc @@ -2002,8 +2002,35 @@ std::ostringstream oss; oss << std::setprecision (10); oss << value; + const char *attribute_char = oss.str().c_str(); m_elementString += attribute.c_str (); - m_elementString += "=\"" + oss.str () + "\" "; + m_elementString += "=\""; + while (*attribute_char) + { + switch(*attribute_char) + { + case '&': + m_elementString += "&"; + break; + case '\"': + m_elementString += """; + break; + case '\'': + m_elementString += "'"; + break; + case '<': + m_elementString += "<"; + break; + case '>': + m_elementString += ">"; + break; + default: + m_elementString += *attribute_char; + break; + } + attribute_char++; + } + m_elementString += "\" "; } void