Elm  1.0
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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
virtual Document * makeDocument(void *node)
Definition: xom_NodeFactory.cpp:87
virtual Nodes makeAttribute(void)
Definition: xom_NodeFactory.cpp:157
static NodeFactory default_factory
Definition: NodeFactory.h:31
virtual Nodes makeComment(void)
Definition: xom_NodeFactory.cpp:163
virtual Element * makeElement(void *node)
Definition: xom_NodeFactory.cpp:107
virtual void finishMakingDocument(Document *document)
Definition: xom_NodeFactory.cpp:205
virtual Nodes makeText(void)
Definition: xom_NodeFactory.cpp:187
virtual Element * startMakingElement(void)
Definition: xom_NodeFactory.cpp:151
virtual Nodes finishMakingElement(Element *element)
Definition: xom_NodeFactory.cpp:193
virtual Document * startMakingDocument(void)
Definition: xom_NodeFactory.cpp:141
Definition: Text.h:15
virtual Nodes makeDocType(String rootElementName, String publicID, String systemID)
Definition: xom_NodeFactory.cpp:169
Definition: Document.h:20
Definition: String.h:38
Definition: Comment.h:30
virtual Element * makeRootElement(void)
Definition: xom_NodeFactory.cpp:181
Definition: Builder.h:20
virtual ~NodeFactory(void)
Definition: xom_NodeFactory.cpp:123
Definition: Element.h:21
Definition: Attribute.h:30
Definition: Nodes.h:32
Definition: Node.h:40
virtual Nodes makeProcessingInstruction(void)
Definition: xom_NodeFactory.cpp:175
Definition: NodeFactory.h:27