|
From: | michael josenhans |
Subject: | [Gnu-arch-users] Re: File-tpye plug-in architecture for Arch? |
Date: | Tue, 23 Dec 2003 02:54:56 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031016 |
Charles Duffy wrote:
On Mon, 2003-12-22 at 17:16, michael josenhans wrote:Any good XML patch should take the DTD into account when merging.Much of the argument here is that knowing that the new document validates is insufficient to know that the new document is semantically valid (ie. that when loaded into the app which created the two documents from which it was created, said app will represent a document that is in fact The Right Thing).
If there is an DTD. The application must be able to eat any valid DTD.Especially, if there are open formats like OpenOffice, where not everthing is under control of one implemetation, this in not an disadvantage.
Consider the case where an app loading a merged document presumes that each style element will have a distinct "name" value, but where each branch added a different style element with the same name;
This is the same problem like archs file tagging. Just lets the application put a unique tag to the node. Either a running number containing the branch name or use a random number.
If the attched tage to the node is identical, it was a change otherwise a new node.
a DTD cannotvalidate that this did not occur,
and so may produce a document which validates against the DTD but still crashes the app which created the document.
If the application is buggy, it must be fixed. I can not see why we should respect tools that creast when someone changes anything in a libary that is used by the output filter.
What you need here for XML files is: xml-md5sumBetter approach: Normalize the trees, then use a regular plain-vanille md5sum.
fast & easy. cool.Execept that we likely need a specical normalization reatment for unorderd nodes. These likely need to be come sorted alpahabetiaclly before applying the checksum.
Michael
[Prev in Thread] | Current Thread | [Next in Thread] |