LibMusicXML  3.18
xmlreader.h
1 /*
2  MusicXML Library
3  Copyright (C) Grame 2006-2013
4 
5  This Source Code Form is subject to the terms of the Mozilla Public
6  License, v. 2.0. If a copy of the MPL was not distributed with this
7  file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 
9  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
10  research@grame.fr
11 */
12 
13 #ifndef __xmlreader__
14 #define __xmlreader__
15 
16 #include <stack>
17 #include <stdio.h>
18 #include "exports.h"
19 #include "xmlfile.h"
20 #include "reader.h"
21 
22 namespace MusicXML2
23 {
24 
25 //______________________________________________________________________________
26 class EXP xmlreader : public reader
27 {
28  std::stack<Sxmlelement> fStack;
29  SXMLFile fFile;
30 
31  public:
32  xmlreader() {}
33  virtual ~xmlreader() {}
34 
35  SXMLFile readbuff(const char* file);
36  SXMLFile read(const char* file);
37  SXMLFile read(FILE* file);
38 
39  bool xmlDecl (const char* version, const char *encoding, int standalone);
40  bool docType (const char* start, bool status, const char *pub, const char *sys);
41 
42  void newComment (const char* comment);
43  void newProcessingInstruction (const char* pi);
44  bool newElement (const char* eltName);
45  bool newAttribute (const char* eltName, const char *val);
46  void setValue (const char* value);
47  bool endElement (const char* eltName);
48  void error (const char* s, int lineno);
49 };
50 
51 }
52 
53 #endif
Definition: xmlreader.h:27
Definition: reader.h:17