XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
samir sawantSubject: XSL for multiple columns and converting to pDF
Author: samir sawant
Date: 24 Jan 2005 05:02 PM
Hi..

Hi I have a following large XML file.


<?xml version="1.0" encoding="utf-8"?>
<root>
<region>
<row>
<field>017814100</field>
<field>178141</field>
<field>SWITCH</field>
<field>006</field>
<field>000011</field>
<field>109.36</field>
<field>74.28</field>
</row>
<row>
<field>307429600</field>
<field>3074296</field>
<field>CLP,RTG</field>
<field>006</field>
<field>000011</field>
<field>168.59</field>
<field>114.51</field>
</row>
....
.....
</region>
</root>


Need to convert this in following format where i will
get 2 columns side by side on pages which will
continue till the end of data. Flow of the data on the
page should be down and then across

AFter every 5 records , the line space should be
there.
BOth columns should be inline means space after 5
records in both columns should match on the same line.
Field within same column should be seperated by space and fields should be justified.

two columns should be seperated by vertical line in
between. Headings should repeat on each page.
Format should look like as below:

< TITLE>
<Headings> <Headings>
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7

F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7

F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7
F1 F2 F3 F4 F5 F6 F7 F1 F2 F3 F4 F5 F6 F7



Thanks,
Samir


Postnext
Ivan PedruzziSubject: XSL for multiple columns and converting to pDF
Author: Ivan Pedruzzi
Date: 27 Jan 2005 02:45 AM

Here is an example that generates HTML


<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>

<xsl:template match="/">
<xsl:variable name="count" select="count(root/region/row)"/>
<html>
<body>
<table border="1">
<tr>
<td>Heading 1</td>
<td>Heading 2</td>
</tr>

<tr>
<td>
<table border="1">
<tr>
<td width="100">Field 1</td>
<td width="100">Field 2</td>
<td width="100">Field 3</td>
<td width="100">Field 4</td>
<td width="100">Field 5</td>
<td width="100">Field 6</td>
<td width="100">Field 7</td>
</tr>
</table>
</td>

<td>
<table border="1">
<tr>
<td width="100">Field 1</td>
<td width="100">Field 2</td>
<td width="100">Field 3</td>
<td width="100">Field 4</td>
<td width="100">Field 5</td>
<td width="100">Field 6</td>
<td width="100">Field 7</td>
</tr>
</table>
</td>

</tr>

<xsl:for-each select="root/region/row[position() mod 2 != 0]">
<tr>
<td>
<table border="1">
<tr>
<xsl:for-each select="field">
<td width="100">
<xsl:value-of select="."/>
</td>
</xsl:for-each>
</tr>
</table>
</td>
<td>
<table border="1">
<tr>
<xsl:for-each select="following-sibling::row[1]/field">
<td width="100">
<xsl:value-of select="."/>
</td>
</xsl:for-each>
</tr>
</table>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

Postnext
samir sawantSubject: XSL for multiple columns and converting to pDF
Author: samir sawant
Date: 27 Jan 2005 11:10 AM
Originally Posted: 27 Jan 2005 11:09 AM
Appreciated your efforts But I wanted the XSL-FO to get the output in PDF.<br> Output in HTML Is not reqd Will be appreciated it Someone hepm me in this regards Thanks Samir

Postnext
Ivan PedruzziSubject: XSL for multiple columns and converting to pDF
Author: Ivan Pedruzzi
Date: 28 Jan 2005 12:10 AM
The following should give you a start


<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="xml"/>

<xsl:template match="/">

<xsl:variable name="count" select="count(root/region/row)"/>

<fo:root>
<fo:layout-master-set>
<fo:simple-page-master master-name="default-master">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="default-master">
<fo:flow flow-name="xsl-region-body">

<fo:block margin-left="5pt" margin-top="5pt">My Title</fo:block>
<fo:block>
<fo:table table-layout="fixed" width="100%" margin-left="5pt">
<fo:table-column/>
<fo:table-column/>

<fo:table-body>
<fo:table-row height="10pt"/>
<fo:table-row height="20pt">
<fo:table-cell>
<fo:block>Header 1</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>Header 2</fo:block>
</fo:table-cell>
</fo:table-row>

<xsl:for-each select="root/region/row[position() mod 2 != 0]">

<xsl:if test="position() mod 6 = 0">
<fo:table-row height="10pt">
<fo:table-cell/>
</fo:table-row>
</xsl:if>


<fo:table-row height="10pt">
<fo:table-cell>
<xsl:call-template name="sub-table">
<xsl:with-param name="context" select="field"/>
</xsl:call-template>
</fo:table-cell>
<fo:table-cell>
<xsl:call-template name="sub-table">
<xsl:with-param name="context" select="following-sibling::row[1]/field"/>
</xsl:call-template>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</fo:table-body>
</fo:table>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>

<xsl:template name="sub-table">
<xsl:param name="context"/>
<fo:block font-size="7.0pt">
<fo:table table-layout="fixed" width="100%">
<xsl:for-each select="$context">
<fo:table-column/>
</xsl:for-each>
<fo:table-body>
<fo:table-row>
<xsl:for-each select="$context">
<fo:table-cell>
<fo:block>
<xsl:value-of select="."/>
</fo:block>
</fo:table-cell>
</xsl:for-each>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</xsl:template>
</xsl:stylesheet>

Posttop
TRACEY RAWLINGSSubject: XSL for multiple columns and converting to pDF
Author: TRACEY RAWLINGS
Date: 21 May 2005 09:44 AM
Hi there im new to all this XML and i need to do what your doing i think.....

I need to create labels from data in PDF.....in the correct format.

I am used to ASP and SQL.
Did you get this to work...if so how.
Just the basic steps.
....Create XSD or xml XSL-FO ....

Stabbing in the dark here.

I have to produce 100 labels all differnt sizes based on user selecting the size of labels.

 
Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.