Elm  2
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
NodeFactory.h
1 /*
2  * $Id$
3  * Copyright (c) 2006, IRIT UPS.
4  *
5  * elm/xom/NodeFactory.h -- XOM NodeFactory class interface.
6  */
7 #ifndef ELM_XOM_NODEFACTORY_H
8 #define ELM_XOM_NODEFACTORY_H
9 
10 #include <elm/xom/String.h>
11 
12 namespace elm { namespace xom {
13 
14 // Predeclaration of classes
15 class Attribute;
16 class Builder;
17 class Comment;
18 class Document;
19 class Element;
20 class Node;
21 class Nodes;
22 class ProcessingInstruction;
23 class Text;
24 
25 
26 // NodeFactory class
27 class NodeFactory {
28  friend class Builder;
29  friend class Node;
30 public:
32 
33  virtual ~NodeFactory(void);
34  virtual Document *startMakingDocument(void);
35  virtual Element *startMakingElement(void);
36  virtual Nodes makeAttribute(void);
37  virtual Nodes makeComment(void);
38  virtual Nodes makeDocType(String rootElementName, String publicID, String systemID);
39  virtual Nodes makeProcessingInstruction(void);
40  virtual Element *makeRootElement(void);
41  virtual Nodes makeText(void);
42  virtual Nodes finishMakingElement(Element *element);
43  virtual void finishMakingDocument(Document *document);
44 
45  virtual Attribute *makeAttribute(void *node);
46  virtual Comment *makeComment(void *node);
47  virtual Document *makeDocument(void *node);
48  virtual ProcessingInstruction *makeProcessingInstruction(void *node);
49  virtual Element *makeElement(void *node);
50  virtual Text *makeText(void *node);
51 };
52 
53 } } // elm::xom
54 
55 #endif // ELM_XOM_NODEFACTORY_H
elm::xom::NodeFactory::makeAttribute
virtual Nodes makeAttribute(void)
Definition: xom_NodeFactory.cpp:157
elm::xom::NodeFactory
Definition: NodeFactory.h:27
elm::xom::Nodes
Definition: Nodes.h:32
elm::xom::String
Definition: String.h:35
elm::xom::NodeFactory::makeRootElement
virtual Element * makeRootElement(void)
Definition: xom_NodeFactory.cpp:181
elm::xom::NodeFactory::makeElement
virtual Element * makeElement(void *node)
Definition: xom_NodeFactory.cpp:107
elm::xom::Text
Definition: Text.h:15
elm::xom::NodeFactory::~NodeFactory
virtual ~NodeFactory(void)
Definition: xom_NodeFactory.cpp:123
elm::xom::NodeFactory::finishMakingDocument
virtual void finishMakingDocument(Document *document)
Definition: xom_NodeFactory.cpp:205
elm::xom::NodeFactory::makeComment
virtual Nodes makeComment(void)
Definition: xom_NodeFactory.cpp:163
elm
Definition: adapter.h:26
elm::xom::NodeFactory::finishMakingElement
virtual Nodes finishMakingElement(Element *element)
Definition: xom_NodeFactory.cpp:193
elm::xom::NodeFactory::default_factory
static NodeFactory default_factory
Definition: NodeFactory.h:31
elm::xom::NodeFactory::startMakingElement
virtual Element * startMakingElement(void)
Definition: xom_NodeFactory.cpp:151
elm::xom::Builder
Definition: Builder.h:20
elm::xom::Comment
Definition: Comment.h:30
elm::xom::Document
Definition: Document.h:20
elm::xom::NodeFactory::makeText
virtual Nodes makeText(void)
Definition: xom_NodeFactory.cpp:187
elm::xom::NodeFactory::makeDocType
virtual Nodes makeDocType(String rootElementName, String publicID, String systemID)
Definition: xom_NodeFactory.cpp:169
elm::xom::NodeFactory::startMakingDocument
virtual Document * startMakingDocument(void)
Definition: xom_NodeFactory.cpp:141
elm::xom::NodeFactory::makeDocument
virtual Document * makeDocument(void *node)
Definition: xom_NodeFactory.cpp:87
elm::xom::Element
Definition: Element.h:21
elm::xom::Attribute
Definition: Attribute.h:30
elm::xom::NodeFactory::makeProcessingInstruction
virtual Nodes makeProcessingInstruction(void)
Definition: xom_NodeFactory.cpp:175
elm::xom::Node
Definition: Node.h:40