This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: one line of xml to indented xml doc
- From: Astor Rivera <arivera at esri dot com>
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 25 Mar 2002 11:03:16 -0800
- Subject: RE: [xsl] one line of xml to indented xml doc
- Reply-to: xsl-list at lists dot mulberrytech dot com
Joerg,
When I applied the stylesheet to this xml:
<?xml version="1.0" encoding="UTF-8"?>
<MainApp>
<CONFIG>
<STATUSBAR visible="true" units="true" scale="true"
rockermode="true"/>
<TOOLBARS>
<TOOLBAR name="main" visible="true"/>
<TOOLBAR name="browse" visible="true"/>
<TOOLBAR name="draw" visible="false"/>
<TOOLBAR name="tlbCustom" caption="My Tools"
visible="true">
<TOOLBUTTON command="clearselected"/>
<TOOLBUTTON command="delete"/>
<TOOLBUTTON name="tlCustom1" image="$fish"
shortcut="A1"/>
</TOOLBAR>
</TOOLBARS>
<SYSTEMOBJECTS>
<APPLICATION onstartup="MsgBox
"Starting""/>
</SYSTEMOBJECTS>
</CONFIG>
</MainApp>
it gave me an extra element at the end.
so when an element ends like so <APPLICATION onstartup="MsgBox
"Starting""/>
the style adds an end tag </APPLICATION>
how can I remove the extra node that attaches itself?
Thanks,
Astor
-----Original Message-----
From: Joerg Heinicke [mailto:joerg.heinicke@gmx.de]
Sent: Monday, March 25, 2002 6:51 AM
To: xsl-list@lists.mulberrytech.com
Subject: Re: [xsl] one line of xml to indented xml doc
Another indentation-stylesheet:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="no" encoding="ISO-8859-1"/>
<xsl:template match="node()">
<xsl:variable name="indent">
<xsl:for-each select="ancestor::*">
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="concat(' ',$indent)"/>
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates
select="*|text()[normalize-space()]|comment()"/>
<xsl:if test="*">
<xsl:value-of select="concat(' ',$indent)"/>
</xsl:if>
</xsl:copy>
</xsl:template>
<xsl:template match="text()[normalize-space() and
not(preceding-sibling::* or following-sibling::*)]">
<xsl:value-of select="normalize-space(.)"/>
</xsl:template>
</xsl:stylesheet>
Regards,
Joerg
--
System Development
VIRBUS AG
Fon +49(0)341-979-7411
Fax +49(0)341-979-7409
joerg.heinicke@virbus.de
www.virbus.de
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list