Well, it depends, as always :)

We could allow for .\ and ..\ in our own internal representation, but we cannot output those directly in our xhtml. If we do, then we are violating the RFC for URIs.

They would have to be converted to / before the xhtml document is written out. Supporting both will probably end in a nightmare of strange bugs, where we always have to make sure they are converted first.

IMO we should not allow it anywhere, as it encourages people to write malformed URIs.

Lukas Theussl wrote:
Ok, I got it :)

Shouldn't we still allow ".\" and "..\" as well as windows people might use that for internal links? Or is that illegal also for links between files?

-Lukas


Dennis Lundberg wrote:
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]





---------------------------------------------------------------------
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