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