Domanda

La trasformazione roba operativo utilizzato in Google Wave ha un formato di documento piuttosto curiosa. Un documento è fondamentalmente solo un documento sottoinsieme XML - personaggi, iniziano tag e tag di chiusura. In aggiunta a ciò, il documento ha "annotazioni", che sono meta-dati associati con intervalli, ad esempio e fine posizione iniziare. Il white paper giustifica la loro presenza con:

  

operazioni di documenti d'onda anche il supporto delle annotazioni. Un'annotazione è alcuni meta-dati associati con una gamma elemento, cioè una posizione iniziale ed una posizione finale. Ciò è particolarmente utile per descrivere il testo di formattazione e grammatica suggerimenti, in quanto non unecessarily complicare il formato di documento strutturato sottostante.

posso certamente vedere come sarebbe un po 'difficile se un intervallo arbitrario da un documento sarebbe selezionato e per esempio in grassetto -. XML tag nidificazione è rigorosa e che avrebbe causato un disastro di inserimenti tag di apertura e chiusura

Tuttavia, è questo davvero un problema nella pratica? Voglio dire, cosa si deve necessariamente supportare tale operazione, se non facendo un editor che fondamentalmente imita gli anni Elaborazione di paradigma, invece di essere un editor strutturato? Sarebbe puro XML operativa trasformare con la struttura del documento semplicemente come HTML5 essere quella terribile? Si tratta di un problema di prestazioni che gli stili sarebbero nel documento come tag? Oppure il modello di trasformare operativa produrre qualche modo risultati insoddisfacenti sulla formattazione del testo se sono rappresentate con i tag?

Inoltre, una domanda lato - quanto è buono sarebbe il puro "Inserisci carattere, caratteri Rimuovere, mantenere" operativa trasformare il modello sia sulle rappresentazioni di testo? Per esempio, l'editing HTML5 come testo -? O la modifica di articoli di Wikipedia

È stato utile?

Soluzione

Ci sono problemi fondamentali con l'utilizzo di un linguaggio di markup gerarchica con OT. Vedi sotto per un esempio pratico:

fa lavori di trasformazione operativa in materia di documenti strutturati come HTML se semplicemente trattato come testo normale?

Altri suggerimenti

Questa scelta ha senso per me come un'ottimizzazione su più fronti:

  • I resti dei documenti sottostanti come leggibile e parse-in grado possibile
  • Gli algoritmi per analizzare l'XML sottostante rimanga il più semplice possibile (utile per la compatibilità con tentativi non Google a parsing documenti risultanti, e per la manutenzione)
  • L'immondizia in più raccolte, dopo molteplici modifiche, può portare a grandi colpi di prestazione -. A causa del gran numero di tag e / o ulteriori passaggi sul documento per tentare di semplificare
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top