Зачем нужны аннотации операционному преобразованию Google Wave?

Инструмент оперативного преобразования, используемый в Google Wave, имеет довольно любопытный формат документа. Документ - это в основном документ подмножества xml - символы, начальные и конечные теги. В дополнение к этому, в документе есть «аннотации», которые представляют собой метаданные, связанные с диапазонами, например начальная позиция и конечная позиция. Официальный документ оправдывает свое присутствие следующими словами:

Операции с волновыми документами также поддерживают аннотации. Аннотация - это некоторые метаданные, связанные с диапазоном элементов, то есть начальной и конечной позицией. Это особенно полезно для описания предложений по форматированию текста и орфографии, так как это не обязательно усложняет базовый формат структурированного документа.

Я, конечно, вижу, насколько сложно было бы выбрать произвольный диапазон из документа и, например, полужирным шрифтом - вложение тегов XML является строгим, и это вызовет беспорядок при вставке открытых и закрытых тегов.

Однако действительно ли это проблема на практике? Я имею в виду, обязательно ли поддерживать такую ​​операцию, если не сделать редактор, который в основном имитирует устаревшую парадигму обработки текста, вместо того, чтобы быть структурированным редактором? Будет ли так ужасно чистое операционное преобразование XML со структурой документа в виде простого HTML5? Это проблема производительности, если стили будут в документе в виде тегов? Или модель операционного преобразования каким-то образом дает неудовлетворительные результаты при форматировании текста, если они представлены тегами?

Также есть побочный вопрос - насколько хороша чистая модель операционного преобразования «вставить символ, удалить символ, сохранить» в простом тексте представления? Например, редактирование HTML5 как текста - или редактирование статей в Википедии?

5
задан Nakedible 3 November 2010 в 09:59
поделиться