Salome HOME
Updated copyright comment
[modules/yacs.git] / src / yacsloader / xmlParserBase.hxx
index 066b11cc7d90f2421731550259dd7dbe29763b9c..60231161cc47da6da7e985be1d172ed33cbbdedf 100644 (file)
@@ -1,41 +1,30 @@
+// Copyright (C) 2006-2024  CEA, EDF
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 #ifndef __XMLPARSERBASE_HXX_
 #define __XMLPARSERBASE_HXX_
 
-
-// --- select only one of the following packages ------------------------------
-// - libxml2 comes with gnome, so it's almost always already installed,
-//   but may not not work (see below).
-// - libexpat is a less common package, but light, and works fine.
-
-// With standard installation of libxml2, C++ exception cannot be catched 
-// during the parse process. This is required for normal use of yacs.
-// libxml2 must be generated with configure --with-fexceptions ...
-// (to be tested)
-// Developpement and tests are done with libexpat.
-
-//#define USE_LIBXML2
-#define USE_EXPAT
-
-// --- specific part for libxml2 ----------------------------------------------
-
-#ifdef USE_LIBXML2
-extern "C"
-{
 #include <libxml/parser.h>
-}
+
 #define XMLCALL
 #define XML_Char char
 inline XML_Char* tochar(const xmlChar *c) { return (XML_Char*)c; };
-#endif
-
-// --- specific part for expat ------------------------------------------------
-
-#ifdef USE_EXPAT
-  #include <expat.h>
-#define xmlChar XML_Char
-inline const XML_Char* tochar(const xmlChar *c) { return c; };
-#endif
-
 
 // --- generic part -----------------------------------------------------------
 
@@ -62,6 +51,7 @@ protected:
 class xmlParserBase
 {
 public:
+#ifndef SWIG
   static void XMLCALL start_document(void* userData);
   static void XMLCALL end_document  (void* userData);
   static void XMLCALL start_element (void* userData,
@@ -83,6 +73,7 @@ public:
   static void XMLCALL cdata_block   (void* userData,
                                      const xmlChar* value,
                                      int len);
+#endif
   static void cleanGarbage();
   static int getGarbageSize() {return _garbage.size(); };
 public:
@@ -93,15 +84,9 @@ public:
 
   std::map< std::string, int > counts;
 
-#ifdef USE_LIBXML2
   static _xmlParserCtxt* _xmlParser;
   static void XML_SetUserData(_xmlParserCtxt* ctxt,
                               xmlParserBase* parser);
-#endif
-
-#ifdef USE_EXPAT
-  static XML_Parser _xmlParser;
-#endif
 
   static std::stack<xmlParserBase*> _stackParser;