Je le ci-dessous xml:Mettre à jour le compteur de +1 quand un autre enregistrement avec deux valeurs similaires existent dans xslt 2.0
<EmployeeLeaveDataUpsertRequest>
<Row>
<Emp_id>11</Emp_id>
<Pay_slip_no>1</Pay_slip_no>
<Pay_comp>AU_0299</Pay_comp>
<Hours>136</Hours>
<Date_from_ec>20170401</Date_from_ec>
<Date_to_ec>20170429</Date_to_ec>
<Date_ped> </Date_ped>
<No_of_period>1</No_of_period>
<Ma_ind>M</Ma_ind>
<Fa_ind>N</Fa_ind>
<Counter>1</Counter>
</Row>
<Row>
<Emp_id>12</Emp_id>
<Pay_slip_no>1</Pay_slip_no>
<Pay_comp>AU_0900</Pay_comp>
<Hours>40</Hours>
<Date_from_ec>20170206</Date_from_ec>
<Date_to_ec>20170210</Date_to_ec>
<Date_ped> </Date_ped>
<No_of_period>1</No_of_period>
<Ma_ind>M</Ma_ind>
<Fa_ind>N</Fa_ind>
<Counter>1</Counter>
</Row>
<Row>
<Emp_id>11</Emp_id>
<Pay_slip_no>1</Pay_slip_no>
<Pay_comp>AU_0299</Pay_comp>
<Hours>8</Hours>
<Date_from_ec>20170111</Date_from_ec>
<Date_to_ec>20170115</Date_to_ec>
<Date_ped> </Date_ped>
<No_of_period>1</No_of_period>
<Ma_ind>M</Ma_ind>
<Fa_ind>N</Fa_ind>
<Counter>1</Counter>
</Row>
dans le fichier XML ci-dessus, vous pouvez voir que chaque enregistrement a un élément compteur avec la valeur par défaut définie sur 1.
Dans un événement pour le même Emp_id et Pay_comp, j'ai besoin de définir le compteur comme 1 pour le premier enregistrement, 2 pour le deuxième enregistrement et ainsi de suite.
Comme dans le xml ci-dessus, vous pouvez voir deux enregistrements où le emp_id est 11 et Pay_comp est AU_0299 - donc pour le premier remettre le compteur en 1 et pour la suivante un 2.
sortie xml:
<EmployeeLeaveDataUpsertRequest>
<Row>
<Emp_id>11</Emp_id>
<Pay_slip_no>1</Pay_slip_no>
<Pay_comp>AU_0299</Pay_comp>
<Hours>136</Hours>
<Date_from_ec>20170401</Date_from_ec>
<Date_to_ec>20170429</Date_to_ec>
<Date_ped> </Date_ped>
<No_of_period>1</No_of_period>
<Ma_ind>M</Ma_ind>
<Fa_ind>N</Fa_ind>
<Counter>1</Counter>
</Row>
<Row>
<Emp_id>11</Emp_id>
<Pay_slip_no>1</Pay_slip_no>
<Pay_comp>AU_0299</Pay_comp>
<Hours>8</Hours>
<Date_from_ec>20170111</Date_from_ec>
<Date_to_ec>20170115</Date_to_ec>
<Date_ped> </Date_ped>
<No_of_period>1</No_of_period>
<Ma_ind>M</Ma_ind>
<Fa_ind>N</Fa_ind>
<Counter>2</Counter>
</Row>
<Row>
<Emp_id>12</Emp_id>
<Pay_slip_no>1</Pay_slip_no>
<Pay_comp>AU_0900</Pay_comp>
<Hours>40</Hours>
<Date_from_ec>20170206</Date_from_ec>
<Date_to_ec>20170210</Date_to_ec>
<Date_ped> </Date_ped>
<No_of_period>1</No_of_period>
<Ma_ind>M</Ma_ind>
<Fa_ind>N</Fa_ind>
<Counter>1</Counter>
</Row>
J'ai essayé pour la boucle mais ne pouvait pas réussir. Besoin de vos entrées sur le code XSLT qui pourrait y parvenir
fonctionne pour moi grâce – Vicky
Salut Martin, pour certains cas, la mise en est comme 4 5, et 3 4. Où il devrait être seulement une sortie à un seul chiffre. – Vicky
@Vicky, je pense que j'ai fait une erreur là en utilisant 'index-of' dans ce contexte, il devrait être par exemple. 'http: // www.xqueryfunctions.com/xq/functx_index-of-node.html' qui est' functx: index-of-node (clé ('groupe', (../Emp_id, ../Pay_comp)) , ..) 'avec la fonction liée ou insérée dans la feuille de style. –