Menu

#4 DiffMk marks the next sibling of any added element as added"

open
nobody
None
5
2008-06-03
2008-06-03
Anonymous
No

For in-line changes, DiffMk works fine, wrapping changes in tagged markers exactly as advertised. For changes to structural elements, however, it is reliably incorrect. When adding a PARA element, for example, it will wrap the content of the PARA element in a new element, and then also mark the following sibling PARA element as "added". This holds true for sections, chapters, books, etc. Adding one element results in the following sibling being marked as "added".

For example:

old.xml
-------
<article>
<title>This is the title</title>
<para>para1</para>
<para>para2</para>
</article>

new.xml
-------
<article>
<title>This is the title</title>
<para>para1</para>
<para>para3</para>
<para>para2</para>
</article>

output.xml
----------
<article diffmk:version="3.0" xmlns:diffmk="http://diffmk.sf.net/ns/diff">
<title>This is the title</title>
<para>para1</para>
<para><diffmk:wrapper diffmk:change="added">para3</diffmk:wrapper></para>
<para diffmk:change="added">para2</para>
</article>

The problem affects only the following sibling; if the element is that last child element in its branch, then the next elements on the tree are unaffected. If there are more than one siblings following the affected element, they are untouched.

I've tested with different files, different encodings, different dtds; it doesn't seem to make any difference.

Discussion

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.