From: Eric van der Vlist (vdv@dyomedea.com)
Date: 28/04/2004 - 09:09
On Wed, 2004-04-28 at 10:32, Herve AGNOUX wrote:
> Le Mercredi 28 Avril 2004 08:31, Eric van der Vlist a écrit :
> >
> > Je voulais simplement dire qu'à la réflexion, la remarque de Michael Kay
> > disant que la plupart des optimisations liées à la présence d'un schéma
> > peuvent être effectuées grâce aux informations présentes dans le
> > document est assez logique.
> >
>
> Oui mais :
>
> 1) Il y a alors au moins deux temps (c'est pour cela que j'étais perturbé avec
> votre "après coup...") : temps d'optimisation + temps de réalisation. Comme
> chaque document source n'est transformé qu'une fois, il n'est pas évident que
> ce découpage soit efficace.
>
> Ce genre de système est pratiqué dans la machine virtuelle java, par exemple,
> avec le compilateur just in time. Mais c'est le "just in time" de la deux
> millième fois, et il y a bien un schéma : Java est un langage typé et
> déclaratif, ce qui simplifie énormément de choses pour cette phase.
Oui, et ces différentes phases sont bien expliquées dans le papier de
Michael Kay
(http://idealliance.org/papers/dx_xmle04/papers/02-03-02/02-03-02.html)
que j'invite chaudement à lire.
> 2) A chaque document vous êtes obligé de recommencer toute la procédure
> d'optimisation, alors que lorsque l'on a un schéma partagé sur plusieurs
> documents (ce qui est normalement le cas ! ) on peut optimiser au départ. Là
> il y a vraiment optimisation.
Oui.
>
> >
> > Pourquoi pas? Si les seules affectations sont :
> >
> > <xsl:with-param name="i" select="1"/>
> > et
> > <xsl:with-param name="$i" select="$i + 1"/>
> >
> > il semble évident que $i est un entier, non?
> >
>
> Là on optimise la partie feuille de style, il me semble. C'est comme si on
> avait un schéma pour la feuille de style.
Non pas vraiment un schéma, c'est plutôt une illustration de la
différence entre langages à typage dynamique (Python, Perl, PHP et XSLT
1.0) et statique (Java, .Net et XSLT 2.0).
Ce que disait Mike Kay, c'est que dans le cas d'un langage à typage
dynamique il était souvent possible de deviner le type à la compilation.
> On abouti aux feuilles de styles
> compilées.
Ou au typage statique de XSLT 2.0 qui demande de déclarer le type des
variables et paramètres.
> Comme votre exemple concerne la feuille de style seule - il n'a aucune
> relation avec le document source -, le problème est exactement le même que
> pour le document source. Vous ne pouvez dire "il semble évident..." que
> lorsque vous avez lu toute la feuille de style. Tant que vous ne l'avez pas
> fait, vous ne pouvez présumer que l'instruction suivante soit select="mon
> numéro de téléphone est 12 34 56 7$i", par exemple. Vous ne pouvez optimiser
> que lorsque tout le document est lu. Alors qu'avec un schéma, vous le savez
> avant de démarrer la lecture.
>
> Je crois qu'il serait très important de mieux gérer toutes ces histoires de
> schéma dans les transformations. J'ai l'impression que le monde xml se
> contente d'à peu près, de combines techniques. Hors les relations entre les
> schémas des documents sources, destinations, styles devraient être
> fondamentales. Il est aberrant que, dans une transformation de documents, il
> n'y ait aucun discours sur la façon dont les schémas, eux aussi, se
> transforment.
>
> Si j'ai bien compris, vous êtes un spécialiste des schémas... Qu'en
> pensez-vous ?
Que les schémas doivent rester facultatifs et que les relations entre
schémas et documents en doivent pas devenir fondamentales :) ...
cf: http://xmlfr.org/documentations/articles/020624-0002
Eric van der Vlist
>
> Cordialement.
--
Read me on Advogato.
http://advogato.org/person/vdv/
Upcoming XML schema languages tutorial:
- Amsterdam -half day- (18/04/2004) http://masl.to/?P220516D7
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
--
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)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|