Bonjour,
Merci pour toutes vos réponses qui me confortent encore dans l'intérêt d'OPS.
C'est bien le tout XML qui m'a orienté vers OPS (je suis un fou d'XML depuis l'été 2000: un coup de foudre, une révélation,... :-) car c'est une réponse concrète à une façon de penser).
Je suis convaincu que c'est la bonne approche pour réduire les temps de développements d'applications simples et je vais expérimenter OPS à cet effet, même si ça fait plutôt "grosse artillerie" pour une application mono-poste.
Je découvre XPL mais cela fait plusieurs années que je tourne autour d'une mécanique comme celle-là. J'ai déjà développé pour moi-même plusieurs approches de ce type d'enchaînements (sous Windows, je sais, j'ai honte...). Mon dernier moteur permet d'interpréter des scripts arborescents en profondeur d'abord :
<xdg:scriptsheet version="0.4" xmlns:xdg="http://www.enm.justice.fr/xdg">
<xdg:stylesheet name="main">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xdg="http://www.enm.justice.fr/xdg">
<xsl:template match="/">
<xdg:save filename="magistrats.xml" format="xml">
<magistrats>
<xdg:transform stylesheet="chefscours">
<xdg:httprequest url="http://XXXXXX" method="GET" content="html"/>
</xdg:transform>
<xdg:transform stylesheet="chefsjur">
<xdg:httprequest url="http://XXXXXX" method="GET" content="html"/>
</xdg:transform>
</magistrats>
</xdg:save>
</xsl:template>
</xsl:stylesheet>
</xdg:stylesheet>
<xdg:stylesheet name="chefscours">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xdg="http://www.enm.justice.fr/xdg">
<xsl:template match="/">
<chefscours>
<xsl:for-each select="//a[starts-with(@href,'javascript:voirfiche(')]">
<xdg:transform stylesheet="fiche">
<magistrat nom_complet="{text()}" fonction="{ancestor::td/preceding-sibling::td[1]/font/b}">
<xdg:httprequest url="http://XXXXX" method="POST" content="html">
<xdg:with-param name="numgec" value="{substring-before(substring-after(@href,'javascript:voirfiche('),')')}"/>
</xdg:httprequest>
</magistrat>
</xdg:transform>
</xsl:for-each>
</chefscours>
</xsl:template>
</xsl:stylesheet>
</xdg:stylesheet>
...
</xdg:scriptsheet>
L'élément "xdg:save" sérialise sa sous-arborescence au format xml, csv, wordml,...
L'élément "xdg:httprequest" appelle une page HTML puis la traduit ensuite XHTML (merci Tidy !) et la substitue à lui-même.
L'élément "xdg:transform" lance une transformation de sa sous-arborescence et substitue le résultat à lui-même.
...
Cette petite mécanique (la récursivité est toujours aussi troublante de concision !) m'a permis, par exemple, de capturer des informations sur Internet et de les retraiter en "tout XML" (il n'y pas de parseur XSLT 2.0 avec .Net :-( ).
Pour ce qui est de la francisation de la documentation, je ne promets rien mais, plutôt que de m'ennuyer...
Cordialement,
Alain COUTHURES
Ecole Nationale de la Magistrature
Bordeaux - Paris
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Wed Oct 18 14:11:53 2006