Thomas,
The following usage pattern might help :
http://xml.apache.org/xalan-c/usagepatterns#xercesdomwrapperparsedsource
Some previous correspondance :
http://marc.theaimsgroup.com/?l=xalan-c-users&m=102800880824935&w=2
Cheers, Berin
FPO Chat wrote:
Hi
I'm using xalan-c++ version 1.4. I could'nt transform a preparsed xml-file. Is there a solution of this problem?
The progam terminates with error:
Fatal Error at (file <unknown>, line 0, column 0): An exception occurred! Type:RuntimeException, Message:The primary document entity could not be opened. Id={null}
Here is the code:
#include <Include/PlatformDefinitions.hpp> #include <cassert>
#include <xercesc/dom/deprecated/DOMParser.hpp> #include <xercesc/util/PlatformUtils.hpp>
#include <XercesParserLiaison/XercesParserLiaison.hpp> #include <XercesParserLiaison/XercesDOMSupport.hpp>
#include <XalanTransformer/XalanTransformer.hpp> #include <XalanTransformer/XalanSourceTreeWrapperParsedSource.hpp>
int main(int argc, const char* argv[]) {
int theResult = -1;
try { XMLPlatformUtils::Initialize(); XalanTransformer::initialize(); } catch (const XMLException& toCatch) { cerr << "Error during initialization! Message:\n" << toCatch.getMessage() << endl; return 1; }
try { XalanTransformer theTransformer;
XalanTransformer theXalanTransformer;
DOMParser parser; parser.setToCreateXMLDeclTypeNode(false); try { parser.parse("afp.xml"); } catch (const XMLException& e) { cerr << "\nError during parsing memory stream:\n" << "Exception message is: \n" << e.getMessage() << "\n" << endl; return 4; } const DOM_Document theDOM = parser.getDocument(); XercesDOMSupport theDOMSupport; XercesParserLiaison theParserLiaison(theDOMSupport); XalanDocument *theDoc = theParserLiaison.createDocument(theDOM); XSLTInputSource theInputSource(theDoc);
theResult = theXalanTransformer.transform(theInputSource, "afp.xsl", "out.xml"); } catch(...) { cerr << "An unknown error occurred!" << endl; } }
-- Thomas Schletter CVD, Chemnitz, Germany +49-371-656 680 [EMAIL PROTECTED]
