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> Sortie attendue: p> J'ai essayé ce xslt: p> mais, la sortie que je reçois est: p> 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)" />
3 Réponses :
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 ceci vous permet de ne regarder que la valeur de
Rec / pt code> nœuds qui ont une valeur de "5". J'espère que cela vous aide! P>
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 ... P> L'avantage est que si vous souhaitez que tous les enregistrements affichent la logique, pas seulement "5", vous venez de supprimer simplement le 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. P> p> xsl: si code> condition. p>
Je préférerais aussi éviter le comptage répété à l'envers et faire quelque chose comme ça à la place:
xslt 1.0 strong> p>
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é.