Subject: | URI::Find finds unwanted URIs in DOCTYPEs |
As of version 20090316, URI::Find finds the URI in a DOCTYPE like:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
and also in an xmlns like:
<html xmlns="http://www.w3.org/1999/xhtml/">
this has the unwanted consequence of
Catalyst::Plugin::Session::State::URI completely destroying the DOCTYPE
directive as in:
<!DOCTYPEhtmlPUBLIC%22-//W3C//DTDXHTML1.0Strict//EN%22%22http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd/-/a0888fbf7d606f31b48ea971713780e3a769b110">
<htmlxmlns=%22http://www.w3.org/1999/xhtml/-/a0888fbf7d606f31b48ea971713780e3a769b110">
While one could argue, that URI::Find just does it's job and got better
at it, this is creating real world problems. Also one could argue that
in these two cases, the URI is no URI as such, but instead a globally
uniquie identifier, using URI syntax to ensure the uniqueness. And
indeed, the W3C recommendation explains them as such.