13Fix system identifiers on Windows.

This feature is new in XML Resolver 4.4.0.

Configuration on Java

  • Feature ResolverFeature.FIX_WINDOWS_SYSTEM_IDENTIFIERS (type: Boolean)

  • System property xml.catalog.fixWindowsSystemIdentifiers

  • Property file property fix-windows-system-identifiers

Configuration on .NET

  • Feature ResolverFeature.FIX_WINDOWS_SYSTEM_IDENTIFIERS (type: bool)

  • Environment variable XML_CATALOG_FIX_WINDOWS_SYSTEM_IDENTIFIERS

  • Property file property fixWindowsSystemIdentifiers

Windows uses the backslash (“\”) instead of the forward slash as a path separator. The URI specification does not allow unescaped backslashes to appear in URIs, but as a practical reality, many users think of them as filenames and may simply copy filesystem paths as system identifiers. On Windows, this will cause “URI syntax” exceptions if an attempt is made to resolve them.

If FIX_WINDOWS_SYSTEM_IDENTIFIERS is true, and the resolver is running on a Windows system, backslashes in system identifiers are replaced with forward slashes before any resolution is attempted.