Priority: P2: Important
Affects Version/s: 4.7.3, 5.5.0
Fix Version/s: None
Component/s: XML: QtXmlPatterns
I noticed, that sometimes XMLpatterns produce incorrect result, when variable calculated in Let clause is used later in calculation in Return or Let clause. It is quite difficult to understand when this error arises, but in attachment there is a simple query, which surely generates such an error.
The query extracts centers of parcels whose coordinates stored in xml-file.
Using this return statement (see Query_1.xq)
return concat($i/@CadastralNumber, $dlm, $par_x_cen, $dlm, $par_y_cen, $nln)
produce correct result, but if we add a small modification like that
return concat($i/@CadastralNumber, $dlm, $par_x_cen, $dlm, $par_y_cen, $dlm, $par_x_cen + 1.0, $dlm, $par_y_cen + 1.0, $nln)
then result is incorrect - for each parcel is returned the same value, which is true only for the first one.
But if we place last return statement in the function (see Query_2.xq), then everything works OK again.
By the way both attached queries force XMLpatterns to crash when using Qt 4.7.4 for msvc2008!?