[Mono-devel-list] Re: XSLT patches reviewed
Atsushi Eno
atsushi at ximian.com
Wed Feb 9 05:43:01 EST 2005
Hi,
>>xslnumber.patch
>> I need more precise understanding about number formatting
>> which is expected in XSLT spec (or please point the related
>> spec section number in your patch).
>
> The idea here was to pass test which checks large number for grouping
> sizes. The standard does not limit grouping sizes to MAX_INT, so to
> parse numbers like 10000000000000000 you can use decimal type.
Ok. It is implementation dependent, but I'll commit because it
differentiates behavior between MS and mono. It is now in svn.
>>xsforeach.patch
>> I need clarification on the purpose of this patch.
>> Performance?
>
> No, null reference bug. XSLT standard does not forbid you to write
> <xsl:for-each /> You can see that children is null in this case, so
> children.Evaluate () will crash.
I see. Now this fix is in svn.
>>xslstylesheet.patch
>>locationpathpattern.patch
>> I need clarification on the purpose of these patches.
>> With OASIS's stable archive I could not find any improvements.
>
> May be the tests that are improved by this patch are noised by minor
> differences. I wrote XmlNormalizer which allows you to cut different
> nodes from XML, so you can see more important differences and ignore
> less important. Have the source in the attachment.
OK. Maybe I had better incorporate this normalizer with the test
runner. Let me check again after the work has done.
> xslstylesheet.patch fixes the bug if you redefine namespace-alias a few
> times for a same identifier. You don't want to create a new namespace
> alias, so you replace the previous one.
OK, so MS implementation had chosen to recover from the error, in the
way specified in the spec 7.7.1. This fix is now in svn.
> locationpathpattern.patch fixes a bug that was triggered not by this
> test suite, but by some Serializer as best as I can remember. At least
> in one of the cases when you give '*' it becomes an empty string, so
> this check was necessary.
Yes, looks so, as long as I saw XPath Tokenizer. This fix is now in svn.
>>xmlwriteremitter.patch
>> I should reject this patch. It is enough to invoke
>> String.Replace() just once (because it replaces all
>> the matching string occurence). Also, two WriteComment()
>> without object creation is better than allocating another
>> string object in general.
>
> This patch was fixes Comment_Comment_LineOfAllHyphens test. If it was
> enough to call String.Replace() just once the test would succed from the
> beginning.
My first comment for .Replace() was invalid. I'll checkin the first fix.
>>whitespacenodes.patch
>> Let me read the spec in depth. Without related spec section
>> it is impossible to determine if the patch is fine (and that
>> part is one of the difficult part of XSLT).
>
> This patch fixes null reference exception. It does not change whitespace
> outputting. Exception happens with test IDs BVTs_bvt083 and BVTs_bvt001.
It broke Variables_GlobalVarHaveLocalVarDefinedWithin.rst, so am
pending this patch yet.
> This class was not a part of any our test suite, I wrote quick and dirty
> to start with something. So you will surely need to tune it to be
> somewhat useful.
It was already useful in the first form ;-) I checked in your test
prerequisists and put a result collection to my web repositry.
>>I believe all the rest part of the patch is in svn, but tell me if
>>there was missing. In general very nice patches :-)
>
> Big pleasure to hear it.
Thanks again for those patches and followups!
Atsushi Eno
More information about the Mono-devel-list
mailing list