Considérez mon fichier XML:compteur de remise à zéro dans v2.0 xslt
<Data>
<VetaP dfg="2" ppp="oe"/>
<VetaD ods="3" ds="oda"/>
<VetaR date="080817"/>
<VetaR date=""/>
<VetaR date=""/>
<VetaR date=""/>
<VetaR date="080817"/>
<VetaR date=""/>
<VetaR date=""/>
<VetaR date="080817"/>
</Data>
Je dois ajouter un attribut suivants dans <VetaR>
, cet attribut est un compteur pour chaque vetar créé. Mais, j'ai besoin de réinitialiser le compteur pour toutes les 5 occurrences de <VetaR>
. J'ai besoin d'ajouter aussi un attribut cnt, dans lequel, c'est aussi un compteur, mais cette fois il ne sera incrémenté que pour toutes les 5 occurrences de <VetaR>
. J'ai besoin d'enlever aussi les attributs vides.
Voici mon code XSLT:
Courant de sortie:
<Data>
<VetaP dfg="2" ppp="oe"/>
<VetaD ods="3" ds="oda"/>
<VetaR seq="3" cnt="1" date="080817"/>
<VetaR seq="4" cnt="1"/>
<VetaR seq="5" cnt="1"/>
<VetaR seq="1" cnt="2"/>
<VetaR seq="2" cnt="2" date="080817"/>
<VetaR seq="3" cnt="2"/>
<VetaR seq="4" cnt="2"/>
<VetaR seq="5" cnt="2" date="080817"/></Data>
sortie souhaitée:
<Data>
<VetaP dfg="2" ppp="oe"/>
<VetaD ods="3" ds="oda"/>
<VetaR seq="1" cnt="1" date="080817"/>
<VetaR seq="2" cnt="1"/>
<VetaR seq="3" cnt="1"/>
<VetaR seq="4" cnt="1"/>
<VetaR seq="5" cnt="1" date="080817"/>
<VetaR seq="1" cnt="2"/>
<VetaR seq="2" cnt="2"/>
<VetaR seq="3" cnt="2" date="080817"/></Data>
En pensant à cela en termes de remise à zéro des compteurs, vous pensez à la façon dont vous résoudre le problème si vous utilisez un langage de programmation procédural plutôt que un fonctionnel. Essayez de ne pas «dire à l'ordinateur ce qu'il faut faire», mais plutôt de décrire comment la sortie se rapporte à l'entrée. –