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