nxmlschemaparser.h

Go to the documentation of this file.
00001 // LICENSE: (Please see the file COPYING for details)
00002 //
00003 // NUS - Nemesis Utilities System: A C++ application development framework 
00004 // Copyright (C) 2006, 2008 Otavio Rodolfo Piske
00005 //
00006 //  This file is part of NUS
00007 //
00008 //  This library is free software; you can redistribute it and/or
00009 //  modify it under the terms of the GNU Lesser General Public
00010 //  License as published by the Free Software Foundation version 2.1
00011 //  of the License.
00012 //
00013 //  This library is distributed in the hope that it will be useful,
00014 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016 //  Lesser General Public License for more details.
00017 //
00018 //  You should have received a copy of the GNU Lesser General Public
00019 //  License along with this library; if not, write to the Free Software
00020 //  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00021 //
00022 #ifndef NXMLSCHEMAPARSER_H
00023 #define NXMLSCHEMAPARSER_H
00024 
00025 #include <libxml/parser.h>
00026 #include <libxml/xmlschemas.h>
00027 
00035 #include "ndefs.h"
00036 #include "nstring.h"
00037 #include "nexception.h"
00038 #include "nxmlabstractparser.h"
00039 #include "nxmlerror.h"
00040 #include "ndebug.h"
00041 
00042 
00050 class DllDeclSpec NXmlSchemaParser: public NXmlAbstractParser { 
00051       public:
00055             NXmlSchemaParser(void);
00056             
00060             ~NXmlSchemaParser(void);
00061             
00062             xmlDocPtr parse(const NString &filename);
00063             xmlDocPtr parse(const NString &buffer, const NString &url);
00064             xmlDocPtr parse(const NFile *file, const NString &url);
00065       
00066       private:
00067             // The parser context
00068             xmlSchemaParserCtxtPtr m_parser_ctxt;
00069             
00070             // The schema pointer
00071             xmlSchemaPtr m_schema_ptr;
00072             
00073             // The valid schema pointer, used to validate the document
00074             xmlSchemaValidCtxtPtr m_valid_ctxt;
00075             
00076             NXmlSchemaParser(const NXmlSchemaParser &other);
00077             NXmlSchemaParser &operator=(const NXmlSchemaParser &rhs);
00078             
00079             void parseSchema(void);
00080 };
00081 
00082 #endif // NXMLSCHEMAPARSER_H

Generated on Wed Mar 5 23:10:36 2008 for NemesisUtilitiesSystem by  doxygen 1.5.4