Русский Gentoo

Спецификация требований к UpGuide для разработки

Автор — Алексей Чумаков, 2006-05-10

Назначение и порядок использования

UpGuide должен стать средством слияния существующего перевода документа GuideXML определенной версии с изменениями, сделанными в последующих версиях того же исходного документа.

Цель — радикальное облегчение работы переводчика и редактора при обновлении перевода документов благодаря сведению всей работы к редактированию одного файла.

Режимы использования

Реализация

Входные файлы

На вход подаются три документа.

Предполагается (но не гарантируется), что на вход подаются well-formed xml-документы (возможно, GuideXML-документы, находящиеся в таком соотношении:

Выходные файлы

На выходе формируется четвертый документ.

Сообщения об ошибках, как правило, не порождаются; могут выводиться предупреждения (warnings).

Особые случаи

Непредусмотренные ситуации не должны вызывать сообщение об ошибке; всегда выбирается «разумный» вариант обработки (оптимально — копирование обновленного файла без обработки). Необходимо рассчитывать, что на вход может быть подан любой файл, который способен существовать. И такой файл не должен породить ошибку.

При затруднениях в реализации требования корректной обработки обрезанного, дефектного или не-XML документа могут быть сняты или реализованы другими (внешними) средствами.

Тесты

Расположенные рядом два файла перекрестных различий (один — между двумя версиями исходного файла, другой — между двумя версиями перевода) должны совпадать по структуре и контексту.

Простая обратимость: повторный запуск с измененным исходным файлом, базовым исходным файлом и измененным переводом на входе должен приводить к генерации файла, эквивалентного базовому переводу (исключение — содержимое некоторых элементов может становиться непереведенным).

Перекрестная обратимость: повторный запуск с базовым переводом, измененным переводом и базовым исходным файлом должен порождать файл, эквивалентный измененному исходному файлу.

Устойчивость к ошибкам во входных данных: при отсутствии совпадений между базовым и измененным или базовым и переведенным файлом в любом поддереве элементов это поддерево должно полностью копироваться из измененного исходного файла. В предельном случае — на выход полностью копируется измененный исходный файл.

Ссылки и мысли

Раздел предстоит написать.