Interpreting XML sourcecode (advanced merging)
Author: christoffer.aronsson@ladok.umu.se (voltagecontrol)
Hi everyone,
I need some help with interpreting a few lines of uniface XML sourcecode.
At the moment we're trying to merge a few service components where new entities have been added, in both branches, and I need help with understanding how the <UFORM:FORMPIC> child entity nodes are described in the XML source to be able to sucessfully merge our code.
I'll try to explain using two mockup services as examples:
Service1: Has the following dummy-entity structure:
PARENT_1
CHILD_1_1
The XML-source for the <UFORM:FORMPIC> tag in service1 looks like this:
<UFORM:FORMPIC>
<BIN>1A</BIN>#1E#325#43#53#825#932768#2PARENT_1.PROC<BIN>1A</BIN>
<BIN>1A</BIN>#1E#320#41#51#820#932768#2CHILD_1_1.PROC<BIN>1A</BIN>
</UFORM:FORMPIC>
Service2: Has the following, slightly larger structure:
PARENT_1
CHILD_1_1
CHILD_1_2
The corresponding XML-source for service2 then looks like this:
<UFORM:FORMPIC>
<BIN>1A</BIN>#1E#325#45#55#825#932768#2PARENT_1.PROC<BIN>1A</BIN>
<BIN>1A</BIN>#1E#320#41#51#820#932768#2CHILD_1_1.PROC<BIN>1A</BIN>
<BIN>1A</BIN>#1E#320#41#51#820#932768#2CHILD_1_2.PROC<BIN>1A</BIN>
</UFORM:FORMPIC>
At first the XML source seems quite similar, but if you look closely you'll find that there's a small difference in the "numbering" preceeding the parent-entities names.
Service1: #1E#325#43#53#825#932768#2PARENT_1.PROC
Service2: #1E#325#45#55#825#932768#2PARENT_1.PROC
Note how the parts with yellow background differ.
Tests that I've conducted indicate that these "magic numbers" describe the inheritance, positioning and structure of the entities in the treeview. However I can't quite make out what the numbers mean - can anyone here shine a light on these "magic numbers" and what they exactly do?
Ofcource our real source code is a lot more complex than these examples, and that is why I need a better understanding of how these "magic numbers" increase/change depending on what changes are made in the entity-tree structure in the UDE, so that we can manually (or automaticly) alter the numbers to match any new structure in merged source code.
Any input is very welcome - or alternate suggestions on how we could go about merging complex changes in uniface XML-source code.
Best regards
Christoffer, Sweden