120 likes | 244 Views
Les fonctions de XPath et XSLT. http://www.w3.org/TR/xpath#section-Number-Functions. Fonctions arithmétiques. Ceiling renvoie le plus petit entier supérieur ou égal à la valeur numérique de l'argument. ceiling(3.14) = 3 floor
E N D
Les fonctions de XPath et XSLT http://www.w3.org/TR/xpath#section-Number-Functions
Fonctions arithmétiques • Ceiling • renvoie le plus petit entier supérieur ou égal à la valeur numérique de l'argument. • ceiling(3.14) = 3 • floor • renvoie le plus grand entier inférieur ou égal à la valeur numérique de l'argument. • floor(3.14)=4 • round • renvoie le plus proche de la valeur numérique de l'argument. • round(3.14) = 3
Manipulation de chaînes • concat • la fonction reçoit au – 2 arguments. Chacun d'eux est converti en une chaîne, les chaînes résultantes étant concaténées • contains • vérifie si une valeur textuelle contient une chaîne. • starts-with • la fonction vérifie si une chaîne débute par une autre chaîne. • substring • renvoie une portion d'une valeur textuelle, selon la position de caractère dans la chaîne (compter à partir de 1). • substring('dupont',3,4)=pont
fonction renvoyant des informations de contexte • current • http://www.w3.org/TR/xslt.html#function-current • renvoie un ensemble de nœuds renfermant un unique nœud, le nœud courant. • Le nœud courant est le nœud racine du document source lors d'une évaluation. • Le nœud contextuel est le noeud renvoyé par l'expression Xpath "." Lorsqu'elle est utilisée comme expression XPath, current() renvoie la même valeur que "." • last • la fonction renvoie la valeur de la taille contextuelle. Lors du traitement d'une liste de nœuds, si ceux-ci sont numérotés à partir de un, last() donne le nombre affecté au dernier élément. • position • la fonction position renvoie la valeur de la position contextuelle.
Les fonction booléennes • false • renvoie Faux • true • renvoie Vrai • not
Fonction identifiant des noeuds • document • la fonction document identifie un document XML externe en résolvant une référence URI, puis analyse le XML et renvoie son nœud racine. • document (test.xml) recherche test.xml dans le même répertoire analyse et renvoie le nœud racine.
id() • La fonction id() renvoie un ensemble de nœuds contenant le ou les nœuds possédant un attribut ID donné. • Si l'attribut code est défini comme un attribut ID, alors id('007') peut renvoyer un ensemble de noeuds contenant comme unique élément <agent code="007">
generate-id • La fonction generate-id() génère une chaîne, sous la forme d'un nom XML, identifiant de façon unique un nœud. • Cette fonction est utilisée pour créer des liens dans un document de sortie. • XML • Génération des attributs ID et IDREF, • HTML • Génération <a name="val"> et <a href="#val">
Fonction identifiant des noeuds • key • http://www.w3.org/TR/xslt.html#function-key • La fonction identifie les nœuds à partir d'une valeur donnée de la clé nommée. Elle est utilisée avec <xsl:key> • <xsl:key name="idkey" match="div" use="@id"/> • key("idkey",@ref) renvoie le même ensemble de nœuds que id(@ref)
Exemple • <xsl:key name="ecrivain" match="livre" use="auteur"/> • <for:for-each select="key('ecrivain', 'Jules Vernes')"/> • <xsl: for-each select="//livre[auteur='Jules Vernes']"> serait moins efficace.
document () • La fonction document() identifie un document XML externe en résolvant une référence URI, puis analyse le XML en une structure arborescente et renvoie son nœud racine. • L'utilisation la plus fréquente de la fonction document() est donc l'accès à un document référencé depuis le document source.
Exemple <xsl:template match="/"> <html><body> <h1>Stylesheet Module Structure</h1> <ul> <xsl:apply-templates select="*/xsl:include | */xsl:import"/> </ul> </body></html> </xsl:template> <xsl:template match="xsl:include | xsl:import"> <li><xsl:value-of select="concat(local-name(),'s ',@href)"/> <xsl:variable name="module" select="document(@href)"/> <ul> <xsl:apply-templates select="$module/*/xsl:include | $module /*/xsl:import"/> </ul> </li> </xsl:template>