xsl-list
[Top] [All Lists]

Re: Unable to get text() of node

2006-01-23 05:49:17

Change your posted code to use preserve-space then I get the following
output with saxon, and with msxsl stripping or not stripping white
space:

$ saxon wspace.xml wspace.xsl
<?xml version="1.0" encoding="utf-8"?><foo>

   text.
</foo>

$ msxsl -xw  wspace.xml wspace.xsl
<?xml version="1.0" encoding="utf-8"?><foo>
   text.
</foo>

$ msxsl   wspace.xml wspace.xsl
<?xml version="1.0" encoding="utf-8"?><foo>

   text.
</foo>


saxon8 has a similar option to remove all white space before the
transform starts

$ saxon8 -sall wspace.xml wspace.xsl
Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
<?xml version="1.0" encoding="utf-8"?><foo>
   text.
</foo>



Note that if the parser has been asked to drop white space (msxml -xw
or saxon8 -sall) then the space is gone, even thought the stylesheet
says preseve-space elements="*".


Actually in the case of msxml the situation is a little more complicated
than that, the removed text nodes are not completely removed, a special
magic marker is left there to show that there was some white space.
The msxsl serialiser has some heuristics that try to guess whether or
not to add space at that point when serialising. The end result being
for example that sometimes if you do a copy-of you get space in the
output, but if you do an "equivalent" apply-templates with an identity
template, you do not.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

--~------------------------------------------------------------------
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>