[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Loss of white space

Subject: RE: Loss of white space
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Mon, 08 Sep 2003 12:30:48 -0400
xsl insert whitespace
Arthur,

If you tell us which FO formatter you're using, someone might be able to suggest whether/if there's a wrinkle that bears on your requirement to preserve white space....

Cheers,
Wendell

At 04:55 AM 9/8/2003, you wrote:
Hello xsl-list,

Thank you WP, VC and DP for the correspondence

WP I did try white-space="pre" linefeed-treatment="preserve" no joy, will
be researching http://www.zvon.org
DP (At the learning stage I did buy a copy of your book, and useful it was to.)


AS REQUESTED MORE DETAIL

  I am reverse engineering SQL Server 2000 databases
  This bit deals with captured Stored Procedures

BELOW 1 Is how a captured stored procedure appears in the xml document
(viewed in XML Spy ).
Note: The code for the stored procedure is put in a CDATA <code>code<![CDATA[ ...]]></code>


BELOW 2 Is how it is rendered in PDF (using xsl:fo and apache fop)

This is the template used: 4th line up from bottom
<fo:block ><xsl:value-of select="./code"/></fo:block>


<xsl:template match="stored-proc" mode="proc">
      <!-- List of stored procedures in database. -->
     <fo:page-sequence master-reference="odd">

<fo:static-content flow-name="odd-before">
<fo:block xsl:use-attribute-sets="a-running"><xsl:value-of select="//@project-name"/></fo:block>
<fo:block xsl:use-attribute-sets="b-running"><xsl:value-of select="//@rdbms-name"/><xsl:text> version </xsl:text><xsl:value-of select="//@rdbms-version"/></fo:block>
</fo:static-content>


            <!--date and page number footer -->
            <fo:static-content flow-name="odd-after">
               <fo:block xsl:use-attribute-sets="a-running" >
                  <fo:inline><xsl:value-of select="@date-asat" />
                     <fo:leader leader-pattern="space" leader-length="30%" />
                        <xsl:text>Page - </xsl:text><fo:page-number/>
                     <fo:leader leader-pattern="space" leader-length="30%" />
                  </fo:inline >
               </fo:block>
            </fo:static-content>


<fo:flow flow-name="odd-body">


<fo:block xsl:use-attribute-sets="c-head">
<xsl:text>Source code for: </xsl:text><xsl:value-of select="./sp-name"/>
</fo:block>
<fo:block ><xsl:value-of select="./code"/></fo:block>
</fo:flow>
</fo:page-sequence>
</xsl:template>



---- BELOW 1 ---- Captured Stored Procedure -------


<stored-proc date-created="2003-09-05T13:08:37" sp-owner="dbo">
<sp-name>uspConstantBuildTaxa</sp-name>
<code>code<![CDATA[
CREATE Procedure uspConstantBuildTaxa (
@constantid int
)
AS
SET NOCOUNT ON
DECLARE @Level int
Create TABLE #stack (
constantid int,
[Level] int
)
SELECT @Level=1
INSERT INTO #stack SELECT constantid, 1 FROM Constant WHERE constantid=@constantid
WHILE @Level > 0 BEGIN
if EXISTS (SELECT * FROM #stack WHERE [Level] = @Level) BEGIN
SELECT TOP 1 @constantid=constantid FROM #stack WHERE [Level]=@Level ORDER BY constantid
DELETE FROM ConstantTaxa WHERE constantid=@constantid


INSERT INTO ConstantTaxa
SELECT C.constantid,
IsNull(P.[Level],0)+1,
IsNull(P.Taxa,'.' )+CAST(C.constantid AS nvarchar(15))+'.'
FROM Constant AS C LEFT OUTER JOIN ConstantTaxa AS P
ON C.TaxonID=P.constantid
WHERE @constantid=C.constantid
DELETE FROM #stack WHERE constantid=@constantid
INSERT #stack
SELECT constantid, @LEVEL+1 FROM Constant
WHERE TaxonID=@constantid
If @@ROWCount > 0
SELECT @Level=@Level+1
END ELSE
SELECT @Level=@Level-1
END
SET NoCount OFF


GO
]]></code>
   </stored-proc>


---- BELOW 2 ---- Stored Procedure rendered in PDF -------


Source code for: uspConstantBuildTaxa
code CREATE Procedure uspConstantBuildTaxa ( @constantid int ) AS SET NOCOUNT ON
DECLARE @Level int Create TABLE #stack ( constantid int, [Level] int ) SELECT @Level=1
INSERT INTO #stack SELECT constantid, 1 FROM Constant WHERE constantid=@constantid
WHILE @Level > 0 BEGIN if EXISTS (SELECT * FROM #stack WHERE [Level] = @Level) BEGIN
SELECT TOP 1 @constantid=constantid FROM #stack WHERE [Level]=@Level ORDER BY
constantid DELETE FROM ConstantTaxa WHERE constantid=@constantid INSERT INTO
ConstantTaxa SELECT C.constantid, IsNull(P.[Level],0)+1, IsNull(P.Taxa,'.' )+CAST(C.constantid
AS nvarchar(15))+'.' FROM Constant AS C LEFT OUTER JOIN ConstantTaxa AS P ON
C.TaxonID=P.constantid WHERE @constantid=C.constantid DELETE FROM #stack WHERE
constantid=@constantid INSERT #stack SELECT constantid, @LEVEL+1 FROM Constant
WHERE TaxonID=@constantid If @@ROWCount > 0 SELECT @Level=@Level+1 END ELSE
SELECT @Level=@Level-1 END SET NoCount OFF GO



-- Best regards, Arthur mailto:ArthurMaloney@xxxxxxxxxx


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


======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


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



Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.