Я как бы попытался понять, почему это происходит в AIX. Мы делаем следующие вызовы:Ошибка преобразования Xalanc: не удалось определить базовый путь к файлу (, строка 0, столбец 0)
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()
, поэтому я не уверен, куда идти отсюда. Любая помощь приветствуется.
Как выглядит имя файла? Где находится этот файл на самом деле? Каков текущий каталог при выполнении кода? – keshlam
Текущий каталог - это где exe - текстовый файл в формате 'ABC-MyFile.xml' – MrDuk
Этот файл также находится в каталоге с .exe? Вы уверены, что имя, которое вы указали правильно, помните, что имена файлов AIX чувствительны к регистру ... – keshlam