How to pass Node values dynamically one after one?

This i smy xml input :

 <process>
     <Object>
        <Name>Rasi</Name>
        <Age>28</age>
        <Gender>F</Gender>
     </Object>
     <Object>
        <Name>Kahanna</Name>
        <Age>32</age>
        <Gender>M</Gender>
     </Object>
     <Object>
        <Name>jagat</Name>
        <Age>22</age>
        <Gender>M</Gender>
     </Object>
     <Object>
        <Name>zuvari</Name>
        <Age>32</age>
        <Gender>F</Gender>
     </Object>
  </process>  

I want to pass these node[] values one after one. I mean it will insert these values in to my database but first i want to insert only <object[1]> then after successfully inserted again my xslt will insert next <object[2]> values like that depend on my input.
So here my question is how we can pass the <object[]> value dynamically in xslt.IF we use for-each at a time all record will pass, some times need to pass particular node set values only.if hardcore like below

<xsl:template match="/">
   <top:Collections>
     <top:username>
      <xsl:value-of select="/ns1:process/ns1:Object[1]/ns1:Name"/>
    </top:username>
    <top:firstname>
      <xsl:value-of select="/ns1:process/ns1:Object[1]/ns1:Age"/>
    </top:firstname>
    <top:lastname>
      <xsl:value-of select="/ns1:process/ns1:Object[1]/ns1:Gender"/>
    </top:lastname>
 </top:collections>	
</xsl:template> 

Every time it will insert firsrt <object> values only. Please help me on this very urgently.
Help me on passing object[ ] value dynamically instead of object[1] or object[2] like that
Thank you in advance.

Please take a look to this thread:

Thank u for shared above link. I have gone through the link but it’s not resolved mu issue.