CMS 3D CMS Logo

Functions
FWConfiguration.cc File Reference
#include <stdexcept>
#include <algorithm>
#include <boost/bind.hpp>
#include "Fireworks/Core/interface/FWConfiguration.h"

Go to the source code of this file.

Functions

std::string attrEscape (std::string value)
 

Function Documentation

std::string attrEscape ( std::string  value)

Helper function to make sure we escape correctly xml entities embedded in the string value.

Definition at line 160 of file FWConfiguration.cc.

References FWConfiguration::value().

Referenced by FWConfiguration::streamTo().

161 {
163  index = 0;
164  while (std::string::npos != (index=value.find('&',index))){
165  value.replace(index, 1,"&amp;", 5);
166  // Do not check "&quot;" for quotes.
167  index += 5;
168  }
169 
170  while (std::string::npos != (index=value.find('"',index))){
171  value.replace(index, 1,"&quot;", 6);
172  // Do not check "&quot;" for quotes.
173  index += 6;
174  }
175 
176  index = 0;
177  while (std::string::npos != (index=value.find('<',index))){
178  value.replace(index, 1,"&lt;", 4);
179  // Do not check "&quot;" for quotes.
180  index += 4;
181  }
182 
183  index = 0;
184  while (std::string::npos != (index=value.find('>',index))){
185  value.replace(index, 1,"&gt;", 4);
186  // Do not check "&quot;" for quotes.
187  index += 4;
188  }
189 
190  return value;
191 }
uint16_t size_type
Definition: value.py:1