DeltaXML Error Messages

Note: This document (partially) describes error messages produced by previous releases of DeltaXML software.  In DeltaXML Core 5.0 explicit Exception classes have been introduced to improve the error handling.  The DeltaXML Core javadoc is now the definitive source of information about error/exception messages.

1. DeltaXML Core Errors

DeltaXML reads in XML data files using a SAX processor. DeltaXML Core API relies on the files being well-formed, and as SAX ensures this there should be no DeltaXML errors on reading files to compare other than those generated by SAX.

When you try to perform a re-combination of a delta file with one of the original XML files, there may be errors if the delta file is incomplete or if the files do not match (i.e. the delta was made from a different version of the source data). For example, if the delta file indicates that a particular element should be deleted, but the element is not found in the original file, this will cause an error to be reported. Such errors should not occur if the files have all been generated by DeltaXML unless you tried to re-combine the wrong files. Errors can also occur if the input or output files have been processed with an XSL script or edited in some other way since generation.

Details of these re-combination errors, which have codes 100 to 150, can be found here.

Details of errors when working with orderless data, which have codes 300 to 399, can be found here.

2. DeltaXML Core Ordered Combine Error Messages

These are the error messages that may occur using DeltaXML Markup to re-combine an XML file and a delta file. There will not be any errors, apart from SAX errors, when the comparison is done provided that the XML files are well-formed and have the same root node, i.e. same namespace (if applicable) and local name.

This document uses the terminology defined in the W3C specification document: XML Path Language (XPath) Version 1.0 dated W3C Recommendation 16 November 1999. The term "nodeTest " is used in XPath to determine if two nodes correspond, e.g. they are both text nodes or both elements of the same type and matching content.

Key:"x" and "y" are XPath location paths where "x" refers to an object in the xml file and "y" refers to an object in the delta xml file.

DeltaXML Markup Combine Error Messages

Error Number Error Message Explanation
100, 101, 102 cannot combine "x" with "y" as their types do not match This means that "x" and "y" are not of the same nodeTest type, i.e. they do not match. It could be that one is PCDATA and the other an element or both are elements but have different namespaces, e.g. usa:address and peru:address, or local names, e.g. zipcode and postcode.
103, 104 cannot delete this delta item "y" as it is not equal to "x" in the xml file

When the delta file specifies a deletion, the program checks that the item to be deleted is present and it should match using nodeTest.

This error indicates that the match failed (note that the only differences should be an attribute deltaxml:delta set to "delete"* on the element in the delta file).

105 there is no delta xml item for this item "x" This means that the delta child list has been completely used up and there are still some children left in the xml file child list. Each extra "x" will produce an error.
106 there is no corresponding xml item for this delta xml item "y" This means that the xml child list has ended and there are still some delta xml children to be processed. These should only be objects which are to be added, i.e. the "y" object is an element that has an attribute deltaxml:delta set to "add"* or it is an element of type deltaxml:PCDATAmodify which contains an empty subelement of type deltaxml:PCDATAold. If it is neither of these then it is flagged as an error.
107 there is no corresponding xml item for the contents of this delta xml item "y" The old delta xml child item must be empty as there is no corresponding item to be deleted in the xml file. It means that there is a parent which is either a deltaxml:PCDATAmodify or deltaxml:exchange with no corresponding xml item as there are no more children left to be processed in the xml file. See error 106.
110 text string "x" is not equal to text string "y" The PCDATA/CDATA string pointed to by "x" is not the same as the PCDATA/CDATA string pointed to by y. Note that if there are different CR/LF characters or white space the difference is not always obvious.
111 A PCDATA object was expected as the xml object "x" in order to exchange with the delta xml object "y". The deltaxml:PCDATAmodify object must be paired with a PCDATA object unless it is being used as an ADD case where the deltaxml:PCDATAold is empty (or in the reverse direction the deltaxml:PCDATAnew is empty).
116 cannot delete this delta item "y" as it is not equal to "x" in the xml file There should be an exact matching text object in the xml file for this deltaxml:PCDATAmodify parent to exchange/delete. The PCDATA/CDATA string pointed to by "x" is not the same as the PCDATA/CDATA string pointed to by y. Note that if there are different CR/LF characters or white space the difference is not always obvious.
121 cannot delete an attribute: "attname" from the delta xml item "y" that has not been used in the xml file item "x". This means that there is an attribute name mentioned in the deltaxml:old-attributes that does not exist in the xml file.
122 cannot delete an attribute "x" that has a different value between the xml file and delta xml file The attribute defined by "x" is contained within the attribute deltaxml:old-attributes in the delta xml file. The value contained within the delta xml file is different to that of the xml file.
123 cannot add an attribute: attname from the delta xml item "y" that exists in the xml file item "x" This means that there is an attribute name mentioned in the deltaxml:new-attributes that already exists in the xml file.

* Combination can occur in two directions: forward or reverse. In the case of the reverse direction all deltaxml:delta attributes which are set to "delete" act as if they were set to "add" and vice versa.

3. DeltaXML Core Orderless Combine Error Messages

These are the error messages that may occur using DeltaXML Markup to re-combine an XML file and a delta file.

This document uses the terminology defined in the W3C specification document: XML Path Language (XPath) Version 1.0 dated W3C Recommendation 16 November 1999. The term "nodeTest " is used in XPath to determine if two nodes correspond, e.g. they are both text nodes or both elements of the same type and matching content.

Key:"x" and "y" are XPath location paths where "x" refers to an object in the xml file and "y" refers to an object in the delta xml file.

Markup Combine Error Messages

Error Number Error Message Explanation
340 this delta element "y" has no matching xml element in the orderless set In the orderless set, the element "y" has not been combined because no matching item could be found.
349 this delta element "y" has not been processed This delta item cannot be combined into this orderless set as it is neither equal to an xml item in the set nor does it have the same name (key) as an xml item in the set.
357 cannot delete this delta item "y" as there is no corresponding item in the xml file There is no item in the xml file corresponding to this item "y" in the delta xml file. This error will be generated if the items are not equal. If an element with the same name (key) is found, it will be deleted but this may not be the correct action.
362 cannot add delta xml element "y" as there is an equally named xml element "x" Cannot add "y" into this orderless set as there is matching named "x" already in the xml file. If the addition were to be carried out then there would be duplicate names and therefore the result would be incorrect. It is not an error to add unnamed duplicate objects.

* Combination can occur in two directions: forward or reverse. In the case of the reverse direction all deltaxml:delta attributes which are set to "delete" act as if they were set to "add" and vice versa.