diff --git a/ws/Docbook/Preprocess/Xsl/common.xsl b/ws/Docbook/Preprocess/Xsl/common.xsl index d4852af3a08b34b96b37fa2d648dd89f09315d87..cbc01687a09aac4e39b058cb57314e2b80ac4fa6 100644 --- a/ws/Docbook/Preprocess/Xsl/common.xsl +++ b/ws/Docbook/Preprocess/Xsl/common.xsl @@ -5,7 +5,7 @@ exclude-result-prefixes="xs" version="2.0"> <xsl:param name="javaApiBaseUrl" - >https://docs.oracle.com/en/java/javase/21/docs/api/java.base</xsl:param> + >https://freedocs.mi.hdm-stuttgart.de/doc/openjdk-current-doc/api/java.base</xsl:param> <xsl:template name="hdm.get.leftmost.of.separator"> <xsl:param name="path"/> @@ -121,8 +121,13 @@ <xsl:variable name="unescapedHtmlReference"> <xsl:choose> <xsl:when test="$methodname eq $javaClassName"> - <xsl:text><init>(</xsl:text> - <xsl:value-of select="substring-after($javaMethodnameAndArguments, '(')"/> + + + <xsl:text><![CDATA[<init>]]>(</xsl:text> + <xsl:call-template name="javadocArgumentTypeSpec"> + <xsl:with-param name="fqJavaClassname" select="substring-before(substring-after($javaMethodnameAndArguments, '('), ')')"/> + </xsl:call-template> + <xsl:text>)</xsl:text> </xsl:when> <xsl:otherwise> <xsl:value-of select="$javaMethodnameAndArguments"/> @@ -155,4 +160,56 @@ <xsl:text>.html</xsl:text> </xsl:template> + <xsl:template name="javadocArgumentTypeSpec"> + <xsl:param name="fqJavaClassname"/> + <xsl:choose> + + <xsl:when test="contains($fqJavaClassname, '.')"> + <xsl:value-of select="$fqJavaClassname"/> + </xsl:when> + <xsl:otherwise> + + <xsl:choose> + <xsl:when test="$fqJavaClassname eq 'byte'"> + <xsl:value-of select="$fqJavaClassname"/> + </xsl:when> + + <xsl:when test="$fqJavaClassname eq 'short'"> + <xsl:value-of select="$fqJavaClassname"/> + </xsl:when> + + <xsl:when test="$fqJavaClassname eq 'int'"> + <xsl:value-of select="$fqJavaClassname"/> + </xsl:when> + + <xsl:when test="$fqJavaClassname eq 'long'"> + <xsl:value-of select="$fqJavaClassname"/> + </xsl:when> + + <xsl:when test="$fqJavaClassname eq 'char'"> + <xsl:value-of select="$fqJavaClassname"/> + </xsl:when> + + <xsl:when test="$fqJavaClassname eq 'float'"> + <xsl:value-of select="$fqJavaClassname"/> + </xsl:when> + + <xsl:when test="$fqJavaClassname eq 'double'"> + <xsl:value-of select="$fqJavaClassname"/> + </xsl:when> + + <xsl:when test="$fqJavaClassname eq 'boolean'"> + <xsl:value-of select="$fqJavaClassname"/> + </xsl:when> + + <xsl:otherwise> + <xsl:text>java.lang.</xsl:text> + <xsl:value-of select="$fqJavaClassname"/> + </xsl:otherwise> + + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + </xsl:stylesheet>