[Mono-list] System.Xml XmlTextReader 'resolver' ...

Atsushi Eno atsushi at ximian.com
Mon Nov 13 20:23:09 EST 2006


Michael Meeks wrote:
> 	Interesting; I'd be interesting to know what source you get that from.
> Based on the fact that this code works on MS' .Net 2.0 but not under
> Mono, it appears likely that we behave differently, and thus we are in
> error. Furthermore, (now I look) MSDN appears to support my view:
> 	http://msdn2.microsoft.com/en-us/library/ms162478.aspx
> "inputUri
>         The URI for the file containing the XML data. The XmlResolver
>         object on the XmlReaderSettings object is used to convert the
>         path to a canonical data representation. If XmlResolver is a
>         null reference (Nothing in Visual Basic), a new XmlUrlResolver
>         object is used."

Oh really. Whatever I knew around it was, when I set null XmlResolver
to XmlReaderSettings in use, it still successfully read the stream,
so I thought it is simply not used for the primary xml stream itself.
Seems like this is a special case as denoted in MSDN.

Now I added another custom resolver case, which worked as you expected
(i.e. custom resolver is used instead of the default one).

>> XmlResolver could be explicitly set null (which indicates that it
>> must skip external entity resolution) and in such case your patch
>> causes NullReferenceException. (I will add such case to our tests.)
> 	True - fair cop, it needs a conditional there.

Ok, based on above, with your patch it was simple to fix :-) The fix
will go into svn soon. Thanks for the report.

Atsushi Eno

More information about the Mono-list mailing list