/* Web Polygraph http://www.web-polygraph.org/ * (C) 2003-2006 The Measurement Factory * Licensed under the Apache License, Version 2.0 */ #include "base/polygraph.h" #include "xstd/gadgets.h" #include "xml/XmlRenderer.h" #include "xml/XmlText.h" XmlText::XmlText() { configureStream(theBuf, 2); } XmlText::XmlText(const String &t) { configureStream(theBuf, 2); text(t); } String XmlText::text() const { String s; s.append(theBuf.str().data(), theBuf.str().size()); streamFreeze(theBuf, false); return s; } XmlNode *XmlText::clone() const { XmlText *txt = new XmlText; txt->buf().write(theBuf.str().data(), theBuf.str().size()); streamFreeze(theBuf, false); return txt; } const String &XmlText::name() const { static const String myName(""); // no tag can have a name with "<" return myName; } ostream &XmlText::print(ostream &os, const String &pfx) const { (os << pfx).write(theBuf.str().data(), theBuf.str().size()); streamFreeze(theBuf, false); return os; } void XmlText::render(XmlRenderer &r) const { const char *str = theBuf.str().data(); streamFreeze(theBuf, false); r.renderText(str, theBuf.str().size()); }