Проверка образца ядра xliff с помощью платформы Okapi

Я работаю с http://Okapi%20framework и использую "core/valid/sample1.xlf" из этого http://set%20of%20valid%20and%20invalid%20XLIFF%202%20documents возникает ошибка

net.sf.okapi.lib.xliff2.reader.XLIFFReaderException: Error systemId: file:/tmp/sample1.xlf; lineNumber: 7; columnNumber: 43; cvc-complex-type.3.2.2: Attribute 'gls:ref' is not allowed to appear in element 'gls:glossEntry'

Любые мысли о том, является ли это проблемой с файлом примера или с фреймворком?

Спасибо


person brent    schedule 03.06.2015    source источник


Ответы (2)


Использование префикса пространства имен для атрибута отличается от его отсутствия.

<gls:glossEntry ref="#m1">

Не то же самое, что:

<gls:glossEntry gls:ref="#m1">

Объявление XLIFF 2.x использует нотацию без префикса (как подавляющее большинство всех форматов XML). Так что первый пример верный, второй нет.

Кстати: в этом файле example1.xlf есть одна ошибка:

<gls:translation ref="#m2" source="myTermbase">TAB-TASTE

Должно быть:

<gls:translation ref="#t=m2" source="myTermbase">TAB-TASTE

Поскольку маркер m2 находится в цели, атрибут ref должен использовать обозначение XLIFF Fragment ID.

person user1650693    schedule 26.09.2015
comment
Я хотел прокомментировать от имени XLIFF TC отличный ответ пользователя 1650693, так как это не совсем новый ответ, но не мог из-за низкой репутации ;-) Все, что пользователь 1650693 сказал в своем принятом ответе, верно! Я просто хотел отметить, что я исправил неправильный набор тестов sample1.xlf на основе правильного ответа. Действительно, префикс gls: был неправильно использован в файле примера, а синтаксис ref действительно требовал t= в качестве префикса fragid для ссылки в соответствии с механизмом fragid. Теперь исправленный файл будет правильно проверяться на OKAPI Lynx и других валидаторах XLIFF. Я рассматриваю возможность добавления т. - person Merzbauer; 17.03.2016

Мне кажется, проблема с инструментом проверки: я использовал http://okapi-lynx.appspot.com/validation и получил ту же ошибку. Когда я удалил оскорбительный атрибут ref, следующая ошибка, о которой сообщалось, была «Error lineNumber: 8; columnNumber: 49; cvc-complex-type.3.2.2: атрибуту 'gls: source' не разрешено появляться в элементе 'gls:term' ." Согласно http://docs.oasis-open.org/xliff/xliff-core/v2.0/os/schemas/modules/glossary.xsd оба атрибута должны быть действительными.

Удаление префикса пространства имен gls также устраняет ошибку — что-то там нечисто.

person Jenszcz    schedule 09.06.2015