Upload
kellan
View
29
Download
2
Embed Size (px)
DESCRIPTION
Itération n fois Récursion terminale Itération Piez Variante : compter les occurrences d'un caractère dans une chaîne. Pour rendre la récursion terminale, ajouter un paramètre qui contient le résultat partiel. Trouver le noeud minimal Variante : trouver le noeud dont la valeur est minimale. - PowerPoint PPT Presentation
Citation preview
Itération n foisRécursion terminale
Itération Piez
Variante : compter les occurrences d'un caractère dans une chaîne. Pour rendre la récursion terminale, ajouter un paramètre qui contient le résultat partiel.
Trouver le noeud minimalVariante : trouver le noeud dont la valeur est minimale
Fonction à plusieurs résultatsPlacer les résultats dans un arbre
Exemple. Diviser une chaîne de caractères en trois parties : avant, pendant et après un caractère séparateur
Renuméroter un ensemble de noeudsExemple d'utilisation de xsl:attribute
Déterminer si deux noeuds sont égauxcount($a) = count($a | $b) count($a | $b) = 1
generate-id($a) = generate-id($b)
Exemple : trouver la position d'un noeud dans un ensemble
Construire un ensemble de noeuds dont les valeurs sont toutes différentes
Avec preceding-sibling ou preceding :ville[not(region=preceding-sibling::ville/region)]Avec xsl:key :<xsl:key name="choix" match="ville" use="region"/>ville[generate-id()=generate-id(key("choix",region)[1])]ville[generate-id()=generate-id(key("choix",region))]Exemple : classer des noeuds par groupes suivant un critère
Décider si un noeud appartient à un ensemblecount($a | $E) = count($E)
Reconnaître un élément par son nomSi l'élément possède un espace de noms, il faut
déclarer celui-ci dans le programme XSLT
Même si l'espace de noms est par défaut dans le source, le déclarer avec un préfixe dans le programme XSLT
Clé sur un document extérieurEcrire le nom d'un attribut dont on connaît la valeur
Créer des ancres HTMLAvec une clé :
<a name="#{generate-id(key(nom,valeur))}">
<a href="#{generate-id(key(nom,valeur))}">
En distinguant noeud courant et noeud contexte :
<a name="#{generate-id(./Lieu)}">
<a href="#{generate-id(/Saison/Adresse/Lieu
[.=current()/Lieu])}">
Reconstituer la hiérarchie d'un document aplatien fonction des positions relatives des noeuds
<xsl:key name="fils" match="..." use="generate-id(..)"/>