Elm  2
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
Document.h
1 /*
2  * $Id$
3  * Copyright (c) 2006, IRIT UPS.
4  *
5  * elm/xom/Document.h -- XOM Document class interface.
6  */
7 #ifndef ELM_XOM_DOCUMENT_H
8 #define ELM_XOM_DOCUMENT_H
9 
10 #include <elm/xom/ParentNode.h>
11 
12 namespace elm { namespace xom {
13 
14 // Predeclaration
15 class Builder;
16 class Element;
17 class NodeFactory;
18 
19 // Document class
20 class Document: public ParentNode {
21  friend class NodeFactory;
22  friend class Node;
23  NodeFactory *fact;
24 protected:
25  Document(void *node, NodeFactory *fact);
26 public:
27  Document(Document *document);
28  Document(Element *root_element);
29  virtual ~Document(void);
30 
31  virtual Node *copy(void);
32  virtual String getBaseURI(void);
33  // DocType getDocType()
34  virtual Element *getRootElement(void);
35  virtual String getValue(void);
36  virtual void replaceChild(Node *old_child, Node *new_child);
37  virtual void setBaseURI(String uri);
38  // void setDocType(DocType doctype)
39  virtual void setRootElement(Element *root);
40  virtual String toString(void);
41  virtual String toXML(void);
42 };
43 
44 } } // elm::xom
45 
46 #endif // ELM_XOM_DOCUMENT_H
Definition: Document.h:20
virtual ~Document(void)
Definition: xom_Document.cpp:74
virtual void setBaseURI(String uri)
Definition: xom_Document.cpp:135
virtual String toString(void)
Definition: xom_Document.cpp:144
virtual Element * getRootElement(void)
Definition: xom_Document.cpp:118
virtual void replaceChild(Node *old_child, Node *new_child)
Definition: xom_Document.cpp:131
virtual Node * copy(void)
Definition: xom_Document.cpp:78
Document(void *node, NodeFactory *fact)
Definition: xom_Document.cpp:45
virtual String getValue(void)
Definition: xom_Document.cpp:126
virtual void setRootElement(Element *root)
Definition: xom_Document.cpp:139
virtual String toXML(void)
Definition: xom_Document.cpp:149
virtual String getBaseURI(void)
Definition: xom_Document.cpp:105
Definition: Element.h:21
Definition: NodeFactory.h:27
Definition: Node.h:40
void * node
Definition: Node.h:60
Definition: ParentNode.h:15
Definition: String.h:35
Definition: adapter.h:26