Help with separating datatype, column name

Hi All,
I am new to unix but have a requirement wherein I need to separate datatype,length, and column name from input file which is of below format --

record
integer(10) empid;
string(25) name;
date("YYYY-MM-DD") dob;
decimal(10) salary;
end

now after getting datatype,its length and column name. I need to put them in some other file(which has standard format) on specific locations.

Can you please tell me the approach, inputs on this ?

Thanks

Show the output you want, not just the input you have.

I need to replace/put these values of datatype,its length,column name in above xml standard format.
Note:1] For date field-use string in xml (length wud be number of bytes in for eg.(YYMMDD)-here 6 ...if (YYYY-MM-DD) then 10
2] For field with decimal-use number in xml. Rest wud remain same

The number of fields wud change -here we have 4. Please guide me

Where do things like 'offset' come from?

$ cat r2xml.awk
BEGIN { F=0     }

{       gsub(/[();]/, " ");
        gsub(/['"]/, "");
        $1=$1
        gsub(/^integer/, "int");
        gsub(/^date/, "string");
        gsub(/^decimal/, "number");

        if(!($2 ~ /^[0-9]*$/)) $2=length($2);
}

NF==3 {
        printf("<SOURCEFIELD BUSINESSNAME=\"\" DATATYPE=\"%s\" "\
                "DESCRIPTION=\"\" FIELDNUMBER=\"%d\" "          \
                "FIELDPROPERTY=\"0\" FIELDTYPE=\"ELEMITEM\" "   \
                "HIDDEN=\"NO\" KEYTYPE=\"NOT A KEY\" "          \
                "LENGTH=\"%d\" LEVEL=\"0\" NAME=\"%s\" "        \
                "NULLABLE=\"NULL\" OCCURS=\"0\" OFFSET=\"0\" "  \
                "PHYSICALLENGTH=\"10\" PHYSICALOFFSET=\"0\" "   \
                "PICTURETEXT=\"\" PRECISION=\"10\" SCALE=\"0\" "\
                "USAGE_FLAGS=\"\"/>\n",
                $1, F++, $2, $3);
}

$ awk -f r2xml.awk data
<SOURCEFIELD BUSINESSNAME="" DATATYPE="int" DESCRIPTION="" FIELDNUMBER="0" FIELDPROPERTY="0" FIELDTYPE="ELEMITEM" HIDDEN="NO" KEYTYPE="NOT A KEY" LENGTH="10" LEVEL="0" NAME="empid" NULLABLE="NULL" OCCURS="0" OFFSET="0" PHYSICALLENGTH="10" PHYSICALOFFSET="0" PICTURETEXT="" PRECISION="10" SCALE="0" USAGE_FLAGS=""/>
<SOURCEFIELD BUSINESSNAME="" DATATYPE="string" DESCRIPTION="" FIELDNUMBER="1" FIELDPROPERTY="0" FIELDTYPE="ELEMITEM" HIDDEN="NO" KEYTYPE="NOT A KEY" LENGTH="25" LEVEL="0" NAME="name" NULLABLE="NULL" OCCURS="0" OFFSET="0" PHYSICALLENGTH="10" PHYSICALOFFSET="0" PICTURETEXT="" PRECISION="10" SCALE="0" USAGE_FLAGS=""/>
<SOURCEFIELD BUSINESSNAME="" DATATYPE="string" DESCRIPTION="" FIELDNUMBER="2" FIELDPROPERTY="0" FIELDTYPE="ELEMITEM" HIDDEN="NO" KEYTYPE="NOT A KEY" LENGTH="10" LEVEL="0" NAME="dob" NULLABLE="NULL" OCCURS="0" OFFSET="0" PHYSICALLENGTH="10" PHYSICALOFFSET="0" PICTURETEXT="" PRECISION="10" SCALE="0" USAGE_FLAGS=""/>
<SOURCEFIELD BUSINESSNAME="" DATATYPE="number" DESCRIPTION="" FIELDNUMBER="3" FIELDPROPERTY="0" FIELDTYPE="ELEMITEM" HIDDEN="NO" KEYTYPE="NOT A KEY" LENGTH="10" LEVEL="0" NAME="salary" NULLABLE="NULL" OCCURS="0" OFFSET="0" PHYSICALLENGTH="10" PHYSICALOFFSET="0" PICTURETEXT="" PRECISION="10" SCALE="0" USAGE_FLAGS=""/>

$