Hi,
I have found several bugs in @link rendering in PLDoc 1.5.17. All bugs are in common-exslt.xsl file. I have prepared patches for fixing these bugs. I have tested all patches and they works well on my environment. Could you include them to the next release please?
Bug #1
There is one <xsl:comment>
element in XSL file which breaks the output and all {@link schema.object#method}
links are rendered as <a>
element without href
attribute so they looks as plain text in the browser (at least at chromium). When we remove this element then the @link
output is rendered properly. See first.patch
Bug #2
So @link
is rendered as hyperlink after aplying the first.patch. For example {@link schema.object}
is rendered properly (it has the correct hyperlink target) but {@link schema.object#method}
is rendered as <a href="#schema.object#method">
which is not correct. The reason is that xsl variable objectName
contains the objectName two times. So the second.patch removes the unwanted part of objectName
. You need to have first.patch applied yet. Bug #1 masks this bug otherwise.
After applying second.patch the {@link schema.object#method}
is correctly rendered as <a href="../schema/object.html#method">
Bug #3
I saw in xsl file that there is some heuristic which tries to render properly links which are written in PL/SQL way instead of PLDoc way. So it seems that {@link object.method}
should work but it doesn't. It is rendered as <a html="..//object.html#method">
. There is error in XPath which reads the schema name. The third.patch fix this issue.
Bug #4
In this bug the automatic schema name detection doesn't work for {@link object#method}
when object is not in the current schema. The reason is similar as in Bug #3. The fourth.patch fix it.
Enhancement
This is not a bug but nice enhancement. It will be nice to have possibility to write links also in the form {@link schema.object.method}
because it is exactly the same way how we write it in the source code. The fifth.patch contains this improvement.
Feel free to send me any question if you need more information.