Re: Macros en XML

Jean-Yves <[email protected]> Sun, 27 May 2007 20:36:09 +0200
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
rien ne t'empêche de l'écrire comme tu le dis sous forme de Macro et  
d'écrire une XSLT pour transformer tes "macros" dans le langage final

c'est justement ce que sais bien faire XSLT il n'y a pas de Macro  
prédéfinie car en fait tu peux définir celles que tu veux.

A+JYT
Le 27 mai 07 à 19:09, Stephane Bortzmeyer a écrit :

> Depuis des années que je fais des documents XML, je regrette l'absence
> d'un mécanisme de macros, permettant de mettre plusieurs éléments d'un
> coup.
>
> Quelques exemples concrets pour expliquer ce qui me manque :
>
> 1) Je parle de noms de domaines dans des documents Docbook et, au lieu
> de <systemitem role="domainnname">fr</systemitem>, j'écrirai bien
> <domain>fr</domain>.
>
> 2) J'ai souvent en Docbook des énumérations qui n'ont qu'un seul
> paragraphe et, plutôt que de taper <listitem><para> à chaque fois, je
> préférai juste mettre <item>
>
> Les feuilles de style ne résolvent pas le problème. Ce n'est pas la
> présentation finale que je veux changer, c'est le code XML tapé.
>
> Les entités ne résolvent pas le problème parce que j'ai en général des
> paramètres (cf. l'exemple des noms de domaine ci-dessus).
>
> Changer le schéma (ce qui est relativement facile avec des schémas
> comme Docbook) pour y introduire mes nouveaux éléments m'oblige
> ensuite à gérer une version locale de Docbook, et à adapter les
> feuilles de style alors que je veux juste définir un élément en terme
> d'autres éléments existants.
>
> Les macros traditionnelles comme celles de M4 ou de cpp ne me plaisent
> guère car elles ne connaissent pas XML. Leur usage perturberait les
> éditeurs XML et, en utilisant ces macros, on risque de produire des
> documents mal formés (problème courant en C où l'usage des macros peut
> produire du code syntaxiquement invalide).
>
> Je préférerai ce que les programmeurs Scheme appellent « macros
> hygiéniques » (« macros de transformation source à source » dans
> http://fr.wikipedia.org/wiki/Macro) mais elles ne semblent pas exister
> en XML ?
>
>
>
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "[email protected]" (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 [email protected]
> (mailto:[email protected]?Subject=unsubscribe)
>