Противостояние Microsoft и i4i - техническая сторона вопроса (CustomXML)
О Custom XML и патентном споре Microsoft и i4i
Те, кто с большим или меньшим постоянством следит за новостями в компьютерном мире, наверняка не пропустили очередной патентный иск, выдвинутый против крупной IT компании. Я имею в виду иск i4i к Microsoft, в котором Microsoft обвинялась в нарушении патента, связанного с обработкой данных в XML разметке. В конце прошлого года появилось сообщение (например, здесь), что аппеляционный суд оставил решение в пользу i4i в силе, и что Microsoft вынуждена была внести исправления во все продающиеся ныне (т.е. 2007) и готовящиеся к выпуску версии (2010) Word. Кроме того, ей пришлось выпустить специальное обновление, которое будет отключать спорную функциональность в уже установленных продуктах.
К сожалению, в новостных лентах отсутствовли технические детали по сути претензий, а также предпринятых в ответ мерах. Поэтому, наткнувшись на блог Gray Knowlton What is "Custom XML?" ... and the impact of the i4i judgment on Word, я был весьма обрадован, тем что все встало на места (ну или, по крайней мере, появились ответы на большинство вопросов).
Итак суть проблемы представляет механизм Custom XML, который появился еще в Office 2003, а может и того раньше.
Для тех, кто не знаком с этим механизмом, поясню в двух словах. Custom XML позволяет привязать к документу Word описание схемы xml (.xsd), затем с помощью двольно удобных GUI-инструмментов связать узлы описанного xml-дерева с элементами документа (всем документом, отдельными абзацами, ячейками таблиц, ...). Т.е. выполнить своеобразную семантическую разметку документа. После чего такой документ можно использовать в качестве шаблона и "легким движением руки" (специальным методом в объектной модели, или просто при сохранении) выгружать размеченные данные в xml.
Например для такой схемы:
Разметка может быть сделана вот так:
А результат сохранен в виде вот такого документа
В общем, механизм, хоть и не лишенный некоторых недостатков, но довольно удобный. И именно он попал под огонь патентного тролля, увы.
Итак, что получается на сегодня:
- Механизм Custom XML сохраняется для бинарных форматов (.doc), но перестает работать для OpenXML документов (.docx, .docm). Точнее все будет продолжать работать для всех версий, проданных до 11.01.2010
- При открытии в "пропатченном" 2007 или 2010 Word схема будет удаляться, т.е. теряться вся разметка.
- В качестве альтернативы придется использовать механизм Content Controls, который появился в 2007 Office. К счастью механизм довольно известен и информации о нем много (можете, например, взглянуть на мои заметки: здесь и тут.
Не смертельно, конечно, но очень неприятно - особенно для организаций, построивших работу на Custom XML (судя по комментариям в блоге, такие организации есть, причем они не редко весьма крупные).
Конечно, эпопея еще не закончилась - я уверен, что Microsoft будет продолжать бороться с i4i. Кроме того, остается еще множество вопросов, например, что будет со стандартом OpenXML, раздел "17.5 Custom Markup" которого, как раз на треть состоит из описания Custom XML...
Кому интересны дополнительные детали, рекомендую обратиться к указанному в самом начале блогу - там уже есть много полезного в комментариях.
Комментарии 0