C'est pas la plupart, c'est toutes les API SAX qui utilisent les signaux : c'est le principe même de SAX.
Si tu « imagines quelque chose de similaire pour une API qui ouvre des documents "Office" », cela signifie que les évènements sont communs pour tous les types de documents.
Pourquoi ? Parce que les bibs doivent générer des évènements similaires. Et les évènements définissent la structure.
Ça fonctionne avec le XML générique, mais c'est pas assez précis puisque ce n'est que structurel (pas de sémantique) : en gros, il n'y a que document, élément, attribut et texte dans un XML. Après, c'est au programme de mettre une sémantique en regardant le nom de l'élément et agissant en conséquence.
Là, si tu veux que ce soit utile, les évènements doivent être plus précis, donc intégrer de la sémantique. Il faut que le programme soit capable de gérer tous les évènements possibles de tous les formats. Cela revient à faire un modèle générique de documents. Un modèle standard et énorme (qui a dit DocBook ?).
D'autre part, pour gérer ce modèle standard et énorme le plus efficacement, la structure interne devra y coller (sinon bonjour le bordel interne). Et donc on se retrouve avec un modèle de document standard et des structures internes similaires.
Les différents formats actuels sont dus à des façons de penser différentes. Ils ne sont pas compatibles : le modèle standard et énorme n'est pas possible.
[^] # Re: une petite réponse
Posté par Sylvain Sauvage . En réponse au journal OpenOffice et MS Office, 10 ans de retard, mes explications. Évalué à 3.
Si tu « imagines quelque chose de similaire pour une API qui ouvre des documents "Office" », cela signifie que les évènements sont communs pour tous les types de documents.
Pourquoi ? Parce que les bibs doivent générer des évènements similaires. Et les évènements définissent la structure.
Ça fonctionne avec le XML générique, mais c'est pas assez précis puisque ce n'est que structurel (pas de sémantique) : en gros, il n'y a que document, élément, attribut et texte dans un XML. Après, c'est au programme de mettre une sémantique en regardant le nom de l'élément et agissant en conséquence.
Là, si tu veux que ce soit utile, les évènements doivent être plus précis, donc intégrer de la sémantique. Il faut que le programme soit capable de gérer tous les évènements possibles de tous les formats. Cela revient à faire un modèle générique de documents. Un modèle standard et énorme (qui a dit DocBook ?).
D'autre part, pour gérer ce modèle standard et énorme le plus efficacement, la structure interne devra y coller (sinon bonjour le bordel interne). Et donc on se retrouve avec un modèle de document standard et des structures internes similaires.
Les différents formats actuels sont dus à des façons de penser différentes. Ils ne sont pas compatibles : le modèle standard et énorme n'est pas possible.