1 // File: LDOMParser.hxx
2 // Created: 20.07.01 12:52:47
3 // Author: Alexander GRIGORIEV
4 // Copyright: OpenCascade 2001
5 // History: AGV 060302: Input from istream
7 #ifndef LDOMParser_HeaderFile
8 #define LDOMParser_HeaderFile
10 #include <LDOM_Document.hxx>
11 #include <LDOM_OSStream.hxx>
22 // ---------- PUBLIC METHODS ----------
24 LDOMParser () : myReader (NULL), myCurrentData (16384) {}
27 virtual Standard_EXPORT ~LDOMParser ();
30 Standard_EXPORT LDOM_Document
32 // Get the LDOM_Document
34 Standard_EXPORT Standard_Boolean
35 parse (const char * const aFileName);
37 // Returns True if error occurred, then GetError() can be called
39 Standard_EXPORT Standard_Boolean
40 parse (istream& anInput);
42 // Returns True if error occurred, then GetError() can be called
44 Standard_EXPORT const TCollection_AsciiString&
45 GetError (TCollection_AsciiString& aData) const;
46 // Return text describing a parsing error, or Empty if no error occurred
49 // ---------- PROTECTED METHODS ----------
51 Standard_EXPORT virtual Standard_Boolean
53 // virtual hook on 'StartElement' event for descendant classes
55 Standard_EXPORT virtual Standard_Boolean
57 // virtual hook on 'EndElement' event for descendant classes
59 Standard_EXPORT LDOM_Element
60 getCurrentElement () const;
61 // to be called from startElement() and endElement()
64 // ---------- PRIVATE METHODS ----------
65 Standard_Boolean ParseDocument ();
67 Standard_Boolean ParseElement ();
69 // ---------- PRIVATE (PROHIBITED) METHODS ----------
71 LDOMParser (const LDOMParser& theOther);
74 LDOMParser& operator = (const LDOMParser& theOther);
78 // ---------- PRIVATE FIELDS ----------
80 LDOM_XmlReader * myReader;
81 Handle(LDOM_MemManager) myDocument;
82 LDOM_OSStream myCurrentData;
83 TCollection_AsciiString myError;