
Signature
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/
>> XmlDataReader in .Net 1.1 can not read XML files from a path which
>> contains "%10" or "%3f".
>
> To clarify, does the path include the string "%3f" or does it include
> the string "?"?
It includes "%3f".
"?" is an illegal character for a path, so this wouldn't be a bug.
>In case of the former you have to URL-escpae the path
> before passing it here, System.Uri has methods for that. "%253f" would
> be the right string in this case.
I don't understand what you mean.
> The documentation is rather clear that the arguments are URLs, not file
> names. There is some overlap, but in cases like this the difference is
> important.
And why has DotNet 2.0 no problems with the same file name?
From the Documentation for "DataSet.ReadXml" (which had the same
problem in DotNet 1.1):
>DataSet.ReadXml (String) Reads XML schema and data into the DataSet
>using the specified file.
So it clearly states: "file", not "URL".
>> - What is so special about "%10" or "%3f" ? Are there other
>> "problematic" charater combinations?
>
> These map to U+0010 and U+003F, a control character and the question
> mark. RFC 3986 has the details.
So DotNet 1.1 erroneously translated "%3f" to a question mark, which IS
an invalid character before trying to open the file. The bug was perhaps
in "Urlresolver class"?
Regards,
Eckhard
Bjoern Hoehrmann - 30 Apr 2006 18:38 GMT
* Eckhard Schwabe wrote in microsoft.public.dotnet.xml:
>>In case of the former you have to URL-escpae the path
>> before passing it here, System.Uri has methods for that. "%253f" would
>> be the right string in this case.
>
>I don't understand what you mean.
URLs use %xx as escape sequence for special characters. The '%'
character is a special character that has to be escaped if it is
not part of such an escape sequence. %25 is the escape sequence
for the '%' character, %3f is the escape sequence for the '?'
character.
>And why has DotNet 2.0 no problems with the same file name?
The argument is not a file name. .NET 2.0 presumably has code to
work around authoring errors like this.
>So it clearly states: "file", not "URL".
It would be good if you could file a documentation bug report on
this then, e.g. using the "Send comments" link on the MSDN page.

Signature
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/