Я был вроде как пытался выяснить, почему это не работает в AIX. Мы делаем следующие звонки:
void
SAXParser::TransformFile()
{
if(!mbPerformTransformation)
return;
XalanTransformer theXalanTransformer;
// The assumption is that the executable will be run
// from same directory as the input files.
int theResult = theXalanTransformer.transform(mpcFileName, GetXSLTTransformationFileName(), TRANSFORMED_FILE_NAME);
if(theResult != 0)
{
throw MyException( string("Xalanc Transformation Error: \n") + string(theXalanTransformer.getLastError()) );
}
}
Когда я попадаю сюда, я могу просмотреть mpcFileName
просто отлично как file.xml
, однако я получаю следующее сообщение об ошибке при попытке вызвать transform()
в теме:
XSLT Warning: Fatal Error.Occurred at unknown file, line 0, column 0. An exception occurred! Type:XMLPlatformException, Message:Could not determine base pathname of the file (line -1, column -1.)
и в конечном итоге …
Xalanc Transformation Error:
SAXParseException: An exception occurred! Type:XMLPlatformException, Message:Could not determine base pathname of the file (, line 0, column 0)
Я понятия не имею, что я делаю … Я не могу отладить transform()
метод, поэтому я не уверен, куда идти отсюда. Любая помощь приветствуется.
Ответ здесь на самом деле оказался связанным с путями — я просто смотрел на неправильно дорожка. Необходимые файлы (параметры 2 и 3) отсутствовали в каталоге.
Других решений пока нет …