Skip to content

The System.Xml bug that causes public identifiers treated as relative URIs has catastrophic performance implications #25

@ndw

Description

@ndw

When System.Xml encounters a public identifier, it constructs a $DEITY awful mangled URI for it, for example:

http://example.com/path/-//DTD//Example 1.0//EN

That's not going to be found in the catalog.

Because it isn't found in the catalog, the resolver has no choice but to attempt to retrieve it. So every public identifier delays the parser by the length of time it takes to make a failed HTTP round trip.

The XmlResolver should work harder to recognize these broken URIs and do public ID lookup for the public identifier.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions