Elm  2
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
Builder.h
1 /*
2  * $Id$
3  * Copyright (c) 2006, IRIT UPS.
4  *
5  * elm/xom/Builder.h -- XOM Builder class interface.
6  */
7 #ifndef ELM_XOM_BUILDER_H
8 #define ELM_XOM_BUILDER_H
9 
10 #include <elm/string.h>
11 #include <elm/io.h>
12 
13 namespace elm { namespace xom {
14 
15 // External class
16 class NodeFactory;
17 class Document;
18 
19 // Builder class
20 class Builder {
21  bool validate;
22  NodeFactory *fact;
23  static NodeFactory default_factory;
24 public:
25  Builder(void);
26  Builder(bool validate);
27  Builder(bool validate, NodeFactory *factory);
28  Builder(NodeFactory *factory);
29 
30  inline NodeFactory *getNodeFactory(void) const;
31  Document *build(CString system_id);
32  Document *build(CString document, CString base_uri);
34  Document *build(elm::io::InStream *stream, CString base_uri);
35 };
36 
37 // Builder inlines
38 inline NodeFactory *Builder::getNodeFactory(void) const {
39  return fact;
40 };
41 
42 } } // elm::xom
43 
44 #endif // ELM_XOM_BUILDER_H
Definition: CString.h:17
Definition: InStream.h:29
Definition: Builder.h:20
Document * build(CString system_id)
Definition: xom_Builder.cpp:57
Document * build(CString document, CString base_uri)
Builder(NodeFactory *factory)
Builder(bool validate, NodeFactory *factory)
NodeFactory * getNodeFactory(void) const
Definition: Builder.h:38
Builder(bool validate)
Builder(void)
Definition: xom_Builder.cpp:48
Definition: Document.h:20
Definition: NodeFactory.h:27
Definition: adapter.h:26