I was caught by this one the other day as well, but didn't have time
then to see what had gone wrong.
Cabasson Denis wrote:
(I know there is a DOXIA list, but I haven't been able to find it in a short
time, so I used the Maven dev one).
My problem is that on Windows, links beginning with "./", such as "./link" is not interpreted as an
external link (because StructureSink.isExternalLink is seaching for ".\"). Thus, it is rendered as
href="#./link" which is troublesome.
And in most plugin, (like the PMD one), they are just using "./" instead of
bothering with the separatorChar.
Having links that contains the \ character is plain wrong. See RFC2396
section 2.4.3.
http://www.ietf.org/rfc/rfc2396.txt
We should change StructureSink.isExternalLink so that it doesn't use
File.separator. It should be using the / character directly.
Thus, this revision broke a lot of existing reports (at least on Windows).
I agree with you that DOXIA-47 is correctly fixed by this patch, but it
breaking quite a lot of other things, which is not good.
Anyway, after some research, I have found that ".\link", if interpreted
correctly by DOXIA is not interpreted correctly by web browsers (at least Opera and
Firefox).
Thus I guess a fix to this would be to change the StructureSink.isExternalLink method to
use "/" instead of separatorChar (and repbulish a SNAPSHOT version).
Denis.
-----Message d'origine-----
De : Lukas Theussl [mailto:[EMAIL PROTECTED]
Envoyé : mardi 17 juillet 2007 16:46
À : Maven Developers List
Objet : Re: [DOXIA] Revert doxia revision 555417
(you know there is a doxia list?...)
I don't quite understand your evaluation of the problem.
StructureSink.isExternalLink uses text.indexOf( "." +
File.separatorChar ), so this returns true for "./link"
(Unix) and ".\link" (Windows). In any case you should get an
external link (no #) for "./some/path/file.html".
Anyway, DOXIA-47 is fixed correctly IMO, if there is a Locale
problem then this is a separate issue, you should open
another JIRA for that.
Cheers,
-Lukas
Cabasson Denis wrote:
Could you please revert the Doxia revision :
http://svn.apache.org/viewvc?view=rev&revision=555417
And deploy a new snapshot version of doxia since latest version
(doxia-core-1.0-alpha-9-20070714.200033-13) is shipping
with this patch.
This patch is breaking report created by lots of plugin.
Indeed links
beginning with "./some/path/file.html" are no longer considered as
local link on my configuration (Windows with French Locale)
and ends
up as links to anchor : href="#./some/path/file.html".
This can be tracked to the fact that
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/ma
in
/java/org/apache/maven/doxia/sink/StructureSink.java?revision=519803&v
ie w=markup StructureSink#isExternalLink is using File.separator to
search for relative links (which is '\' instead of '/' on windows),
while most of the report plugin are just using the '/' char (for
example, see
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/
ma
in/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java?revision=51
70 80&view=markup AbstractPmdReport#constructXRefLocation ).
Before revision 555417, everything was fine but with this
revision, a
lots of reports are broken here, with relative links being
now wrongly
considered as links to anchors.
I guess http://jira.codehaus.org/browse/DOXIA-47 should be
reopened,
and another solution found (or maybe StructureSink should be more
lenient on the separator char).
Thanks!
Denis.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED] For
additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Dennis Lundberg
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]