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]

Reply via email to