Sounds like you want to replace every occurrence of "\n\s\s\s\s" with "\n"
where \n represents a newline and \s a space (unless your actual text is
using tab characters, of course). That's easily done in XSLT 2.0 using the
replace() function. In 1.0, look in the FAQ for string-replacement code
(there's an EXSLT function that does the job).
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Michael She [mailto:mshe(_at_)mvcinc(_dot_)com]
Sent: 09 November 2007 07:44
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] .NET XSLT Parser and Indentation Whitespace Problem
Hello Everyone,
I've been Googling for a while and I can't seem to find an
answer to this question. VS.NET 2005 adds automatic
indentation to XSLT files... and this indentation is causing
problems with formatting. I could manually fix the file, but
this would only be a workaround which could break easily...
so I'm wondering how you get XSLT to strip indentation.
I have an XSLT file that looks like:
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="no" omit-xml-declaration="yes"/>
<xsl:param name="Name"/>
<xsl:template match="/">
Hello <xsl:value-of select="$Name" />,
We have received your e-mail, and your question is in the
process of being routed to the appropriate department. Our
customer service representatives will make every effort to
respond to your message within 24 hours. In the meantime, if
you have not already done so, please take a moment to look
for your answer in the frequently asked questions (FAQ)
section of our site.
Thank you for taking the time to contact us. We value
your opinions and appreciate your concerns. A customer
service representative will be contacting you soon.
Sincerely,
MySite.com
</xsl:template>
</xsl:stylesheet>
My output is looking like:
Hello <xsl:value-of select="$Name" />,
We have received your e-mail, and your question is in the
process of being routed to the appropriate department. Our
customer service representatives will make every effort to
respond to your message within 24 hours. In the meantime, if
you have not already done so, please take a moment to look
for your answer in the frequently asked questions (FAQ)
section of our site.
Thank you for taking the time to contact us. We value
your opinions and appreciate your concerns. A customer
service representative will be contacting you soon.
Sincerely,
MySite.com
Notice the indentation before each line?
How do I get the output to look like:
Hello <xsl:value-of select="$Name" />,
We have received your e-mail, and your question is in the
process of being routed to the appropriate department. Our
customer service representatives will make every effort to
respond to your message within 24 hours. In the meantime, if
you have not already done so, please take a moment to look
for your answer in the frequently asked questions (FAQ)
section of our site.
Thank you for taking the time to contact us. We value your
opinions and appreciate your concerns. A customer service
representative will be contacting you soon.
Sincerely,
MySite.com
Basically I want .NET's XSLT engine to ignore the indentation
in the XSLT file and treat each line as a flush new line?
Thanks!
--
Michael She
Team Leader, Software Development
Multi-Vision Communications Inc.
P: (905) 470-8644 x254 (Follow-Me)
M: (416) 816-2566
E: mshe(_at_)mvcinc(_dot_)com
W: http://www.mvcinc.com
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--