Re: [xsl] White space

Subject: Re: [xsl] White space
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 14 Jan 2004 15:58:43 -0500
At 2004-01-14 19:35 +0000, Mark Williams wrote:
My xsl template is in fact structured as you suggest....

Then I think I may know what is going on: spaces between some elements in an XSL-FO file are significant while spaces between all elements (except <xsl:text>) in an XSLT file are not significant.


What I am looking for is a simple flag to set at the beginning of the xsl
template which will tell it to leave my white space alone.  I had, in fact,
already tried preserve space previously with no effect, but I thought I
would give David's suggestion a go, specifically aimed at fo elements.

Below is an example that I think demonstrates the functionality you need.


Do you have any ideas why this may not be working and what else I can
possibly try?

Using xml:space="preserve".


Note below:

(1) - the file "mark.fo" has spaces in the block that would be seen on a page.

 (2) - the file "mark.xfo" simply wraps it in an XSLT template
     - the spaces become meaningless as illustrated by running Saxon and no
       spaces are seen in the block in the result

(3) - the file "mark.ssl" uses xml:space="preserve" to keep the spaces significant
- the spaces are preserved as illustrated by running Saxon and spaces are
seen in the block in the result


I've had to use this in the past when writing stylesheets that write stylesheets that people need to look at.

I hope this helps.

............................. Ken

T:\ftemp>type mark.fo
<root xmlns="http://www.w3.org/1999/XSL/Format";
      font-size="16pt">
  ...blah...blah...blah...
  <block>
    <inline>This</inline> <inline>is</inline>
    <inline>a</inline> <inline>test.</inline>
  </block>
  ...blah...blah...blah...
</root>

T:\ftemp>type mark.xfo
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                version="1.0">

<xsl:template match="/">
<root xmlns="http://www.w3.org/1999/XSL/Format";
      font-size="16pt">
  ...blah...blah...blah...
  <block>
    <inline>This</inline> <inline>is</inline>
    <inline>a</inline> <inline>test.</inline>
  </block>
  ...blah...blah...blah...
</root>
</xsl:template>

</xsl:stylesheet>


T:\ftemp>type mark.xsl <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">

<xsl:template match="/" xml:space="preserve">
<root xmlns="http://www.w3.org/1999/XSL/Format";
      font-size="16pt">
  ...blah...blah...blah...
  <block>
    <inline>This</inline> <inline>is</inline>
    <inline>a</inline> <inline>test.</inline>
  </block>
  ...blah...blah...blah...
</root>
</xsl:template>

</xsl:stylesheet>


T:\ftemp>saxon mark.xfo mark.xfo
<?xml version="1.0" encoding="utf-8"?><root xmlns="http://www.w3.org/1999/XSL/Fo
rmat" font-size="16pt">
...blah...blah...blah...
<block><inline>This</inline><inline>is</inline><inline>a</inline><inline>test.
</inline></block>
...blah...blah...blah...
</root>
T:\ftemp>saxon mark.xsl mark.xsl
<?xml version="1.0" encoding="utf-8"?>
<root xmlns="http://www.w3.org/1999/XSL/Format"; font-size="16pt">
...blah...blah...blah...
<block>
<inline>This</inline> <inline>is</inline>
<inline>a</inline> <inline>test.</inline>
</block>
...blah...blah...blah...
</root>



-- North America (Washington, DC): 3-day XSLT/2-day XSL-FO 2004-03-15 Instructor-led on-site corporate, government & user group training for XSLT and XSL-FO world-wide: please contact us for the details

G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6                       Definitive XSLT and XPath
ISBN 0-13-140374-5                               Definitive XSL-FO
ISBN 1-894049-08-X   Practical Transformation Using XSLT and XPath
ISBN 1-894049-11-X               Practical Formatting Using XSL-FO
Member of the XML Guild of Practitioners:     http://XMLGuild.info
Male Breast Cancer Awareness  http://www.CraneSoftwrights.com/s/bc


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread