xsl-list
[Top] [All Lists]

[xsl] Re: XSLT to remove characters and whitespaces

2006-07-07 06:22:28
Sorry for beeing not precise enough:

"
" replaces linefeed+carriage-returns
"	" replaces tabulators
"normalize-space" removes all unnecessary whitespaces

This replacements do their job in another stylesheet. So it is more a
problem of copying elements the right way than replacing chars. I know
the copy-elements-stylesheet from the the xslt-cookbook but i don't
know how to customize it for my needs (and i don't have the need to
copy any attributs).

I though the provided stylesheet would do the following: Select each
node (*), create element with same name (name={name()}) transform the
content, select next node ...
But the output looks like <tag1>content1</tag1>content1 ...

So maybe the usage of * is wrong. So i tried node() instead but than i
get an error for the usage of name() for the element name that says
i'm generating in invalid qname.

I guess i'm still mixed up with the xslt syntax. So any help is appreciated.

Georg.




2006/7/7, Georg Hohmann <georg(_dot_)hohmann(_at_)gmail(_dot_)com>:
Hello,

i have a xml file with some content in it which contains some unwanted
carriage returns and whitespaces. Now I'm trying to write a stylesheet
which makes an exact copy of the source file but without the returns
and whitespaces. I thought this should work:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output name="stripped" method="xml" version="1.0"
encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
   <xsl:result-document format="stripped" href="result.xml">
      <xsl:apply-templates/>
   </xsl:result-document>
</xsl:template>
<xsl:template match="*">
   <xsl:element name="{name()}">
      <xsl:value-of select="normalize-space(translate(translate(.,
'&#x0d;&#x0a;', ' '), '&#09;', ' '))"/>
   <xsl:apply-templates/>
   </xsl:element>
</xsl:template>
</xsl:stylesheet>

But the output is a mess in parts. What am I doing wrong?

Regards,
Georg


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

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