xsl-list
[Top] [All Lists]

Still problems with the XPath-logic from the "Pretty XML Tree Viewer"

2004-04-02 05:22:52
Hi,

I still have the same problem as before (see: Problem with modified "Pretty XML Tree Viewer"):

Used the tree-view.xsl by Mike J. Brown and Jeni Tennison for my output.

I stripped down the tree-view.xsl to a minimum.

My problem:

I get this as an output:

root
 |
 |___Tabelle DB
       |
       |___Tabelle Nina
       |     |
       |     |___Tabelle Servus
       |     |     |
       |     |     |___Tabelle Chip
       |     |
       |     |___Tabelle Hallo
       |     |     |
       |     |     |___Tabelle Warum
       |     |     |     |
       |     |     |     |___Tabelle Serve
       |     |     |
       |     |     |___Tabelle PC
       |
       |___Tabelle Peddaaa
       |     |
       |     |___Tabelle Horst
       |     |     |
       |     |     |___Tabelle like


But I want this for my output (without the  unessessary "|"'s):

root
 |
 |___Tabelle DB
       |
       |___Tabelle Nina
       |     |
       |     |___Tabelle Servus
       |     |     |
       |     |     |___Tabelle Chip
       |     |
       |     |___Tabelle Hallo
       |           |
       |           |___Tabelle Warum
       |           |     |
       |           |     |___Tabelle Serve
       |           |
       |           |___Tabelle PC
       |
       |___Tabelle Peddaaa
             |
             |___Tabelle Horst
                   |
                   |___Tabelle like


My stripped down tree-view.xsl:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
        <xsl:output method="html" indent="no"/>
        <xsl:template match="/">
                <html>
                        <head>
                                <title>tree-view by Mike J. Brown and Jeni 
Tennison</title>
                        </head>
                        <body>
                                <h3>Can't find the solution for my problem</h3>
                                <xsl:apply-templates select="." mode="render"/>
                        </body>
                </html>
        </xsl:template>
        <xsl:template match="/" mode="render">
                root
                <br/>
                <xsl:apply-templates mode="render"/>
        </xsl:template>
        <xsl:template match="*" mode="render">
                <xsl:call-template name="ascii-art-hierarchy"/>
                <br/>
<xsl:call-template name="ascii-art-hierarchy"/>___Tabelle&#160;<xsl:value-of select="local-name()"/>
                <br/>
                <xsl:apply-templates mode="render"/>
        </xsl:template>
        <xsl:template name="ascii-art-hierarchy">
                <xsl:for-each select="ancestor::*">
                        <xsl:choose>
<xsl:when test="following-sibling::node()">&#160;&#160;|&#160;&#160;&#160;</xsl:when>
                                
<xsl:otherwise>&#160;&#160;&#160;&#160;&#160;&#160;</xsl:otherwise>
                        </xsl:choose>
                </xsl:for-each>
                <xsl:choose>
<xsl:when test="parent::node() and ../child::node()">&#160;&#160;|</xsl:when>
                        <xsl:otherwise>&#160;&#160;&#160;</xsl:otherwise>
                </xsl:choose>
        </xsl:template>
</xsl:stylesheet>

tree-view.xml

<?xml version="1.0" encoding="utf-8"?>
<DB>
        <Nina>
                <Servus>
                        <Chip/>
                </Servus>
                <Hallo>
                        <Warum>
                                <Serve/>
                        </Warum>
                        <PC/>
                </Hallo>
        </Nina>
        <Peddaaa>
                <Horst>
                        <Like/>
                </Horst>
        </Peddaaa>
</DB>



Tried a lot with XPath logic, but I couldn' solve the problem myself.

Anyone got an idea?

Thanks
Jonny

_________________________________________________________________
MSN Messenger - sehen, welche Freunde online sind! http://www.msn.de/messenger Jetzt kostenlos downloaden und mitmachen!



<Prev in Thread] Current Thread [Next in Thread>