5
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

Itération n fois Récursion terminale Itération Piez

  • 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

Page 1: Itération  n  fois Récursion terminale Itération Piez

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

Page 2: Itération  n  fois Récursion terminale Itération Piez

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

Page 3: Itération  n  fois Récursion terminale Itération Piez

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)

Page 4: Itération  n  fois Récursion terminale Itération Piez

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

Page 5: Itération  n  fois Récursion terminale Itération Piez

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(..)"/>