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.