void NumericalIntegration::write_XML(tinyxml2::XMLPrinter& file_stream) const
{
    std::ostringstream buffer;

    file_stream.OpenElement("NumericalIntegration");

    // Numerical integration method

    file_stream.OpenElement("NumericalIntegrationMethod");

    file_stream.PushText(write_numerical_integration_method().c_str());

    file_stream.CloseElement();

    // Display

    file_stream.OpenElement("Display");

    buffer.str("");
    buffer << display;

    file_stream.PushText(buffer.str().c_str());

    file_stream.CloseElement();


    file_stream.CloseElement();
}
TiXmlElement* NumericalIntegration::to_XML(void) const  
{
   std::ostringstream buffer;

   // Numerical integration

   TiXmlElement* numerical_integration_element = new TiXmlElement("NumericalIntegration");
   numerical_integration_element->SetAttribute("Version", 4);

   // Numerical integration method
   {
      TiXmlElement* element = new TiXmlElement("NumericalIntegrationMethod");
      numerical_integration_element->LinkEndChild(element);

      TiXmlText* text = new TiXmlText(write_numerical_integration_method().c_str());
      element->LinkEndChild(text);
   }

   // Display
   {
      TiXmlElement* element = new TiXmlElement("Display");
      numerical_integration_element->LinkEndChild(element);

      buffer.str("");
      buffer << display;

      TiXmlText* text = new TiXmlText(buffer.str().c_str());
      element->LinkEndChild(text);
   }

   return(numerical_integration_element);
}
tinyxml2::XMLDocument* NumericalIntegration::to_XML(void) const  
{
   tinyxml2::XMLDocument* document = new tinyxml2::XMLDocument;

   tinyxml2::XMLElement* element = NULL;
   tinyxml2::XMLText* text = NULL;

   std::ostringstream buffer;

   // Numerical integration

   tinyxml2::XMLElement* root_element = document->NewElement("NumericalIntegration");

   document->InsertFirstChild(root_element);

   // Numerical integration method
  
   element = document->NewElement("NumericalIntegrationMethod");
   root_element->LinkEndChild(element);

   text = document->NewText(write_numerical_integration_method().c_str());
   element->LinkEndChild(text);

   // Display
   
   element = document->NewElement("Display");
   root_element->LinkEndChild(element);

   buffer.str("");
   buffer << display;

   text = document->NewText(buffer.str().c_str());
   element->LinkEndChild(text);
   
   return(document);
}