This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Whitespace question
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] Whitespace question
- From: "Christopher R. Maden" <crism at maden dot org>
- Date: Mon, 17 Sep 2001 23:54:51 -0700
- Reply-To: xsl-list at lists dot mulberrytech dot com
At 23:24 17-09-2001, Ragulf Pickaxe wrote:
>Using MSXML 3.0, I have following structure:
>
><code1>bla bla</code1> <code1>more bla bla</code1>
[...]
>Dimitre Novachev wrote something about specifying xml:space="preserve" on
>an element - how do you do that? and would that serve the job in this
>case? If not, is there another way to solve the problem (and how)?
To keep that whitespace node, we really need to know what the parent
is. The easiest approach is to maintain all whitespace nodes within the
parent, if that works. For example, given
<code>
<code1>bla bla</code1> <code1>more bla bla</code1>
</code>
Then you could set xml:space:
<code xml:space="preserve">
<code1>bla bla</code1> <code1>more bla bla</code1>
</code>
and MSXML would give you a string value of <code> of "
bla bla more bla bla
" (note two carriage returns in there, too). But if you need to strip all
whitespace except the ones that fall between <code1>s, then your more
unwieldy hack is the right direction. (What you need to do is insert the
space unless there's a text node already there, which means that there was
something other than just space.)
You could also do this with XSLT, without modifying the source XML:
<xsl:preserve-space elements="code"/>
-Chris
--
Christopher R. Maden, Principal Consultant, HMM Consulting Int'l, Inc.
DTDs/schemas - conversion - ebooks - publishing - Web - B2B - training
<URL: http://www.hmmci.com/ > <URL: http://crism.maden.org/consulting/ >
PGP Fingerprint: BBA6 4085 DED0 E176 D6D4 5DFC AC52 F825 AFEC 58DA
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list