Adding attributes based on the XML tag position



I have the XML structure like below:



<root>
<section id="c001">
<cl:xref target-type="generated-number" link-target="ch12_fig_1"/>
<cl:xref target-type="generated-number" link-target="ch12_fig_2"/>
<cl:xref target-type="generated-number" link-target="ch12_fig_3"/>
</section>
<section id="c002">
<cl:xref target-type="generated-number" link-target="ch12_fig_2"/>
</section>
<section id="c003">
<cl:xref target-type="generated-number" link-target="ch12_fig_1"/>
</section>
</root>


And I need convert the above XML into below format with attribute called preference.



<root>
<section id="c001">
<cl:xref target-type="generated-number" link-target="ch12_fig_1" preference="1"/>
<cl:xref target-type="generated-number" link-target="ch12_fig_2" preference="1"/>
<cl:xref target-type="generated-number" link-target="ch12_fig_3" preference="1"/>
</section>
<section id="c002">
<cl:xref target-type="generated-number" link-target="ch12_fig_2" preference="0"/>
</section>
<section id="c003">
<cl:xref target-type="generated-number" link-target="ch12_fig_1" preference="0"/>
</section>
</root>


Can anybody help me how to add the attribute preference="1" for first occurrence and preference="0" for all other occurrences using XSLT.


No comments:

Post a Comment