Термин « туда и обратно» используется при преобразовании документов, особенно с использованием языков разметки, таких как XML и SGML . Успешный двусторонний переход состоит из преобразования документа в формате A (docA) в документ в формате B (docB), а затем обратно в формат A (docA ′). Если docA и docA 'идентичны, значит, потери информации не было, и цикл приема-передачи был успешным. В более общем смысле это означает преобразование из любого представления данных и обратно, в том числе из одной структуры данных в другую.
Потеря информации
Когда документ одного формата конвертируется в другой, велика вероятность потери информации. Например, предположим, что документ HTML сохранен как обычный текст (* .txt). Тогда вся разметка (структура, форматирование, надстрочные знаки и т. Д.) Будет потеряна. Составные документы часто теряют информацию об изображениях и других встроенных объектах. Если текстовый файл преобразован обратно в исходный формат, информация обязательно будет отсутствовать.
Аналогичный эффект происходит с форматами изображений. Некоторые форматы, такие как JPEG, достигают сжатия за счет небольшой потери информации. Если файл без потерь , такой как файл BMP или PNG , конвертируется в JPEG и обратно, результат будет отличаться от оригинала (хотя он может быть визуально очень похожим).
Тот факт, что исходный и конечный документы не идентичны побитно, не означает, что имеется потеря информации. Некоторые форматы имеют неопределенные поля или поля, содержимое которых не влияет на результат.
Языки разметки
Языки разметки, такие как XML, в принципе могут содержать любую информацию, поэтому процесс docA → docX → docA 'может быть разработан таким образом, чтобы избежать потери информации. Сейчас принято преобразовывать устаревшие форматы в форматы XML, поскольку они обладают большей совместимостью и более широким набором доступных инструментов. Таким образом, можно преобразовать документы Word в формат XML и повторно импортировать их.
Документ XML должен содержать информацию, идентичную устаревшему формату. Важным условием является то, что обратный путь (legacy → XML → legacy ') должен приводить к фактически идентичным документам. Поскольку некоторые структуры документов допускают некоторую гибкость в порядке содержимого, пробелов, чувствительности к регистру и т. Д., Полезно иметь средства канонизации унаследованного формата. Тогда полный маршрут туда и обратно может быть:
- наследие → canonicalLegacy → XML → legacy ′ → canonicalLegacy ′
Если canonicalLegacy = canonicalLegacy ′, то обратный путь был успешным.
Кодировки символов
Unicode имеет принцип двусторонней совместимости со старыми стандартизованными устаревшими кодировками, поэтому преобразование документов в Unicode не приводит к потере информации; их можно конвертировать обратно. Для этого были введены символы совместимости Unicode .
Ограничение
Приложение может требовать возврата и быть нечестным. Например, он может сохранить исходные данные из docA как поле в docX, поэтому обратное преобразование в docA 'просто извлекает это поле. Хотя это может потребоваться в некоторых случаях, идея двустороннего преобразования состоит в том, чтобы пройти через представление другого формата или структуру данных и обратно. Такая стратегия означает, что небольшие изменения в документе означают, что он не может быть преобразован обратно в исходный формат.
Применение
Этот термин встречается часто, но не упоминается в словарях. Типичное использование встречается в [1], но этот термин, вероятно, использовался до этого.