Mais est-ce qu'il est possible de constuire tous les documents valides ou la structure de XHTML.M est plus rigide que la norme xhtml ? (Vincent ?).
XHTML.M permet de construire n'importe quel document xhtml valide. Il vérifie l'imbrication des balises (pas possible de mettre un <p> dans un <head> par exemple). Il impose la présence des balise obligatoires (<head> doit contenir un <title> par exemple, ou encore : une table doit contenir au moins une ligne). En revanche certaines petites choses ne sont pas vérifiées (par exemple on peut mettre deux fois le même attribut, ou bien un lien peut contenir un texte qui contient un autre lien). En général ce typage est très largement suffisant.
Eliom laisse le choix du module de sortie, et on peut aussi utiliser aussi OcamlDuce, qui comme tu le dis, est la solution propre. Cela permet d'utiliser d'autres formats de sortie XML, et en plus de la vérification du xml généré, il permet de faire du filtrage (pattern matching) sur des documents xml entrants (résultats d'une requête faite par le serveur à un autre serveur par ex). Défauts : la syntaxe est un peu plus lourde et il faut s'habituer au système de type (mais ça vient vite).
Parmi les utilisateurs d'Eliom, certains utilisent XHTML.M, d'autres OCamlDuce (à peu près à égalité). Je n'ai jamais vu personne utiliser la sortie texte non typée.
[^] # Re: Interessant mais...
Posté par Vincent Balat . En réponse à la dépêche Ocsigen 1.0.0 : une nouvelle approche de la programmation Web. Évalué à 3.
XHTML.M permet de construire n'importe quel document xhtml valide. Il vérifie l'imbrication des balises (pas possible de mettre un <p> dans un <head> par exemple). Il impose la présence des balise obligatoires (<head> doit contenir un <title> par exemple, ou encore : une table doit contenir au moins une ligne). En revanche certaines petites choses ne sont pas vérifiées (par exemple on peut mettre deux fois le même attribut, ou bien un lien peut contenir un texte qui contient un autre lien). En général ce typage est très largement suffisant.
Eliom laisse le choix du module de sortie, et on peut aussi utiliser aussi OcamlDuce, qui comme tu le dis, est la solution propre. Cela permet d'utiliser d'autres formats de sortie XML, et en plus de la vérification du xml généré, il permet de faire du filtrage (pattern matching) sur des documents xml entrants (résultats d'une requête faite par le serveur à un autre serveur par ex). Défauts : la syntaxe est un peu plus lourde et il faut s'habituer au système de type (mais ça vient vite).
Parmi les utilisateurs d'Eliom, certains utilisent XHTML.M, d'autres OCamlDuce (à peu près à égalité). Je n'ai jamais vu personne utiliser la sortie texte non typée.