Здравствуйте!
Имеется функция проверки соответствия XML-файла XSD-схеме.
<div class='CALtop'>C/AL</div><div class='CAL'>
_dom Automation 'Microsoft XML, v6.0'.DOMDocument60
_sch Automation 'Microsoft XML, v6.0'.XMLSchemaCache60
_xml_path Text 250
_type Code 20
_version Code 20
_error_reason Text 1024
//_xsd_path - путь к XSD-файлу
//_xml_path - путь к XML-файлу
//_error_reason - возврат по ссылке текста ошибки
CLEAR(_dom);
CREATE(_dom);
_dom.async := FALSE;
CLEAR(_sch);
CREATE(_sch);
_sch.add(_namespace, _xsd_path);
_dom.schemas := _sch;
_dom.load(_xml_path);
CLEAR(_error_reason);
IF _dom.parseError.errorCode <> 0 THEN
BEGIN
_error_reason := _dom.parseError.reason;
END;
EXIT(_dom.parseError.errorCode);
</div>
На получении описания ошибки в переменную _error_reason вылетает ошибка
---------------------------
Microsoft Business Solutions-Navision
---------------------------
Длина текстовой строки превосходит размер буфера строки.
---------------------------
ОК
---------------------------
т.е. длина строки превышает 1024 символа и на сколько я понимаю в принципе навиженом ничего сделать не получится. Как можно обойти ситуацию и скажем обрезать сообщение до 1024 символов, но без жутких извращений типа написания какой-то внешеней программы через которую навижен будет общаться с Microsoft XML?
|