Author: vsiveton
Date: Mon Nov 12 05:58:46 2007
New Revision: 594146
URL: http://svn.apache.org/viewvc?rev=594146&view=rev
Log:
o improved renderer graph
Modified:
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/resources/org/apache/maven/jxr/java/doc/xml2dot.xsl
Modified:
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/resources/org/apache/maven/jxr/java/doc/xml2dot.xsl
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/resources/org/apache/maven/jxr/java/doc/xml2dot.xsl?rev=594146&r1=594145&r2=594146&view=diff
==============================================================================
---
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/resources/org/apache/maven/jxr/java/doc/xml2dot.xsl
(original)
+++
maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/resources/org/apache/maven/jxr/java/doc/xml2dot.xsl
Mon Nov 12 05:58:46 2007
@@ -48,7 +48,7 @@
<xsl:text>#
# Class Diagram - Generated by Maven xml2dot on </xsl:text><xsl:value-of
select="$now"/><xsl:text>
#
-# @see http://www.graphviz.org/doc/libguide/libguide.pdf
+# @see http://www.graphviz.org
#
digraph G {
@@ -88,8 +88,8 @@
<xsl:for-each select="package/class">
<xsl:if test="extends_class and
extends_class/classref/@name!='java.lang.Object'">
- <xsl:text> // extends edges </xsl:text>
- <xsl:text> </xsl:text>
+ <xsl:text> // extends edges</xsl:text>
+ <xsl:text> </xsl:text>
<xsl:call-template name="fullname">
<xsl:with-param name="name" select="extends_class/classref/@name"/>
</xsl:call-template>
@@ -101,9 +101,9 @@
<xsl:text> [dir = "back", arrowtail = "empty"]; </xsl:text>
</xsl:if>
<xsl:if test="implements">
- <xsl:text> // implements edges </xsl:text>
- <xsl:text> </xsl:text>
+ <xsl:text> // implements edges;</xsl:text>
<xsl:for-each select="implements/interfaceref">
+ <xsl:text> </xsl:text>
<xsl:call-template name="fullname">
<xsl:with-param name="name" select="@name"/>
</xsl:call-template>
@@ -118,28 +118,40 @@
</xsl:for-each>
<xsl:for-each select="package/interface">
- <xsl:if test="extends_class and
extends_class/classref/@name!='java.lang.Object'">
- <xsl:value-of select="extends_class/classref/@name"/>
- <xsl:text> ->
- </xsl:text>
- <xsl:value-of select="../@name"/>
- <xsl:text>.</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text> [dir = "back", arrowtail = "empty"]; </xsl:text>
- </xsl:if>
- <xsl:if test="implements">
- <xsl:for-each select="implements/interfaceref">
- <xsl:value-of select="@name"/>
- <xsl:text> ->
- </xsl:text>
- <xsl:value-of select="../../../@name"/>
- <xsl:text>.</xsl:text>
- <xsl:value-of select="../../@name"/>
- <xsl:text> [dir = "back", arrowtail = "empty", style = "dashed"];
</xsl:text>
- </xsl:for-each>
+ <xsl:if test="extends_interface">
+ <xsl:text> // extends edges</xsl:text>
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="fullname">
+ <xsl:with-param name="name"
select="extends_interface/interfaceref/@name"/>
+ </xsl:call-template>
+ <xsl:text> -> </xsl:text>
+ <xsl:call-template name="fullname">
+ <xsl:with-param name="name" select="../@name"/>
+ <xsl:with-param name="parentname" select="@name"/>
+ </xsl:call-template>
+ <xsl:text> [dir = "back", arrowtail = "empty"]; </xsl:text>
</xsl:if>
</xsl:for-each>
+ <xsl:text> // invisible edges</xsl:text>
+ <xsl:text> </xsl:text>
+ <xsl:for-each select="package">
+ <xsl:choose>
+ <xsl:when test="not(position()=last())">
+ <xsl:call-template name="fullname">
+ <xsl:with-param name="name" select="@name"/>
+ </xsl:call-template>
+ <xsl:text> -> </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="fullname">
+ <xsl:with-param name="name" select="@name"/>
+ </xsl:call-template>
+ <xsl:text> [style="invis", weight="100"]; </xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+
<xsl:text>
}</xsl:text>
</xsl:template>
@@ -154,7 +166,6 @@
labelloc = "top";
node [style = "filled"];
z = "1";</xsl:text>
- <xsl:apply-templates/>
<!-- rank same, min, max, source or sink
rankdir TB LR (left to right) or TB (top to bottom)
ranksep .75 separation between ranks, in inches.
@@ -196,9 +207,17 @@
<xsl:text>";
color = "#000000";
fillcolor = "#dddddd";
- style = "filled";
- }
-</xsl:text>
+ style = "filled"; </xsl:text>
+
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="fullname">
+ <xsl:with-param name="name" select="@name"/>
+ </xsl:call-template>
+ <xsl:text> [shape= "point", style="invis"];</xsl:text>
+
+ <xsl:apply-templates/>
+
+ <xsl:text> } </xsl:text>
</xsl:template>
<xsl:template match="class">