This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: one line of xml to indented xml doc


Okay. It looks like it's the msxsl parser adding the end tag.

Cheers,
Astor

-----Original Message-----
From: Astor Rivera [mailto:arivera@esri.com]
Sent: Monday, March 25, 2002 11:03 AM
To: 'xsl-list@lists.mulberrytech.com'
Subject: RE: [xsl] one line of xml to indented xml doc


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
&quot;Starting&quot;"/>
		</SYSTEMOBJECTS>
	</CONFIG>
</MainApp>

it gave me an extra element at the end.

so when an element ends like so <APPLICATION onstartup="MsgBox
&quot;Starting&quot;"/>
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('&#10;',$indent)"/>
         <xsl:copy>
             <xsl:copy-of select="@*"/>
             <xsl:apply-templates 
select="*|text()[normalize-space()]|comment()"/>
             <xsl:if test="*">
                 <xsl:value-of select="concat('&#10;',$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


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]