Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Client Dataset XML Blob String Encode Decode String Text Field Mystery; Please Help

98 views
Skip to first unread message

J

unread,
Oct 31, 2007, 5:49:09 PM10/31/07
to
I was given an xml file that was created by an application written in Delphi
(source not available.)

Here is a portion of the xml file:

<?xml version="1.0" standalone="yes"?>
<DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD attrname="BRANCHID" fieldtype="r8"/>
<FIELD attrname="ELEMTYPE" fieldtype="string" WIDTH="50"/>
<FIELD attrname="ELEMIDX" fieldtype="r8"/>
<FIELD attrname="ISIMPORT" fieldtype="string" SUBTYPE="FixedChar"
WIDTH="1"/>
<FIELD attrname="DESCRIPTION" fieldtype="string" WIDTH="100"/>
<FIELD attrname="MODIFIER" fieldtype="string" WIDTH="40"/>
<FIELD attrname="SCRIPT" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="1"/>
<FIELD attrname="LASTMOD" fieldtype="dateTime"/>
<FIELD attrname="ESCOWNED" fieldtype="string" SUBTYPE="FixedChar"
WIDTH="1"/>
</FIELDS>
<PARAMS LCID="1033"/>
</METADATA>
<PARAMS LCID="1033"/>
</METADATA>
<ROWDATA>
</ROWDATA>
<BLOBDATA>
<BPARM COMP="0" SPECCODE="2"/>
<ROW BRANCHID="0" ELEMTYPE="D_ScheduledTotalPayment" ELEMIDX="1"
ISIMPORT="N" DESCRIPTION="Scheduled Total Payment" MODIFIER="MOHAN"
SCRIPT="50726F63656475726520445F5363686564756C6564546F74616C5061796D656E745F4E5F313B0D0A5661720D0A20202069203A20496E74656765720D0A202020656E64203A20496E74656765720D0A202020706D7441203A20537472696E670D0A656E645661720D0A0D0A2020202020656E64203A3D20454C454D532832313339290D0A2020202020466F722069203A3D203120746F20656E640D0A2020202020202020706D7441203A3D20225363686564756C6564546F74616C5061796D656E742E22202B20494E54544F5354522869290D0A2020202020202020786D6C4E657753747228322C20332C20706D74412C2027272C2054525545290D0A2020202020202020786D6C4E657741747453747228332C20274454272C2053545228406462323133395B695D2C202223232C2323232C2323232E232322292C2054525545290D0A2020202020656E64466F720D0A0D0A456E6450726F633B0D0A"
LASTMOD="20030502T08:16:00000"/>
<ROW BRANCHID="0" ELEMTYPE="D_ScheduledPaymentDate" ELEMIDX="1"
ISIMPORT="N" DESCRIPTION="Scheduled Payment Date" MODIFIER="LOCKE"
SCRIPT="6D8F4F6BC24010C5EF817C878797445C8AD19E94400B8920B46970572F52429A1D6CC0ECCA32F6CFB72FBB854A5BE736F3DE6FE64DED6C47FAEC084523BB57D2E723E9BAFD1CC870D1323555932DE3E8AD757104A0C7026BC374A0EF9E8CFE33390D5C6001C9AE37873822A3779E0D5AA880E4281FCA4799CEB2DBE9F8A2ADACF327726460EB9D17E967758ED1B5A037234CB0AE947A926A93F6E35FE4C770ACE85DB24B670273113609248980DA6CCB6BDE7B666F9F0B24854A04EEF48BCFBAEF9FFF3164F4CA86174BA36B67BB651C7D01"
LASTMOD="20030502T08:16:00000"/>
</BLOBDATA>
<TABLENAME>XMLPED</TABLENAME>
</DATAPACKET>

In particular it is the values for the SCRIPT element that I am having
difficulty with. I was able to recognize that it was some kind of encoding;
After a lot of trial and error, it turned out to be base 2. After decoding
it here is what it looks like:

Original Data (w/ line breaks inserted) Decoded
Data (w/ line breaks inserted)
--------------------------------------------------------- -----------------------------------------------------------
50726F63656475726520445F53636865647 Procedure
D_ScheduledTotalPayment_N_1;
56C6564546F74616C5061796D656E745F4E Var
5F313B0D0A5661720D0A20202069203A204 I : Integer
96E74656765720D0A202020656E64203A20 end : Integer
496E74656765720D0A202020706D7441203 pmtA : String
A20537472696E670D0A656E645661720D0A endVar
0D0A2020202020656E64203A3D20454C454
D532832313339290D0A2020202020466F72 end := ELEMS(2139)
2069203A3D203120746F20656E640D0A202 For i := 1 to end
0202020202020706D7441203A3D20225363 pmtA :=
"ScheduledTotalPayment."+INTTOSTR(i)
686564756C6564546F74616C5061796D656 xmlNewStr(2, 3, pmtA, '',
TRUE)
E742E22202B20494E54544F535452286929 xmlNewAttStr(3, 'DT',
STR(@db2139[i], 0D0A2020202020202020786D6C4E6577537
"##,###,###.##"), TRUE) endFor
47228322C20332C20706D74412C2027272C
2054525545290D0A2020202020202020786 EndProc;
D6C4E657741747453747228332C20274454
272C2053545228406462323133395B695D2
C202223232C2323232C2323232E23232229
2C2054525545290D0A2020202020656E644
66F720D0A0D0A456E6450726F633B0D0A

6D8F4F6BC24010C5EF817C878797445C8AD m OkÂ@ Åï |??-D\SÑz"@
19E94400B8920B46970572F52429A1D6CC0 ? ´ipW/RBs lÀìÊ2öÏ·
ECCA32F6CFB72FBB854A5BE736F3DE6FE64 /".J[ç6óÞoæMíl
DED6C47FAEC084523BB57D2E723E9BAFD1C Gúì E#"WÒç#éºý ÈpÑ25U"-ãè­uq
C870D1323555932DE3E8AD757104A0C7026 Ç kÃt ïzOþ39
BC374A0EF9E8CFE33390D5C6001C9AE3787 \` É®7?8"£wz
3822A3779E0D5AA880E4281FCA4799CEB2D Z¨?ä(-ÊGTβÛéø¢­ó
BE9F8A2ADACF327726460EB9D17E967758E 'rd`ë éguZѵ
D1B5A037234CB0AE947A926A93F6E35FE4C 7#L°®"z'j"öã_äÇpè]
770ACE85DB24B670273113609248980DA6C ²Kg s 6 $??ÚlËkÞ
CB6BDE7B666F9F0B24854A04EEF48BCFBAE {foY$.J îô<ϺïYÿ1dôÊ? K£kg"e }
F9FFF3164F4CA86174BA36B67BB651C7D01

I had no problem with records like the first one, however there are many
like the second one. It seems to be some type of compressed string, but I am
not sure how to decompress or unzip it. I also suspect that it was created
with a client dataset with an ADO or Interbase database on the server side.

So, anyone got any suggestions on how I can get decode this?


0 new messages