Is there a way to achieve what I want?
I'm still learning, but this worked. If you don't need the indenting, the
indent="yes" alone will take care of putting CR/LF between each element,
and you can eliminate all of the xsl:text's
<?xml version="1.0"?>
<packages>
<package>
<category>Applications/Internet</category>
<install-name>test</install-name>
</package>
</packages>
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:element name="packages">
<xsl:text>
	</xsl:text>
<xsl:for-each select="packages/package">
<xsl:element name="package">
<xsl:text>
		</xsl:text>
<xsl:copy-of select="category"/>
<xsl:if test="string(category)">
</xsl:if>
<xsl:text>
	</xsl:text>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list