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

Preview:

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

Recommended