It was once that I had to export the contents of all the (Action) Buttons in a lotus notes application into a DXL file, ( a Domino XML file) and parse them back to create Agents containing the same code as present in the Buttons.
The operation ran smoothly until I encountered a specific issue. And the issue was with certain characters like "<", ">", etc...
To give you a clear picture, let me say that I have a button named Source
The code in that button be,
...code fragment...
if(x<y) then
...do some operation
else if (x>y) then
do some thing else
end if
...code fragment...
So my exporter shall export it into a DXL as follows (say)
<dxl>
<buttons>
<button>
<name> Source </name>
<code>
...code fragment...
if(x<y) then
...do some operation
else if (x>y) then
do some thing else
end if
...code fragment...
</code>
<button>
</buttons>
</dxl>
When I parse this resultant file to obtain the code, the code that has been highlighted in bold was considered as a tag accoring to the simple plain xml rule... any thing inbetween < and > is considered as a tag. And that created a lot of trouble for me when I attempted to parse the file.
So, eventually I ended up searching for a solution and ended up by discovering the usage of the CDATA tag.
Any thing that is put in between a CDATA tag is not parsed and thus it prevented my dxl from breaking up.
The bug fixed code will look like the following,
<dxl>
<buttons>
<button>
<name> Source </name>
<code>
<![CDATA[
...code fragment...
if(x<y) then
...do some operation
else if (x>y) then
do some thing else
end if
...code fragment...
]]>
</code>
<button>
</buttons>
</dxl>
No comments:
Post a Comment