Oui, ma phrase était mal construite, je voulais dire "la plupart des API", et après j'ai voulu rajouter SAX, mais j'ai oublié d'enlever "la plupart" :)
Là, si tu veux que ce soit utile, les évènements doivent être plus précis, donc intégrer de la sémantique.
Par exemple "je commande un nouveau paragraphe", "je commence un tableau" (jusque là c'est facile), ou "je commence une nouvelle formule de maths" (ça se complique).
D'autre part, pour gérer ce modèle standard et énorme le plus efficacement, la structure interne devra y coller
Pas nécessairement, mais par contre on aura besoin d'un format/protocole intermédiaire. Par exemple dans le cas de la formule de maths, on ne peut pas avoir un évènement pour chaque type d'opération (puissance, fraction, ...). Mais si le parser, quand il rencontre une formule de maths, peut te donner la formule soit en MathML soit en LaTeX, alors tu es libre d'en faire ce que tu veux.
Et si tu développes un éditeur de texte qui ne sait pas éditer les formules de maths, tu peux utiliser une bibliothèque externe pour faire un rendu de la formule en image, par exemple.
Au final ce genre de filtre ressemblerait à une convertion du format d'origine vers un format intermédiaire générique, puis vers la structure de données propre au programme. Le programme étant libre, évidemment, d'ignorer une partie des informations. Si je veux faire un office-grep, je n'ai pas besoin d'incorporer dans ma structure de données les détails de mise en page, j'ai juste besoin d'y mettre le contenu en texte.
[^] # Re: une petite réponse
Posté par Yusei (Mastodon) . En réponse au journal OpenOffice et MS Office, 10 ans de retard, mes explications. Évalué à 2.
Par exemple "je commande un nouveau paragraphe", "je commence un tableau" (jusque là c'est facile), ou "je commence une nouvelle formule de maths" (ça se complique).
Pas nécessairement, mais par contre on aura besoin d'un format/protocole intermédiaire. Par exemple dans le cas de la formule de maths, on ne peut pas avoir un évènement pour chaque type d'opération (puissance, fraction, ...). Mais si le parser, quand il rencontre une formule de maths, peut te donner la formule soit en MathML soit en LaTeX, alors tu es libre d'en faire ce que tu veux.
Et si tu développes un éditeur de texte qui ne sait pas éditer les formules de maths, tu peux utiliser une bibliothèque externe pour faire un rendu de la formule en image, par exemple.
Au final ce genre de filtre ressemblerait à une convertion du format d'origine vers un format intermédiaire générique, puis vers la structure de données propre au programme. Le programme étant libre, évidemment, d'ignorer une partie des informations. Si je veux faire un office-grep, je n'ai pas besoin d'incorporer dans ma structure de données les détails de mise en page, j'ai juste besoin d'y mettre le contenu en texte.