6
votes

Boucle sur des valeurs distinctes

Compte tenu d'une variable qui renvoie une liste d'états distincts à l'aide de la fonction de valeurs distinctes (), est une façon de goveryiser la variable dans une boucle pour chaque boucle?

<xsl:variable name="FormStates" select="distinct-values(States/State)"/>
  <xsl:for-each select="$FormStates">


3 commentaires

Comme toujours, ce n'est pas clair du tout ce que vous avez. Apprenez à fournir: 1. Le document XML source. 2. Le résultat recherché. 3. Les propriétés requises de la transformation.


J'ai voté pour fermer cette question. Ce n'est pas vraiment une question - aucune question n'est posée. Le problème n'est pas défini et n'est pas clair.


Désolé, j'espère avoir clarifié la question.


3 Réponses :


0
votes

en théorie, cela devrait fonctionner; Êtes-vous sûr que le XPath attribué à la fonction de valeurs distinct est correct? Le code que vous avez donné nécessite que l'élément états est un frère de frère des formulaires .

Vous pouvez insérer immédiatement après la déclaration de variable pour confirmer si elle est définie correctement.


0 commentaires

5
votes

Le valeurs distincts () La fonction renvoie une séquence de valeurs que vous devriez être capable de se déplacer. Le résultat est de tellement parler "Tokenized".

FN: valeurs distinctes ('al', 'al', 'nl') renvoie la séquence ('al', ' Nl ') .

Si vous émisez la variable avec xsl: valeur-de Il retournera la chaîne "al nl" uniquement parce que le séparateur de séquence par défaut pour < Code> XSL: la valeur de est un seul caractère d'espace. C'est quelque chose que vous pouvez modifier avec l'attribut @separator :

entrée xxx

< Strong> xslt xxx

sortie xxx


1 commentaires

Merci. Je n'étais pas au courant de l'attribut Séparateur. J'ai fini par construire une chaîne délimitée et en utilisant Tokenize (), mais je vais y retourner et le nettoyer.



2
votes

Voici une solution XSLT 1.0 forte> que j'ai utilisée dans le passé.

<ul xmlns="http://www.w3.org/1999/xhtml">
  <li>AL</li>
  <li>NM</li>
</ul>


0 commentaires