La fonctionnalité de transformation opérationnelle utilisée dans Google Wave a un format de document plutôt curieux. Un document est essentiellement un document de sous-ensemble XML: caractères, balises de début et balises de fin. En plus de cela, le document a des "annotations", qui sont des méta-données associées à des plages, par ex. position de départ et position finale. Le livre blanc justifie leur présence par:Pourquoi Google Wave Operational Transform a-t-il besoin d'annotations?
Les opérations de document d'onde prennent également en charge les annotations. Une annotation est une métadonnée associée à une plage d'éléments, c'est-à-dire une position de départ et une position de fin. Ceci est particulièrement utile pour décrire les suggestions de mise en forme et d'orthographe du texte, car cela ne complique pas inutilement le format de document structuré sous-jacent.
Je peux certainement voir comment il serait un peu difficile si une gamme arbitraire d'un document sera sélectionné et par exemple en gras - imbrication de balise XML est stricte et que causerait un gâchis d'insertions de tag ouvrir et fermer.
Cependant, est-ce vraiment un problème dans la pratique? Je veux dire, faut-il nécessairement soutenir une telle opération, si ce n'est de faire un éditeur qui imite fondamentalement le paradigme de traitement de texte vieux d'années au lieu d'être un éditeur structuré? Est-ce que le XML pur opérationnel transformerait avec la structure du document comme simplement HTML5 serait-ce terrible? Est-ce un problème de performances que les styles seraient dans le document en tant que balises? Ou le modèle de transformation opérationnelle produit-il des résultats insatisfaisants sur la mise en forme du texte s'ils sont représentés avec des balises?
En outre, une question secondaire - comment bien le pur "insérer le caractère, retirer le caractère, conserver" modèle de transformation opérationnelle soit sur les représentations de texte brut? Par exemple, éditer HTML5 en tant que texte - ou éditer des articles Wikipedia?
Merci! Finalement, cette question a été répondue correctement! L'exemple montre vraiment pourquoi les annotations sont cruciales. – Nakedible