0
votes

comptoir avec une condition spécifique

J'ai un problème d'incrément conditionnel pour l'entrée ci-dessous.

condition: Dans mon entrée attendue 5 sera répété. Je souhaite ajouter de la version à l'élément si elle est répétée et que s'il a une valeur égale à 5 p>

entrée p> xxx pré>

Sortie attendue: p> xxx pré>

J'ai essayé ce xslt: p> xxx pré>

mais, la sortie que je reçois est: p> xxx Pré>

C'est parce qu'il cueille toutes les tags.Quelles changements que je dois apporter, il ne prendra que PT qui est 5. P>

                        <xsl:value-of
                            select="concat($pt,'.',count(preceding-sibling::rec/Pt[1])+1)" />


2 commentaires

Voulez-vous vraiment ajouter la numérotation si "5" est répété? C'est-à-dire que si "3" a été répété, voudriez-vous également numéroter à ce sujet? Merci!


@Timc .no. Dans mon cas seulement 5 sera répété.


3 Réponses :


1
votes

I Définissez le numéro de subversion dans une variable pour une meilleure lisibilité, mais les suivantes ont bien fonctionné pour vos besoins. Remplacez le contenu de votre avec les éléments suivants: xxx

ceci vous permet de ne regarder que la valeur de Rec / pt nœuds qui ont une valeur de "5". J'espère que cela vous aide!

https://xsltfiddle.liberty-development.net/ 3NJ38ZZ


0 commentaires

1
votes

Bien que cela puisse être seulement 5 répété, cela pourrait être une occasion d'utiliser une technique appelée Groupement de Muenchian Comme c'est une bonne technique à apprendre (en supposant que vous soyez limité à XSLT 1.0)

Dans ce cas, vous pouvez ré-écrire votre XSLT comme ... xxx

L'avantage est que si vous souhaitez que tous les enregistrements affichent la logique, pas seulement "5", vous venez de supprimer simplement le xsl: si condition.

et, si vous avez une grande structure, cela devrait être plus efficace qui comptant constamment le nombre de frères et sœurs précédents.


0 commentaires

1
votes

Je préférerais aussi éviter le comptage répété à l'envers et faire quelque chose comme ça à la place:

xslt 1.0 xxx


0 commentaires