Crane Softwrights Ltd. of Ottawa Canada is pleased to announce a US
east-coast (Washington DC/Falls Church VA area) training delivery of
its XML material in partnership with Mark Logic Corporation of San
Carlos California. Through four separately-subscribed classes over
11 consecutive weekdays in October/November 2009, these intensive
hands-on classes cover working with XML for the OASIS code list
specifications, the OASIS Universal Business Language 2.0 standard,
the W3C XQuery, XSLT and XPath 1.0 and 2.0 standards and the W3C
XSL-FO 1.0 and 1.1 standards:
Practical Code List Implementation (1 day): 2009-10-28
http://www.CraneSoftwrights.com/training/pcli/pclisyl.htm
Abbreviated code: PCLI
Cost: US$550.
Practical Universal Business Language Deployment (2 days): 2009-10-29/30
http://www.CraneSoftwrights.com/training/publd/publdsyl.htm
Abbreviated code: PUBLD
Cost: US$1100.
Practical Transformation Using XSLT, XQuery and XPath (5 days): 2009-11-02/06
http://www.CraneSoftwrights.com/training/ptuxq/ptuxqsyl.htm
Abbreviated code: PTUXQ
Cost: US$2750.
Practical Formatting Using XSL-FO (3 days): 2009-11-09/11
http://www.CraneSoftwrights.com/training/pfux/pfuxsyl.htm
Abbreviated code: PFUX
Cost: US$1650.
Venue:
Homewood Suites, Falls Church, VA (Merrifield) - http://tinyurl.com/lj548u
8130 Porter Road, Merrifield, Virginia, United States 22042
(daily lunch is included in the fee)
Registration for these classes is through Mark Logic's training division:
http://www.MarkLogic.com/services/training.html
and all students must register via email:
mailto:training@...?subject=Crane%20XML%20training%20Washington
Class size is limited to only 15 students, so please register early
to ensure you get your seat. Seats are allocated in the order of
paid registrations received, not email requests.
Check out all of our training offerings linked from our home page below.
We have plans for future classes and you can tell us if your interest in them:
http://www.CraneSoftwrights.com/forms/interest.php
Thanks!
. . . . . . . . . . Ken
cc: XQuery-Talk, XSL List, Yahoo XSL-FO, Antenna House list, RenderX
list, XML-Doc, XML-L
--
Interested in these classes? http://www.CraneSoftwrights.com/f/i/
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/f/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman mailto:gkholman@...
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/f/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Announcing Crane's Summer Sessions!
Based on the success of the same training in Santa Ana in early June,
one of the attendees at those classes has arranged for Crane to
deliver our training event in the East Bay area of Central California
for his fellow Masters students before their return to classes late August:
XSLT/XQuery/XPath - August 3-7, 2009
XSL-FO - August 10-12, 2009
http://www.CraneSoftwrights.com/index.html#Crane200908CA
These are the most in-depth configurations of Crane's XSL and XQuery
training classes, covering the use of every element, every attribute,
every keyword and every function of both XSLT/XPath 1.0 and 2.0 and
XQuery 1.0, and every formatting object of XSL-FO 1.0 and 1.1 with
more detail and more exercises than other available configurations of
our material.
Practical Transformation Using XSLT, XQuery and XPath (5 days):
http://www.CraneSoftwrights.com/training/ptuxq/ptuxqsyl.htm
Practical Formatting Using XSL-FO (3 days):
http://www.CraneSoftwrights.com/training/pfux/pfuxsyl.htm
Venue - Embassy Suites, Walnut Creek (Pleasant Hill BART), California
http://tinyurl.com/nljjbk
Instructor/author:
http://www.CraneSoftwrights.com/bio/gkholman.htm
Early-bird date for discounted registration: July 20, 2009
If you are interested in having us teach publicly or privately in any
area of the world, please let us know.
Thanks!
. . . . . . . . . Ken
cc: XSL-List, XQuery Talk, XML-Doc, RenderX, Antenna House,
XSL-FO-WWW, XSL-FO-Yahoo, XML-L
p.s. We recognize these are difficult economic times for many
companies, but thankfully air fares are low. For those who still
cannot make it to the new class, we have extended the free worldwide
shipping of our hyperlinked interactive 24-hour XSLT DVD-ROM video product:
http://www.CraneSoftwrights.com/training/ptux/ptux-video.htm
--
XSL-FO/XSLT/XQuery hands-on training - Oakland, CA, USA 2009-08-03
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/f/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman mailto:gkholman@...
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/f/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Altsoft Xml2PDF 2009 is a .NET-based formatting engine for converting various
page layout formats into print-ready documents. Available as a freeware UI or
commercial .NET API for server use.
The new key features and improvements are:
*Principal refactoring and optimization.
*Essential improvements in XSL-FO, SVG, XTHML and Word 2003, 2007 support
(including improved tables and floats formatting algorithms and new fonts
support technology);
*Complete HTML (including new features of CSS 3.0) support
*DOC input support
*SVG output support
*XAML output support (integration with WPF)
*digital signatures in PDF and XPS
Also new intermediate AltDOC vector format is provided. It allows to:
*edit and merge formatted documents, add new elements to them;
*temporary store the formatted documents ready for saving in any of output
formats;
*create PDF, XSP, PS, TIFF from scratch using all power of Xml2PDF formatting
engine.
Please forgive this re-post, but the subject line before did not
mention XSL-FO and I did not want the announcement to be skipped over
by those on this list who are interested in such a class.
At 2009-03-06 17:43 -0500, I wrote:
>June 1 - 10, 2009 - Los Angeles/Anaheim, California
>
>Five days of XSLT 2.0/1.0, XQuery 1.0 and XPath 2.0/1.0, covering
>every element, every attribute, every keyword and every
>function. Taught in parallel, students can do the same exercises in
>either XQuery, XSLT or both.
>
>Three days of XSL-FO 1.1/1.0, covering every formatting object.
>
>Links to syllabi, instructor information, venue information and registration:
>
> http://www.CraneSoftwrights.com/f/
>
>If these do not suit you, we offer on-site private deliveries.
>
>. . . . . . . . . . . . Ken
--
XQuery/XSLT training in Prague, CZ 2009-03 http://www.xmlprague.cz
XQuery/XSLT/XSL-FO training in Los Angeles/Anaheim - 2009-06-01/10
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman mailto:gkholman@...
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/f/
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/f/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
June 1 - 10, 2009 - Los Angeles/Anaheim, California
Five days of XSLT 2.0/1.0, XQuery 1.0 and XPath 2.0/1.0, covering
every element, every attribute, every keyword and every
function. Taught in parallel, students can do the same exercises in
either XQuery, XSLT or both.
Three days of XSL-FO 1.1/1.0, covering every formatting object.
Links to syllabi, instructor information, venue information and registration:
http://www.CraneSoftwrights.com/f/
If these do not suit you, we offer on-site private deliveries.
. . . . . . . . . . . . Ken
cc: XML-Dev, XQuery-Talk, XSL List, Yahoo XSL-FO, Antenna House list,
RenderX list, XML-Doc, XML-L
--
XQuery/XSLT training in Prague, CZ 2009-03 http://www.xmlprague.cz
XQuery/XSLT/XSL-FO training in Los Angeles/Anaheim - 2009-06-01/10
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman mailto:gkholman@...
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/m/
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/m/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
At 2009-01-30 08:54 +0000, anderszvensson wrote:
>I need to be able to control lists so that I don't get a single first
>list-item at the end of a page or a last list-item at the beginning of
>a page.
Use keep-with-next= on the first list item, and keep-with-previous=
on the last list item.
>I know you can control lines in an element that way with
>orphans and widows, but it only seems to work within a specific
>element with several lines of text.
Precisely.
>A list in the xml I use looks like this (but usually longer, so a
>keep-together.within-column is not a good idea,
Yes, that wouldn't be appropriate in your situation.
I hope this helps.
. . . . . . . . . . . . Ken
--
Upcoming hands-on XSLT, UBL & code list hands-on training classes:
Brussels, BE 2009-03; Prague, CZ 2009-03, http://www.xmlprague.cz
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman mailto:gkholman@...
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/f/
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/f/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Hi,
I need to be able to control lists so that I don't get a single first
list-item at the end of a page or a last list-item at the beginning of
a page. I know you can control lines in an element that way with
orphans and widows, but it only seems to work within a specific
element with several lines of text. It just seems strange that it
wouldn't be possible to do this for list-items too, since that causes
the same problem as a single line of regular paragraph text does (it's
just as ugly with a single list-item as a single line of text). I just
can't find any way to do it though, am I missing something?
A list in the xml I use looks like this (but usually longer, so a
keep-together.within-column is not a good idea, since that would often
create too much whitespace):
<ol>
<li>Text</li>
<li>Text</li>
<li>Text</li>
<li>Text</li>
</ol>
Any help would be greatly appreciated!
Regards,
Anders
Thank you for your response.
Here is the sample table XML file:
<table id="S0218B7D7" frame="none">
<title/>
<tgroup cols="5">
<colspec colname="c1"/>
<colspec colname="c2"/>
<colspec colname="c3"/>
<colspec colname="c4"/>
<colspec colname="c5"/>
<tbody>
<row>
<entry rowsep="0">3</entry>
<entry>3</entry>
<entry>3</entry>
<entry>3</entry>
<entry>3</entry>
</row>
<row>
<entry>3</entry>
<entry>3</entry>
<entry>3</entry>
<entry>3</entry>
<entry>3</entry>
</row>
</tbody>
</tgroup>
</table>
My requirement is simple:
Whenever @rowsep is encountered, it formats the table by setting
border-bottom=0px.
How can I acheieve this?
Thanks
--- On Mon, 12/29/08, G. Ken Holman <gkholman@...> wrote:
From: G. Ken Holman <gkholman@...>
Subject: Re: [XSL-FO] CALS table to XSLFo -@rowsep problem
To: XSL-FO@yahoogroups.com
Date: Monday, December 29, 2008, 4:52 PM
At 2008-12-29 17:07 +0000, mina_hurray wrote:
>I am trying to convert the cals table into FO.
>I am having issues with the @rowsep at an <entry> element. If the
>@rowsep=0, I want that the border-bottom to not be shown. Here is what
>I am attempting to do in the <entry> template: I have just shown the
>@rowsep part here.
><xsl:template match="entry" >
><xsl:variable name="entry" >
><xsl:number level="multiple" format="1" count="entry" />
></xsl:variable>
The above is very wasteful because there is no need to walk away from
the <entry> and go back to it.
><fo:table-cell padding-before= "2pt" padding-after= "2pt">
><!-- ROWSEP rules -->
><xsl:choose>
><xsl:when test="ancestor: :tbody/row/ entry[$entry] /@rowsep= '0'">
Why not just use test="@rowsep= '0'" as the test? What you have there
will check the same column of *every* row, not just the row you are in.
And why use <xsl:choose> when you only have one <xsl:when>? That
could be <xsl:if>.
><xsl:attribute name="border- left"><xsl: value-of select="$FrameWidth "/>
>solid black</xsl:attribut e>
><xsl:attribute name="border- right"><xsl: value-of select="$FrameWidth "/>
>solid black</xsl:attribut e>
><xsl:attribute name="border- top">1px solid black</xsl:attribut e>
><xsl:attribute name="border- bottom">0px< /xsl:attribute>
></xsl:when>
></xsl:choose>
><fo:block>< xsl:apply- templates/ ></fo:block>
></fo:table- cell>
></xsl:template>
>
>What I wanted to when I used "ancestor::tbody/ row/entry[ $entry]" was to
>be able to use something like an array to navigate among all the
><entry> elements in a table. But this is not working.
Why all <entry> elements? The above will address only one <entry>
element and it will address the one you are at because of your use of
<xsl:number/ >.
If you want to check that *any* entry element has rowsep, then you use:
<xsl:if test="../entry[ @rowsep=' 0']">
... which will test all of the entry elements in the same row
checking if any of them has a rowsep='0'. But it won't check for
entries in spanned rows.
But I'm not convinced that is what you want. You say you want an
array (which doesn't exist in XSLT), but you don't say why. What is
the problem you are trying to solve?
>I also want to be able to check if it is the first entry
"not(preceding- sibling:: entry)" will check but will not consider any
spanned cells from above rows.
>and if there are @morerows attributes on the <entry>.
"attributes" plural? I'm not sure what you mean. There could only
be one on <entry> and to check that it is there is:
test="@morerows"
>But I am not able to get this first step of @rowsep.
>
>Any help/suggestions?
Can you please repeat your requirement using sentences and examples
that describe the data you want checked and the result you need from
that data? I cannot interpret what problem you are trying to solve.
I hope the notes above help.
. . . . . . . . . . . Ken
--
Upcoming XSLT/XSL-FO, UBL and code list hands-on training classes:
: Sydney, AU 2009-01/02; Brussels, BE 2009-03; Prague, CZ 2009-03
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video sample lesson: http://www.youtube. com/watch? v=PrNjJCh7Ppg
Video course overview: http://www.youtube. com/watch? v=VTiodiij6gE
G. Ken Holman mailto:gkholman@CraneSoftw rights.com
Crane Softwrights Ltd. http://www.CraneSof twrights. com/f/
Male Cancer Awareness Nov'07 http://www.CraneSof twrights. com/f/bc
Legal business disclaimers: http://www.CraneSof twrights. com/legal
[Non-text portions of this message have been removed]
At 2008-12-29 17:07 +0000, mina_hurray wrote:
>I am trying to convert the cals table into FO.
>I am having issues with the @rowsep at an <entry> element. If the
>@rowsep=0, I want that the border-bottom to not be shown. Here is what
>I am attempting to do in the <entry> template: I have just shown the
>@rowsep part here.
><xsl:template match="entry">
><xsl:variable name="entry">
><xsl:number level="multiple" format="1" count="entry"/>
></xsl:variable>
The above is very wasteful because there is no need to walk away from
the <entry> and go back to it.
><fo:table-cell padding-before="2pt" padding-after="2pt">
><!-- ROWSEP rules -->
><xsl:choose>
><xsl:when test="ancestor::tbody/row/entry[$entry]/@rowsep='0'">
Why not just use test="@rowsep='0'" as the test? What you have there
will check the same column of *every* row, not just the row you are in.
And why use <xsl:choose> when you only have one <xsl:when>? That
could be <xsl:if>.
><xsl:attribute name="border-left"><xsl:value-of select="$FrameWidth"/>
>solid black</xsl:attribute>
><xsl:attribute name="border-right"><xsl:value-of select="$FrameWidth"/>
>solid black</xsl:attribute>
><xsl:attribute name="border-top">1px solid black</xsl:attribute>
><xsl:attribute name="border-bottom">0px</xsl:attribute>
></xsl:when>
></xsl:choose>
><fo:block><xsl:apply-templates/></fo:block>
></fo:table-cell>
></xsl:template>
>
>What I wanted to when I used "ancestor::tbody/row/entry[$entry]" was to
>be able to use something like an array to navigate among all the
><entry> elements in a table. But this is not working.
Why all <entry> elements? The above will address only one <entry>
element and it will address the one you are at because of your use of
<xsl:number/>.
If you want to check that *any* entry element has rowsep, then you use:
<xsl:if test="../entry[@rowsep='0']">
... which will test all of the entry elements in the same row
checking if any of them has a rowsep='0'. But it won't check for
entries in spanned rows.
But I'm not convinced that is what you want. You say you want an
array (which doesn't exist in XSLT), but you don't say why. What is
the problem you are trying to solve?
>I also want to be able to check if it is the first entry
"not(preceding-sibling::entry)" will check but will not consider any
spanned cells from above rows.
>and if there are @morerows attributes on the <entry>.
"attributes" plural? I'm not sure what you mean. There could only
be one on <entry> and to check that it is there is:
test="@morerows"
>But I am not able to get this first step of @rowsep.
>
>Any help/suggestions?
Can you please repeat your requirement using sentences and examples
that describe the data you want checked and the result you need from
that data? I cannot interpret what problem you are trying to solve.
I hope the notes above help.
. . . . . . . . . . . Ken
--
Upcoming XSLT/XSL-FO, UBL and code list hands-on training classes:
: Sydney, AU 2009-01/02; Brussels, BE 2009-03; Prague, CZ 2009-03
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video sample lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg
Video course overview: http://www.youtube.com/watch?v=VTiodiij6gE
G. Ken Holman mailto:gkholman@...
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/f/
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/f/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Hi:
I am trying to convert the cals table into FO.
I am having issues with the @rowsep at an <entry> element. If the
@rowsep=0, I want that the border-bottom to not be shown. Here is what
I am attempting to do in the <entry> template: I have just shown the
@rowsep part here.
<xsl:template match="entry">
<xsl:variable name="entry">
<xsl:number level="multiple" format="1" count="entry"/>
</xsl:variable>
<fo:table-cell padding-before="2pt" padding-after="2pt">
<!-- ROWSEP rules -->
<xsl:choose>
<xsl:when test="ancestor::tbody/row/entry[$entry]/@rowsep='0'">
<xsl:attribute name="border-left"><xsl:value-of select="$FrameWidth"/>
solid black</xsl:attribute>
<xsl:attribute name="border-right"><xsl:value-of select="$FrameWidth"/>
solid black</xsl:attribute>
<xsl:attribute name="border-top">1px solid black</xsl:attribute>
<xsl:attribute name="border-bottom">0px</xsl:attribute>
</xsl:when>
</xsl:choose>
<fo:block><xsl:apply-templates/></fo:block>
</fo:table-cell>
</xsl:template>
What I wanted to when I used "ancestor::tbody/row/entry[$entry]" was to
be able to use something like an array to navigate among all the
<entry> elements in a table. But this is not working.
I also want to be able to check if it is the first entry and if there
are @morerows attributes on the <entry>. But I am not able to get this
first step of @rowsep.
Any help/suggestions?
Thanks in advance.
Crane Softwrights Ltd. is proud to announce the availability of over
24 hours of interactive instructional audio/video covering every
element, every attribute and every function of both XSLT and XPath,
both versions 1.0 and 2.0. This captures for use as a self-paced
training tool our five-day hands-on class that we deliver publicly
and privately worldwide.
In a time of tightening training and travel budgets we see this as a
viable and cost-effective alternative to the cost and time taken to
attend our publicly-subscribed or our private on-site training: the
student can take as long or as short as they need to go through the
material on their own schedule.
These English-language lessons are hyperlinked through thematic
modules and lessons down to the individual slide level for all 441
slides. Accompanying PDF handouts and exercises are downloaded from
Crane's web site. To ensure product operation of the audio/visual
Flash lesson files, a test one-minute video can be downloaded from
Crane's web site to exercise the delivery format on any platform
before purchasing the non-refundable product. We have successfully
run these HTML and lesson files on Windows and Mac platforms, as well
as a configuration of Linux with Totem.
For a limited time, worldwide express shipping for the video DVD-ROM
media is included in the price. On-demand fulfillment is shipped
from California within two business days of the order (typically only one).
Licenses are available for private online real-time delivery over an
intranet for staff.
Past students of Crane's instructor-led training will recognize the
presentation format that now includes the audio-visual component in
the top-right corner of the screen of slide content. The links on
the left allow the user to jump to or replay any slide in the lesson.
Please follow the link below to our web site, and click on "Training
videos" in the right margin to download the test video. There are
also links to the online store with pricing information and to
YouTube videos of the introduction/overview of the entire class and a
sample lesson (regarding <xsl:number/>). While the YouTube videos
are not hyperlinked as in the test video and actual lessons, you can
see the progress of the lesson as the entire page is captured on
YouTube. The introduction overviews what is covered in every module
of the class.
. . . . . . . . . . . Ken
cc: XML Dev, Mulberry XSL-List, Schematron, XML-L, Yahoo XSL, XSL-FO
W3C, Antenna House, RenderX, XML-Doc
--
Upcoming XSLT/XSL-FO hands-on courses: Wellington, NZ 2009-01
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
G. Ken Holman mailto:gkholman@...
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/f/
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/f/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Apache FOP (Formatting Objects Processor) is a print formatter driven by
XSL Formatting Objects [1] and an output independent formatter. It is a
Java application that reads a formatting object tree and renders the
resulting pages to a specified output. Output formats currently
supported include PDF, PS, PCL, AFP, Print and TIFF/PNG. Apache FOP is
Open Source software and published under the Apache License v2.0.
It took longer than expected but we're happy to present the final Apache
FOP 0.95 stable release. This is basically a bugfix release to 0.95beta.
The most important changes since the previous stable release (0.94) are:
- many bug fixes and improvements in tables, better support for keeps
and breaks, new features: conditional borders and background on
columns and header/footer/body;
- better image handling thanks to the new image loading framework
provided by the Apache XML Graphics Commons dependency;
- improvements and bugfixes for font handling and font
auto-detection/-registration;
- performance improvements and memory optimizations for the property
handling in the FO tree.
- elimination of a potential multi-threading problem.
- some feature enhancements for RTF output (partial fo:leader support,
fo:page-number-citation)
Please note that support for Java 1.3 has been dropped. Only one type of
binaries is provided now, that will run on 1.4+ JREs.
Other important release notes are available at
http://xmlgraphics.apache.org/fop/0.95/releaseNotes_0.95.html
For a more complete list of changes, please visit
http://xmlgraphics.apache.org/fop/0.95/changes_0.95.html
For download information, see the following page:
http://xmlgraphics.apache.org/fop/download.html
[1] http://www.w3.org/TR/xsl11/
On behalf of the Apache XML Graphics team,
Jeremias Maerki
[Non-text portions of this message have been removed]
Schonberger Andras wrote:
> Apologies if my question is naive. Can I call the methods of FOP's SAX
> handler directly ?
You can call the handler directly. In fact in many cases it is
better than building an XML string and feed it through a parser.
It is, however, more common to build a DOM using a simple XML
vocabulary (rather than XSLFO) and pass it to an XSL transformation
which generates the XSLFO. Feeding a XSL Transforamtion with
SAX events also happens, there are quite a few applications where
some events map smoothly to SAX events, like parsing data files or
feeding database tables into a processing stream. Generating SAX
events for XSLFO directly is more outlandish.
Generating SAX events can be tricky, because you have to guarantee
the proper sequence of events, including startDocument etc. It is
easy to generate some out of sequence events, which will in general
lead to strange effects downstream. Be prepared for some long debug
sessions. The easiest way to debug a SAX event generator is probably
to serialize the event stream as XML document.
J.Pietschmann
Apologies if my question is naive. Can I call the methods of FOP's SAX
handler directly ?
startElement( pass the name of a FOP object here)
characters( ...blah blah... )
endElement( )
I've read the recommended approach is to create an XML first, even if
only in memory. And then feed the XML into the SAX parser of FO.
In my case, this seems superfluous. I have two dozen items of data
which I need to place on a page, in a rather unusual pattern. So, the
main effort is in FO.
In my project, the data does not have a complex hierarchy. But the FO
is likely to be a complex hierarchy. I have to divide the page into
three zones (top, center, bottom). The center zone to be divided into
two halves along a vertical like. The left-center subzone to contain
two rectangles with highlighted borders, and the right-center another
rectagle. Data is to flow within these rectangles. Sounds like madness
(and looks like it too-:) but this is the task at hand.
I feel more comfortable expressing such FO hierarchy from Java. It just
feels pointless for me to build a tree, serialize it into XML, and then
call FO to build its own tree again. I've read the warning about FO
being able to use smaller trees than the whole document, but my case
involves a single page anyway, so there is not much to save.
Would such an approach be workable ?
Regards,
Andrew
C. Myers wrote:
> Can anyone help me why I got error (java.lang.ClassCastException:
> org.apache.fop.layout.hyphenation.HyphenationTree) after upgraded to
> fop 0.94? Thanks.
I'd say there is an old fop hyphenation jar in the classpath. Remove
everything which looks like this or like an old fop.jar. Get a more
recent one from http://offo.sourceforge.net/hyphenation/
J.Pietschmann
Hi,
Can anyone help me why I got error (java.lang.ClassCastException:
org.apache.fop.layout.hyphenation.HyphenationTree) after upgraded to fop 0.94?
Thanks.
I am running FOP that is embedded in the Java application.
[Non-text portions of this message have been removed]
C. Myers wrote:
>
>
> Hi, All
>
> I have java code that refer to Driver class (org.apache.fop.apps.Driver
> driver = new Driver()), it is missing in the new fop.jar I just
> downloaded. Is there any replacement or different way to render PDF in java?
The Driver class is part of the API for FOP 0.20.5. The API was
refactored when FOP was re-written, so 0.9x versions have a different
API. See the following webpage for help on upgrading:
http://xmlgraphics.apache.org/fop/0.95/upgrading.html
Regards,
Chris
Since FopImageFactory is no longer existed in new fop.jar, how can I resetCache
(
org.apache.fop.image.FopImageFactory.resetCache(); // Reset) in Java
application? Thanks.
[Non-text portions of this message have been removed]
Hi, All
I have java code that refer to Driver class (org.apache.fop.apps.Driver driver =
new Driver()), it is missing in the new fop.jar I just downloaded. Is there any
replacement or different way to render PDF in java?
Thanks.
Also, FopImageFactory class is missing, too. Any idea?
Just a quick note that we are looking for expressions of interest in
attending five days of XSLT training and three days of XSL-FO
training from January 26, 2009 through February 4, 2009 in
Wellington, NZ. These are the most in-depth configurations of
Crane's XSL training classes, covering the use of every element,
every attribute and every function of both XSLT/XPath 1.0 and 2.0,
and every formatting object of XSL-FO 1.0 and 1.1 with more detail
and more exercises than other available configurations of our
material. Each class is separately subscribed, with a discount for
attending both.
We cannot commit to this until we get sufficient interest, so we are
making this pre-announcement so that candidate registrants can review
the information now and let us know within the next month if we can
commit to the expensive room reservations and travel arrangements.
Please visit our home page linked below for anticipated costs and
detailed information. Please forward this to any colleagues in the
area who may not be subscribed to this list.
Thanks!
. . . . . . . . . . . . . . Ken
p.s. we are doing this on request and will consider other proposals
for this training around the world; please let us know if you are
interested in having us deliver this hands-on training in your area
of the world
cc: XSL List, Yahoo XSL-FO List, XML Dev, Antenna House List, RenderX
List, UBL Dev
--
Upcoming XSLT/XSL-FO hands-on courses: Wellington, NZ 2009-01
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds: publicly-available developer resources and training
G. Ken Holman mailto:gkholman@...
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/f/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/f/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Dear list subscribers,
RenderX is presenting the first public release of DiType 2.0.
DiType is a Digital Typesetter, it accepts manuscripts in a number of
popular XML vocabularies and turns them into PDF and PostScript
documents. There is a good article about DiType on
http://www.renderx.com/tools/ditype.html, so I will not repeat it here.
This release contains a new approach to multiplexing implemented in the
feature to run more the one lambda process (each containing major part
of the software), preserving single entry point for clients. These
processes may be distributed among several CPUs or CPU cores.
Another improvement is an up-to-date set of free fonts, allowing to get
non-latin inputs formatted without any configuration actions.
As usual, several bugs have been fixed since DiType 2.0 beta release.
A streamlined list of licenses tuned for both not-for-profit and
commercial use is available at
http://services.renderx.com/Content/download/getbuy.cgi.
The next release is planned very interesting: SVG backend, Unicode
annotations in PDF, limiting resource sizes, support for XML Catalogs.
--
Best regards,
Michael Sulyaev, mailto:msulyaev@...http://www.renderx.nethttp://www.renderx.com
RenderX
Xml2PDF Server 2007 v1.2 with the support of Custom XML in Word 2007
source and COM interface is released.
The major new features of Xml2PDF 2007 version 1.2 are:
Custom XML in Word 2007 source support
COM interface
Custom XML markup provides a facility for embedding customer-defined
semantics into the document via the ability to tag the document with
XML elements and attributes specified by any valid XML Schema file.
COM interface allows to use Xml2PDF Server 2007 not only with
Microsoft .NET applications but also within Delphi, Java, VB, C++.
The free Xml2PDF Workstation 2007, and the trial versions of Xml2PDF
Server 2007 and Commander 2007 are available for download at http://
www.alt-soft.com/Downloads.aspx.
Feel free to send your comments to support@....
Altsoft S.A.
http://alt-soft.com/
Just a quick note to announce XSLT and XSL-FO hands-on training in
Austin, Texas at the start of January 2008.
These are the most in-depth configurations of Crane's XSL training
classes, covering the use of every element, every attribute and every
function of both XSLT/XPath 1.0 and 2.0, and every formatting object
of XSL-FO 1.0 and 1.1 with more detail and more exercises than other
available configurations of our material:
XSLT/XPath 1.0 and 2.0 - 5 days - January 7-11, 2008
XSL-FO 1.0 and 1.1 - 3 days - January 14-16, 2008
Details of the syllabi, instructor qualifications, venue,
registration form and cost information are all available from links
on our home page cited in my trailer below. Class size is limited
and there are advance registration cost reductions.
If these do not suit you, we can provide in-house training classes of
various lengths on a number of related topics ... please ask me
*off-list* for any details.
. . . . . . . . . . . . Ken
cc: XML-Dev, XSL List, Yahoo-XSL-FO, W3C-XSL-FO, Antenna House,
RenderX, XML-Doc, XML-L, Schematron-love-in
--
Comprehensive in-depth XSLT2/XSL-FO1.1 classes: Austin TX,Jan-2008
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds: publicly-available developer resources and training
G. Ken Holman mailto:gkholman@...
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/f/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Cancer Awareness Jul'07 http://www.CraneSoftwrights.com/f/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
G. Ken Holman wrote:
> Do you have the opportunity in the process to run "tidy"? This is an
> open tool that converts tag soup into XML, which is then suitable for XSLT:
>
> http://tidy.sourceforge.net/
>
> The only input to XSLT is well-formed XML and this would give it to
> you. HTML of any SGML flavour (messy or not messy) is
> unacceptable. XHTML is acceptable, but then you wouldn't be having
> any problems because it would be well-formed.
Perhaps even easier Ken,
http://ccil.org/~cowan/XML/tagsoup/ links a variant of tidy
into Saxon, so that the html can be processed in Saxon as if
it were well formed xhtml?
Just call up Johns jar instead of saxon.jar and it all
comes out well.
Really nice.
regards
--
Dave Pawson
XSLT, XSL-FO and Docbook FAQ
http://www.dpawson.co.uk
Hi Ken,
Firstly thanks so much for taking the time out to reply to my issue.
>>Fine .... but I'm guessing this process does not mandate
the "proper" use of element start and end tags (nesting, completion,
etc.).
We would be looking at implementing a framework that would
produce "proper" end and start tags. Here is a list of what we are
currently looking at:
MSHTML: http://msdn2.microsoft.com/en-us/library/aa753630.aspx (part
of IE)
TinyMCE: http://tinymce.moxiecode.com/
FCKeditor: http://www.fckeditor.net/
OpenWYSIWYG: http://www.openwebware.com/products/openwysiwyg/
>>Do you have the opportunity in the process to run "tidy"? This is
an open tool that converts tag soup into XML, which is then suitable
for XSLT:
Not unless we can run it in a web application server.
>>The painful alternative is to use XSLT 2.0 (which isn't painful),
read in the HTML fragments as a text string, and to do your own
string analysis in a piecemeal fashion to reconstruct the structure
from the mess of tag soup from the user. Not at all pleasant, but
doable.
This seems to be where all my R&D is pointing me too.
So basically if we can guarantee the use of valid html tags we should
be able to do the conversion between html tags and xml (xsl:fo?)
tags? And if so, where would be my starting point in completing this?
Again with many thanks,
-george
--- In XSL-FO@yahoogroups.com, "G. Ken Holman" <gkholman@...> wrote:
>
> At 2007-10-15 11:09 +0000, astragh wrote:
> >Hi to the forum,
> >
> >We currently use xsl fo for styling our xml.
> >Our application takes user submitted content and adds it to our
> >database where we then extract this content and transform it into
an
> >xml tree. This is then forwarded to our .xsl file and then produces
> >the PDF.
>
> Sounds good so far!
>
> >We would like to allow our application to accept html tags using a
> >wysiwyg module above the textarea where the client can then format
> >their descriptions with various tags i.e. <b>, <i>, <ul> etc.
>
> Fine .... but I'm guessing this process does not mandate
the "proper"
> use of element start and end tags (nesting, completion, etc.).
>
> >This works ok when the user is forwarded to the next JSP page all
> >formatting is saved to the database and displayed correctly,
further
> >calls to display this page gets the information from the database
and
> >again displays all information.
>
> Right ... because HTML browsers are forgiving of discrepancies that
> would otherwise be considered errors in a well-formedness check.
Any
> mess entered by the users is acceptable to the end processing in
the
> browser client.
>
> >The problem is when we request this
> >view in the PDF format XSL can't handle the html tags. Is there a
way
> >that I can make the request to the database during, after or before
> >we process our XML tree and swap out the html tags with xsl? And
> >would this work?
>
> Do you have the opportunity in the process to run "tidy"? This is
an
> open tool that converts tag soup into XML, which is then suitable
for XSLT:
>
> http://tidy.sourceforge.net/
>
> The only input to XSLT is well-formed XML and this would give it to
> you. HTML of any SGML flavour (messy or not messy) is
> unacceptable. XHTML is acceptable, but then you wouldn't be having
> any problems because it would be well-formed.
>
> The painful alternative is to use XSLT 2.0 (which isn't painful),
> read in the HTML fragments as a text string, and to do your own
> string analysis in a piecemeal fashion to reconstruct the structure
> from the mess of tag soup from the user. Not at all pleasant, but
doable.
>
> >Sorry if this is a little brief I have just inherited the project
and
> >only starting to make some ground on the understanding. And I am a
> >total newbie to this :(
>
> Have fun!
>
> . . . . . . . . . . Ken
>
> --
> Comprehensive in-depth XSLT2/XSL-FO1.1 classes: Austin TX,Jan-2008
> World-wide corporate, govt. & user group XML, XSL and UBL training
> RSS feeds: publicly-available developer resources and training
> G. Ken Holman mailto:gkholman@...
> Crane Softwrights Ltd. http://www.CraneSoftwrights.com/f/
> Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
> Male Cancer Awareness Jul'07 http://www.CraneSoftwrights.com/f/bc
> Legal business disclaimers: http://www.CraneSoftwrights.com/legal
>
At 2007-10-15 11:09 +0000, astragh wrote:
>Hi to the forum,
>
>We currently use xsl fo for styling our xml.
>Our application takes user submitted content and adds it to our
>database where we then extract this content and transform it into an
>xml tree. This is then forwarded to our .xsl file and then produces
>the PDF.
Sounds good so far!
>We would like to allow our application to accept html tags using a
>wysiwyg module above the textarea where the client can then format
>their descriptions with various tags i.e. <b>, <i>, <ul> etc.
Fine .... but I'm guessing this process does not mandate the "proper"
use of element start and end tags (nesting, completion, etc.).
>This works ok when the user is forwarded to the next JSP page all
>formatting is saved to the database and displayed correctly, further
>calls to display this page gets the information from the database and
>again displays all information.
Right ... because HTML browsers are forgiving of discrepancies that
would otherwise be considered errors in a well-formedness check. Any
mess entered by the users is acceptable to the end processing in the
browser client.
>The problem is when we request this
>view in the PDF format XSL can't handle the html tags. Is there a way
>that I can make the request to the database during, after or before
>we process our XML tree and swap out the html tags with xsl? And
>would this work?
Do you have the opportunity in the process to run "tidy"? This is an
open tool that converts tag soup into XML, which is then suitable for XSLT:
http://tidy.sourceforge.net/
The only input to XSLT is well-formed XML and this would give it to
you. HTML of any SGML flavour (messy or not messy) is
unacceptable. XHTML is acceptable, but then you wouldn't be having
any problems because it would be well-formed.
The painful alternative is to use XSLT 2.0 (which isn't painful),
read in the HTML fragments as a text string, and to do your own
string analysis in a piecemeal fashion to reconstruct the structure
from the mess of tag soup from the user. Not at all pleasant, but doable.
>Sorry if this is a little brief I have just inherited the project and
>only starting to make some ground on the understanding. And I am a
>total newbie to this :(
Have fun!
. . . . . . . . . . Ken
--
Comprehensive in-depth XSLT2/XSL-FO1.1 classes: Austin TX,Jan-2008
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds: publicly-available developer resources and training
G. Ken Holman mailto:gkholman@...
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/f/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Cancer Awareness Jul'07 http://www.CraneSoftwrights.com/f/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Hi to the forum,
We currently use xsl fo for styling our xml.
Our application takes user submitted content and adds it to our
database where we then extract this content and transform it into an
xml tree. This is then forwarded to our .xsl file and then produces
the PDF.
We would like to allow our application to accept html tags using a
wysiwyg module above the textarea where the client can then format
their descriptions with various tags i.e. <b>, <i>, <ul> etc. This
works ok when the user is forwarded to the next JSP page all
formatting is saved to the database and displayed correctly, further
calls to display this page gets the information from the database and
again displays all information. The problem is when we request this
view in the PDF format XSL can't handle the html tags. Is there a way
that I can make the request to the database during, after or before
we process our XML tree and swap out the html tags with xsl? And
would this work?
Sorry if this is a little brief I have just inherited the project and
only starting to make some ground on the understanding. And I am a
total newbie to this :(
With thanks and kindest regards,
-Gs
Altsoft is proud to announce the release of Xml2PDF Server 2007
version 1.1 and the accompanying family of products. In addition to
new features and enchancements the release includes a new product
Xml2PDF Commander 2007 that provides the command line interface to
Xml2PDF Server 2007.
Altsoft Xml2PDF 2007 is a family of products for automatic conversion
of Microsoft Word 2003-2007, XSL-FO, SVG and XHTML documents into
PDF, XPS, PS and TIFF output. It contains now the free Xml2PDF
Workstation 2007 for desktop use, the commercial Xml2PDF Server 2007
(.NET API), and the new Xml2PDF Commander 2007 for server use via
command line interface.
The major new features of Xml2PDF 2007 version 1.1 are:
- VML line-art support for Microsoft Word 2003-2007
- Generation of PDF output conforming PDF/A or PDF/X specifications
The new Xml2PDF Commander 2007 is distributed as a stand-alone
command-line application or as a free add-on to Xml2PDF Server 2007.
It also provides integration with Gradual SWITCH 07, the document
workflow automation solution. Please, visit Gradual Software web site
at http://www.gradual.com/ to explore new opportunities in
integrating Altsoft Xml2PDF Server 2007 into complex automation
workflows.
The free Xml2PDF Workstation 2007 and the trial versions of Xml2PDF
Server 2007 and Commander 2007 are available for download at
http://www.alt-soft.com/Downloads.aspx .
Please, visit Altsoft web site at http://www.alt-
soft.com/Products.aspx for more information on Xml2PDF family of
products.
Altsoft S.A.
http://alt-soft.com/