How to retrieve values from XML file and update them in the same position! PLEASE HELP?

Good Day All

Im quiet new to ksh scripting and need a bit of your help. I am attempting to write a script that reads in an XML and extracts certain field values from an XML file. The values are all alphanumeric and consist of two components: e.g "Test 1".

I need to to create a script that will increment the number value in those fields as I and update the original value in the xml file. I have read up about GREP and SED commands but do not know how to properly execute them.

Below I have added the "Test.xml" I need to use.

<?xml version="1.0" standalone="yes"?>
<GROUP ID="062001" Name="CIF: Create Customer">
<TX>
<FIELD Format="9(17)" ID="accntNumber1" />
<FIELD Format="XX" ID="cust_type1" value="01"/>
<FIELD Format="9(5)" ID="DefInteger1" />
<FIELD Format="99" ID="title1" value="01"/>
<FIELD Format="X(20)" ID="firstname1" value="Test 11"/>
<FIELD Format="X(20)" ID="firstname2" />
<FIELD Format="X(35)" ID="surname1" value="Test 11"/>
<FIELD Format="X(5)" ID="surname2" />
<FIELD Format="X(60)" ID="name" />
<FIELD Format="X(40)" ID="addr1" Offset="20" value="1 Main Street"/>
<FIELD Format="X(40)" ID="addr2" value="Somerset West"/>
<FIELD Format="X(40)" ID="addr3" value="Cape Town"/>
<FIELD Format="X(40)" ID="addr4" value="8000"/>
<FIELD Format="X(8)" ID="DefaultString8" />
<FIELD Format="XX" ID="countrycode1" value="ZA"/>
<FIELD Format="X(12)" ID="DefaultString9" />
<FIELD Format="X(12)" ID="DefaultString10" />
<FIELD Format="X(12)" ID="DefaultString11" />
<FIELD Format="X(12)" ID="DefaultString12" />
<FIELD Format="XX" ID="nationality1" />
<FIELD Format="X" ID="occupanc1" />
<FIELD Format="99" ID="languagecode1" value="01"/>
<FIELD Format="X(14)" ID="IDnumber" value="0210235810087"/>
<FIELD Format="ddMMyyyy" ID="date1" value="12102012" />
<FIELD Format="X(30)" ID="DefaultString14" />
<FIELD Format="99" ID="id_type1" value="05"/>
<FIELD Format="XX" ID="dom_risk1" value="ZZ"/>
<FIELD Format="XX" ID="BorderRisk1" value="ZZ"/>
<FIELD Format="9" ID="DefInteger5" />
<FIELD Format="999" ID="DefInteger4" />
<FIELD Format="X(4)" ID="segm_code1" />
<FIELD Format="X" ID="VIP_code2" />
<FIELD Format="9" ID="DefInteger12" />
<FIELD Format="9(5)" ID="DefInteger2" />
<FIELD Format="X" ID="yesno1" />
<FIELD Format="X" ID="yesno2" />
<FIELD Format="X" ID="yesno3" />
<FIELD Format="X" ID="yesno4" />
<FIELD Format="X" ID="yesno5" />
<FIELD Format="X(4)" ID="indcode1" />
<FIELD Format="XX" ID="countrycode2" />
<FIELD Format="X(5)" ID="groupCode" />
<FIELD Format="X(5)" ID="busSectorCode" />
<FIELD Format="99" ID="ReasonCode" />
<FIELD Format="99" ID="NameStatus" />
<FIELD Format="X(50)" ID="EmailAdd" value="test11@gmail.com" />
<FIELD Format="X(20)" ID="MiddleName2" />
<FIELD Format="X(20)" ID="MiddleName3" />
<FIELD Format="X(40)" ID="ContactName1" />
<FIELD Format="9(12)" ID="CnctPhone101" />
<FIELD Format="9(12)" ID="CnctPhone102" />
<FIELD Format="X(40)" ID="ContactName2" />
<FIELD Format="9(12)" ID="CnctPhone201" />
<FIELD Format="9(12)" ID="CnctPhone202" />

<FIELD Format="X" ID="cellVerified" />
<FIELD Format="X" ID="cellServices" />
<FIELD Format="X" ID="cellNoChanged" />
<FIELD Format="99" ID="contrLang" />
<FIELD Format="X(40)" ID="newSurname" />
<FIELD Format="9(8)" ID="idExpDate" />
<FIELD Format="X(2)" ID="whySaPP" />
<FIELD Format="X" ID="openReason" value=" "/>
<FIELD Format="X(2)" ID="CONT1_TITLE" />
<FIELD Format="X(2)" ID="CONT2_TITLE" />
<FIELD Format="X" ID="CONT1_REL" />
<FIELD Format="X" ID="CONT2_REL" />
<FIELD Format="X(12)" ID="CONT1_WORK_PH" />
<FIELD Format="X(12)" ID="CONT2_WORK_PH" />
<FIELD Format="X(50)" ID="CONT1_EMAIL_ID" />
<FIELD Format="X(50)" ID="CONT2_EMAIL_ID" />
<FIELD Format="9(8)" ID="DATE_OF_BIRTH" />
<FIELD Format="X" ID="GENDER" />
<FIELD Format="99" ID="DHA_STATUS" />

</TX>
<RX>
<FIELD Format="9(3)" ID="soc" />
<FIELD Format="9(18)" ID="custNo" Offset="1"/>
</RX>
</GROUP>

The fields that need to be updated are:

<FIELD Format="X(20)" ID="firstname1" value="Test 11"/>
<FIELD Format="X(35)" ID="surname1" value="Test 11"/>
<FIELD Format="X(14)" ID="IDnumber" value="0210235810087"/>

The idea is to increment:

<FIELD Format="X(20)" ID="firstname1" value="Test 11"/> to
<FIELD Format="X(20)" ID="firstname1" value="Test 12"/>

<FIELD Format="X(35)" ID="surname1" value="Test 11"/> to
<FIELD Format="X(35)" ID="surname1" value="Test 12"/>

<FIELD Format="X(14)" ID="IDnumber" value="0210235810087"/> to
<FIELD Format="X(14)" ID="IDnumber" value="0210235810087 + 1"/> :eek::eek::eek::eek::eek::eek:

until the counter reaches 100

Please help if you can. Would really appreciate any help.

Duplicate post?

Moderator comments were removed during original forum migration.