création de tableaux en xslt
tableau peut être créé et utilisé dans xslt? Si oui, existe-il des modèles convenables en ligne à l'étude? Si non est-il un moyen de stocker des valeurs dans une manière qui imite un tableau?
- Bonne question (+1). Voir ma réponse pour une description détaillée de la plus proche à la matrice de XPath (et XSLT) type de données.
Vous devez vous connecter pour publier un commentaire.
Avec XSLT 2.0, vous pouvez modéliser n'importe quel type de données que vous souhaitez.
À titre d'exemple:
Avec une entrée, de sortie:
En XSLT 1.0, il n'est pas Temporaly Résultat de l'Arborescence de type de données. Le Résultat est un Fragment d'Arbre type de données qui ne permettent pas de noeud à l'opérateur d'ensemble. Donc, la seule façon d'y aller est avec des extensions de fonctions: dans ce cas
node-set()
de EXSLT (MSXSL a intégré dansnode-set()
extension, aussi).Donc, en XSLT 1.0, sans les extensions, vous pouvez avoir seulement de données en ligne de modèle, ou par params ou par document externe. À titre d'exemple:
Résultat, avec en entrée:
Seulement si vous le souhaitez, je peux vous fournir un XSLT 1.0, plus les extensions exemple (Ce n'est pas la norme...)
array
qui est un ensemble de nœuds d'élément.XPath 2.0 séquence (disponible en XSLT 2+) est la chose la plus proche à un tableau:
évalue à
3
évalue à
'a'
Les éléments d'une séquence peut être de n'importe quelle type autorisé en XPath, à l'exception de la séquence elle-même, les séquences imbriquées ne sont pas autorisés.
Ne remarque: Séquences ne sont pas les mêmes que les tableaux:
Séquences sont immuables. Toute mise à jour de l'opération sur une séquence (en ajoutant ou en ajoutant un élément, l'insertion d'un objet ou la suppression d'un élément) produit une nouvelle séquence.
Le temps d'accès à la n-ième élément n'est pas garanti à O(1) que c'est pour les tableaux, et peut-être O(n).
Non, pas en tant que tel. Le plus proche du concept de nœud-ensembles, qui sont des ensembles de nœuds. Chaque fois que le résultat d'un select est un nombre de nœuds, vous obtenez un node-set. Ceux-ci peuvent être accessibles avec un indice de notation (1), de sorte que le premier élément de la node-set peut être consulté avec la notation comme
selectedNodes[1]
.Avec XSLT 2.0, vous pouvez simplement utiliser
Si besoin de filtre et de foreach. (csv exemple)
Lire plus