1 2 /* Web Polygraph http://www.web-polygraph.org/ 3 * Copyright 2003-2011 The Measurement Factory 4 * Licensed under the Apache License, Version 2.0 */ 5 6 #ifndef POLYGRAPH__XML_XMLRENDERER_H 7 #define POLYGRAPH__XML_XMLRENDERER_H 8 9 class XmlDoc; 10 class XmlNode; 11 class XmlTag; 12 class XmlNodes; 13 14 // rendering interface 15 class XmlRenderer { 16 public: ~XmlRenderer()17 virtual ~XmlRenderer() {} 18 19 virtual void render(const XmlDoc &doc) = 0; 20 21 void renderNode(const XmlNode &node); 22 virtual void renderText(const char *buf, Size sz) = 0; 23 virtual void renderTag(const XmlTag &tag) = 0; 24 25 protected: 26 void foreach(const XmlNodes *nodes); 27 }; 28 29 #endif 30