hi again Dave, i solved last compilation error and now it gives me new
errors:


netbeans output console

Running "/usr/bin/make  -f Makefile CONF=Debug clean" in
/home/alonso/curro/pruebaXalanC

/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .clean-conf
make[1]: se ingresa al directorio `/home/alonso/curro/pruebaXalanC'
rm -f -r build/Debug
rm -f dist/Debug/GNU-Linux-x86/libpruebaXalanC.so
make[1]: se sale del directorio `/home/alonso/curro/pruebaXalanC'

Clean successful. Exit value 0.

Running "/usr/bin/make  -f Makefile CONF=Debug" in
/home/alonso/curro/pruebaXalanC

/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
make[1]: se ingresa al directorio `/home/alonso/curro/pruebaXalanC'
mkdir -p build/Debug/GNU-Linux-x86
g++ -m32   -c -g -I/usr/include -I/usr/include/c++/4.1.2
-I/usr/local/include -I/usr/include/c++/4.1.2/backward -fPIC  -o
build/Debug/GNU-Linux-x86/newmain.o newmain.c
En el fichero incluído de
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward/strstream:51,
                 de WraperXalanC.h:12,
                 de newmain.c:10:
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward/backward_warning.h:32:2:
aviso: #warning This file includes at least one deprecated or antiquated
header. Please consider using one of the 32 headers found in section
17.4.1.2 of the C++ standard. Examples include substituting the <X> header
for the <X.h> header for C++ includes, or <iostream> instead of the
deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
mkdir -p build/Debug/GNU-Linux-x86
g++ -m32   -c -g -I/usr/include -I/usr/include/c++/4.1.2
-I/usr/local/include -I/usr/include/c++/4.1.2/backward -fPIC  -o
build/Debug/GNU-Linux-x86/WraperXalanC.o WraperXalanC.cc
En el fichero incluído de
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward/strstream:51,
                 de WraperXalanC.h:12,
                 de WraperXalanC.cc:1:
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward/backward_warning.h:32:2:
aviso: #warning This file includes at least one deprecated or antiquated
header. Please consider using one of the 32 headers found in section
17.4.1.2 of the C++ standard. Examples include substituting the <X> header
for the <X.h> header for C++ includes, or <iostream> instead of the
deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
WraperXalanC.cc: In member function ‘XalanCompiledStylesheet
WraperXalanC::crearTranslet(char*)’:
WraperXalanC.cc:42: error: el tipo de devolución ‘struct
XalanCompiledStylesheet’ es un tipo de dato incompleto
WraperXalanC.cc: In member function ‘XSLTResultTarget
WraperXalanC::renderView(char*, XalanCompiledStylesheet)’:
WraperXalanC.cc:56: error: ‘plantillaXsl’ has incomplete type
/usr/local/include/xalanc/XalanTransformer/XalanTransformer.hpp:70: error:
forward declaration of ‘const struct XalanCompiledStylesheet’
make[1]: *** [build/Debug/GNU-Linux-x86/WraperXalanC.o] Error 1
make[1]: se sale del directorio `/home/alonso/curro/pruebaXalanC'
make: *** [.build-impl] Error 2

Build failed. Exit value 2.



WraperXalan.cc

#include "WraperXalanC.h"

     WraperXalanC::WraperXalanC()
     {
         
         inicializado=false;
         if (!inicializado){
             inicializar();
             inicializado=true;
         }
     }
     
     WraperXalanC::~WraperXalanC(){}
     
     void WraperXalanC::inicializar()
     {
             try
             {
                    XALAN_USING_XERCES(XMLPlatformUtils)
                    XALAN_USING_XALAN(XalanTransformer)
                    
                    XALAN_USING_STD(cerr)
                    XALAN_USING_STD(cout)
                    XALAN_USING_STD(endl)
                    XALAN_USING_XALAN(XalanCompiledStylesheet)
                    XALAN_USING_XALAN(XalanDOMString)
                    XALAN_USING_XALAN(XalanParsedSource)
                    XALAN_USING_XALAN(XalanTransformer)
                    XALAN_USING_XALAN(XSLTInputSource)
                    XALAN_USING_XALAN(XSLTResultTarget)
                    // Call the static initializer for Xerces.
                    XMLPlatformUtils::Initialize();
                    // Initialize Xalan.
                    XalanTransformer::initialize();
                    cout<<"XALANC inicializado.";
             }catch(...){
                cout<<"Error al inicializar XALANC";
             }
        
     }
     
     XalanCompiledStylesheet WraperXalanC::crearTranslet(char *cadena)
     {
        
         //Tiene que ser local al metodo? no podria ser utilizado por todos?
         //va a ser de hilo seguro?? si es local al metodo seguro que si
         XalanTransformer theXalanTransformer;
         const XalanCompiledStylesheet *compiledStylesheet = NULL;
         istrstream str(cadena, strlen(cadena));        
         const XSLTInputSource msgToTransform(&str); 
         int theResult = theXalanTransformer.
                           
compileStylesheet(msgToTransform,compiledStylesheet);
         return compiledStylesheet;
     }
     
     XSLTResultTarget WraperXalanC::renderView(char
*xml,XalanCompiledStylesheet plantillaXsl)
     {
         
         XalanTransformer theXalanTransformer;
         XSLTResultTarget theResultTarget;
         // hago la transformacion
         int theResult = theXalanTransformer.transform(xml, plantillaXsl,
theResultTarget);
         //habria que convertir el XSLTResultTarget en un chorro de bytes o
algo asi
         if (theResult!=0){
             //la conversion no ha tenido exito!
         }
         //habria que devolver el objeto resultante, o por lo menos la
informacion 
         //contenida en el, debe ser algo a bajo nivel
         theResultTarget.getCharacterStream();
         return theResultTarget;
     }


WraperXalan.h
/* 
 * File:   WraperXalanC.h
 * Author: alonso
 *
 * Created on 22 de enero de 2008, 15:47
 */
#ifndef _WRAPERXALANC_H
#define _WRAPERXALANC_H

#include <string>
#include <iostream>
#include <strstream>

#include <xalanc/Include/PlatformDefinitions.hpp>
//#include <xercesc/util/PlatformUtils.hpp>
#include <xalanc/XalanTransformer/XalanTransformer.hpp>
//#include <xalanc/XalanTransformer/XalanCompiledStylesheet.hpp>
#include <xalanc/XSLT/XSLTResultTarget.hpp>

using namespace std;

XALAN_USING_XALAN(XalanTransformer)
XALAN_USING_XALAN(XalanCompiledStylesheet)
XALAN_USING_XALAN(XSLTResultTarget)
XALAN_USING_XALAN(XSLTInputSource)
     
typedef XalanCompiledStylesheet XalanCompiledStylesheet;
typedef XSLTResultTarget XSLTResultTarget;
 
class WraperXalanC
{
    bool inicializado;

    public:
     WraperXalanC();
     
     ~WraperXalanC();
     
     void inicializar();  
     
     XalanCompiledStylesheet crearTranslet(char *cadena);
  //   void prueba(XSLTResultTarget& ert);
     XSLTResultTarget renderView(char *xml, XalanCompiledStylesheet
plantillaXsl);
 };

#endif  /* _WRAPERXALANC_H */


-- 
View this message in context: 
http://www.nabble.com/building-a-jni-bridge-between-java-and-xalan-c-tp15039293p15045580.html
Sent from the Xalan - C - Users mailing list archive at Nabble.com.

Reply via email to