2014-03-11 3 views
0

Я как бы попытался понять, почему это происходит в 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(), поэтому я не уверен, куда идти отсюда. Любая помощь приветствуется.

+0

Как выглядит имя файла? Где находится этот файл на самом деле? Каков текущий каталог при выполнении кода? – keshlam

+0

Текущий каталог - это где exe - текстовый файл в формате 'ABC-MyFile.xml' – MrDuk

+0

Этот файл также находится в каталоге с .exe? Вы уверены, что имя, которое вы указали правильно, помните, что имена файлов AIX чувствительны к регистру ... – keshlam

ответ

0

Ответ здесь действительно был связан с дорогой - я просто смотрел на неправильный путь. Необходимые файлы (параметры 2 и 3) отсутствовали в каталоге.