Université Mohammed Premier,
École Nationale des Sciences Appliquées Oujda
GI3
Module : XML
XSLT
1. Le prix des presse-fruits augmente régulièrement. Un document XML séparé (priceAd-
juster.xml) est utilisé pour spécier l'ajustement de prix devant être eectué sur un
presse-fruit (cet exemple n'eectue pas d'ajustement). Le chier priceAdjuster2.xml ne
spécie une modication de prix.
Vous devez dans cet exercice créer un document HTML contenant une table des presse-
fruits. La diérence est que le prix doit être ajusté en fonction du chier priceAdjus-
ter.xml. Lorsque vous aurez écrit votre script, testez-le avec priceAdjuster.xml et pri-
ceAdjuster2.xml.
Résultat attendu pour le cas de chier priceAdjuster.xml :
Résultat attendu pour le cas de chier priceAdjuster2.xml :
Aide : il existe une commande XPath (document()) permettant de lire un chier externe.
Cette commande peut-être utilisée de la façon suivante :
<xsl :variable name="priceAdjuster" select="document('priceAdjuster.xml')"/>
Une fois cette variable dénie, elle peut être utilisée comme racine dans une expression
XPath :
<xsl :if test="$priceAdjuster/priceAdjustment/adjustment/@action='no chan-
ge'">
...
Année Universitaire : 2021/2022 1/2 Zineb BOUGROUN
Université Mohammed Premier,
École Nationale des Sciences Appliquées Oujda
GI3
Module : XML
</xsl :if>
2. En XSL, il est possible de créer des templates nommés acceptant des paramètres. Par
exemple, voici un template appelé createJuicerCostTable qui a un paramètre sizeIncrease
qui est positionné par défaut à 0 :
<xsl :template name="createJuicerCostTable">
<xsl :param name="sizeIncrease" select="0"/>
...
</xsl :template>
Une fois ce template déni, il est possible de l'appeler depuis un autre template avec les
instructions XSL suivantes :
<xsl :call-template name="createJuicerCostTable">
<xsl :with-param name="sizeIncrease" select="10"/>
</xsl :call-template>
Reprenez l'exercice précédent en écrivant le template nommé createJuicerCostTable qui
va écrire le tableau HTML.
3. Pour cette question il faut produire un chier résultat centre5.html à partir du chier
centre5.xml en utilisant une fonction nommée AcherNom qui prend deux paramètres
Le premier nommé fontFace prend une valeur par défaut 'Braggadocio'
Le deuxième nommé name
4. Le chier Classied.xml contient des données à transmettre mais certaines de ces données
sont classées "top secret". Écrivez un script XSL qui produit un nouveau chier XML
où tout ce qui est classé "top secret" est absent.