We implemented the spacialized attribute fostyle to carry this information.
Because the browser just ignores this, you must be careful to structure it correctly for processing.
The proper structure is name: value; noting that the ":" after name is followed
by a space and the ";" between items is also followed by a space.
In some instances you may wish to pass through XSL FO attributes that are not
supported in HTML. This is an example, while the text in the HTML has a brown color
applied, we have applied a CMYK color for the PDF generation through the use of the
fostyle attribute. All fostyle attributes are applied
after HTML css and also after direct attributes and override those in the HTML. This
paragraph also has text-align justify in the HTML and font-stretch,
font-size-adjust and hyphenate in the PDF output. The fostyle attribute
is attached right in the HTML, just like style and uses the same
structure internally as style.
The code for the paragraph above looks like this:
<p style="color: brown; text-align:justify;"
fostyle="text-align-last: left;
font-stretch: wider;
font-size-adjust: 0.6;
hyphenate: true;
color: rgb-icc (255, 255, 0, #CMYK, .1, .2, .7, .5);">In some instances ...
Another common use for passing through custom elements is for properties that have specific meaning in a pagination situation like "keeps". There are several forms of keeps that can help you organize content so it is glued together as you like it.
The following are the most commonly used keeps:
keep-together.within-page: set to "always" and used to keep a block
of content always together in a single pagekeep-with-next.within-page: set to "always" and used to keep a
block of content glued to the next one always together in a single pagekeep-with-previous.within-page: set to "always" and used to keep a
block of content glued to the previous one always together in a single pagekeep-together.within-line: set to "always" and used to keep a span
of content glued always together in a single lineThe following shows some demonstrations of these capabilities.
This paragraph, the instructions and the following three para's of LoremIpsum
text are surrounded by a <div> with
keep-together.within-page as always, like
this:
<div fostyle="keep-together.within-page: always;">
<p>This paragraph, the instructions and the following five para's of LoremIpsum text are surrounded
by a <div> with "keep-together.within-page" as "always", like this:</p>...Aliquyam takimata rebum erat no exerci dolor et. Diam luptatum hendrerit invidunt. Eos exerci magna zzril sed nonumy sadipscing et velit sed autem consectetuer eos justo. Sed iriure ipsum no minim. Nulla erat sit tempor ullamcorper velit dolor lorem assum dolor lorem et euismod dolores.
Wisi sadipscing facilisi ut gubergren justo et consectetuer duis esse consequat diam consetetur eu. Elit odio sed labore gubergren ut sed labore dolore. Amet invidunt consetetur dolores qui wisi dolor dolor nonumy magna. Tempor sed assum facer ullamcorper vel at accusam eirmod sanctus dolor et dolor luptatum erat sit labore. Sadipscing diam no sea augue. Et diam ea elitr justo delenit stet nonumy consequat stet. Ipsum accusam tincidunt gubergren dolor tempor stet iriure dolor velit ipsum minim. Sed magna blandit ipsum autem diam aliquyam sit euismod. Et facilisis gubergren dolore sit ut tempor et et labore lorem dolore stet euismod amet diam lorem sit dolore. Nonumy lorem magna consectetuer dolor eirmod sit eos clita vero et dolores ex stet et et aliquip liber clita. Ut labore consetetur vel magna no duo sed ipsum suscipit diam sit elit.
Diam dolore illum aliquyam stet sanctus dolore nulla aliquyam consectetuer justo dolor wisi tempor sed est stet et. Vero est voluptua consequat dolor at accusam duo ut takimata sit et vel et consetetur commodo dolores ut. Adipiscing no lorem voluptua dolor sit kasd eum labore in at. Amet et et clita rebum sed lorem praesent et sed vel illum dignissim consequat ex ipsum rebum. Ipsum kasd justo tempor praesent lorem et augue clita tempor accumsan dolor invidunt kasd. Facilisi dolore et kasd et et. Duo diam sanctus nulla dolore placerat sanctus et kasd no sit.
Rebum zzril dolore gubergren et sed dolores duis. Sea iusto sanctus eirmod erat erat sit vulputate sadipscing elitr. Lorem sadipscing et eu at labore ipsum takimata erat voluptua consequat wisi diam dolor amet sed erat dolore ipsum. Consetetur vulputate takimata feugiat aliquip molestie dolores et diam eos vero duis no magna justo. Luptatum sed elitr sed dolore sed justo tempor sadipscing takimata.
Laoreet tempor ipsum tempor nonumy. Labore suscipit et. Amet vero amet feugiat aliquyam ad dolor et. Erat duo sea sadipscing feugait nostrud erat sit vel et dolor ut. Nulla vel erat nonumy et eirmod gubergren magna autem duis consectetuer sadipscing augue. Sed et ipsum eirmod soluta gubergren wisi et lobortis sit minim ipsum sit te ut et dolor. Et est sed accumsan amet sed autem eu takimata et illum lorem iusto ex amet eos eirmod liber. Et ut at eros vulputate invidunt kasd duis erat elitr amet sanctus amet gubergren blandit. Sea et dolor dolores ut eos et ipsum voluptua accusam et sed. Feugait facilisi lobortis sit amet accusam dolore imperdiet erat takimata ipsum diam duis tempor invidunt takimata et dolore vero. Gubergren eirmod sit magna sit rebum feugiat lorem facer duo eirmod luptatum sit consequat nisl vel veniam.
Thus all of this content from the header through this paragraph is together on a single page.
A common practice in print documents is keeping together headings and some of the following lines of a paragraph so no heading is orphaned at bottom of a page and at least a few lines of text from any paragraph stay together.
What follows this are a series of headings and LoremIpsum paragraphs. The headings all have "keep-with-next.within-page" as "always" which will at least glue them to the paragraph. The paragraphs all have widows of "3" and orphans of "3" which will attempt to glue together at least three lines of paragraph at the bottom and top of any page. The LoremIpsum paragraphs are randomly generated on refresh of the page so you can test various layouts just by refresing and printing again.
Diam amet sadipscing facilisis enim autem nihil nibh justo veniam duis sanctus nonumy veniam sed ipsum. Sanctus tempor lorem dolore kasd ea takimata iriure assum tempor. Aliquyam sit magna ea. Kasd lorem et dolores elitr est esse diam dolor ullamcorper blandit consetetur clita lorem diam. Dolore dolor amet vero lorem nonumy vel labore invidunt labore voluptua duis exerci eleifend qui sed dolore suscipit sed. Accusam invidunt rebum. Dolore no stet dolor labore clita sit nonumy dolor voluptua enim lorem consetetur. Erat et diam. Aliquyam sea eu diam consequat dolor sanctus vero clita ipsum est amet diam. Dolore vel elitr sed sed gubergren sit eos commodo liber.
Dolore option ipsum elitr sed sanctus. Cum facilisi vulputate nonumy sanctus magna clita sit at sit congue sit zzril invidunt vero lorem duo ipsum ut. Aliquyam invidunt diam takimata vero clita duis justo at. Accusam sadipscing dolores dolore lobortis dolor sadipscing liber aliquip dolor lorem ea. Eos lorem et et stet sea amet stet sadipscing te.
Duo esse et et gubergren wisi elitr hendrerit amet aliquyam aliquyam duo labore sit est kasd stet clita tempor. Ea elitr gubergren sit ipsum sed autem kasd aliquyam ad nostrud amet in. Diam invidunt kasd possim vel ipsum eos id congue dolor autem ipsum et feugiat dolore blandit. Ea et nulla nonumy no justo no stet kasd ut magna consetetur ipsum dolor sanctus vel et ea justo. Elitr dolores suscipit consetetur hendrerit rebum ut est lorem consetetur dolor nulla minim. Stet eros rebum nonumy diam labore nulla diam.
Sadipscing dolores ut sadipscing sed feugiat duis praesent ea dolores in dolor ipsum labore. Dolor quis no ipsum labore illum dolor feugiat ad aliquam aliquyam. Et tempor volutpat erat ea magna erat duo est sed et stet hendrerit kasd. Est diam eirmod et augue aliquyam dolor aliquyam assum nonumy. Diam vero qui cum soluta possim kasd lorem at elit dolore autem diam elitr amet dolores rebum. Dolores sit sea sanctus dolores dolor possim in odio esse amet no takimata dolore kasd consequat duis sit luptatum. Eum in dolor at lorem et eos imperdiet kasd. At stet sea kasd et sadipscing est ut. Ut rebum vero et autem et consequat vero amet dolores elitr eum. Justo dolor quod et consetetur velit velit amet dolore sadipscing dolore stet iusto invidunt est nonumy gubergren.
Stet sea consectetuer nam wisi sea euismod exerci est minim vero erat justo. Zzril ad augue dolore delenit blandit duo dolores kasd dolor accusam elitr et esse ea diam. Diam sit et facilisis et tempor eos vero enim justo sed dolore commodo in rebum rebum clita sed. Gubergren elitr ea dolor adipiscing. Consetetur elitr ipsum vero eirmod dolor sadipscing id dignissim labore labore consetetur. Dolore eros sed kasd sit delenit diam invidunt duo. Diam sed sea feugiat placerat duo ipsum quod voluptua sed ea at amet ut kasd elit dolores ut tempor. Est minim dignissim sea. Kasd justo eleifend duo nonumy in aliquyam diam nonumy et amet aliquyam.
Diam erat suscipit hendrerit ea at ut eum vel sit ut. Sanctus dolore diam feugiat nulla dolor amet duo sed. Dolore voluptua invidunt liber justo sed takimata no et amet clita et eu sed feugiat eirmod. Praesent at magna ut lorem labore. Consequat ipsum stet at iusto sea no tempor amet amet dolor consectetuer vero. Nisl tempor nonumy amet rebum ut volutpat vulputate dolor adipiscing ut ut amet. Facilisi velit rebum dolores elitr kasd justo ut sit molestie molestie sea invidunt vero nonumy dolores aliquyam. Amet consetetur sit dolor adipiscing eos sed lorem lorem amet aliquyam velit eos tempor diam dolor ipsum suscipit. Aliquyam in rebum no sit accumsan ut takimata est lorem dolore aliquip esse sit invidunt tempor et. Dolores sadipscing diam at sadipscing aliquyam eos takimata lobortis sea nobis amet nonumy doming ea et ex eros justo.
Eu sea et et et amet minim consetetur et tempor lorem rebum no eos rebum sed est consequat. Esse eros dolor dolor sed ex gubergren amet lorem magna ut feugiat dolores at sadipscing duo ut vero sanctus. Consetetur dolore rebum ut sed commodo molestie. Ipsum vero rebum doming. Consetetur erat ipsum minim iriure at sit eos amet nostrud autem ipsum ut magna hendrerit et stet.
Duis praesent zzril sanctus aliquyam duo et. Dolore erat ut vel ipsum at lorem eos eos ullamcorper. Vero et sanctus diam commodo dolores luptatum magna. Volutpat aliquyam ea duo et doming kasd sit stet minim eos vel. Ut ipsum consetetur no duo iriure erat clita. Labore at amet molestie ipsum dolor sit invidunt eirmod quis invidunt suscipit eirmod dolor ea qui rebum. Ipsum dolor erat nonumy consectetuer diam et ipsum consequat sit assum dolore. Dolore et minim nonumy sea diam ut sadipscing dolores amet diam et sed vero lorem dolor aliquip erat. Est accusam ex no clita tincidunt velit et tempor accusam no amet diam iusto. Qui assum consetetur dolor diam elit ullamcorper dolore erat ipsum. Est elitr dolor dolores labore lorem sit aliquyam facilisis labore ut euismod zzril est qui dolores.
No illum ad amet dignissim elitr eu ipsum gubergren nonumy sed ut eos justo nam at magna et sea. Et esse congue ut elitr dolore duis gubergren nibh amet nonumy nostrud consequat voluptua justo justo magna dolore erat. Sanctus magna amet magna invidunt stet kasd consequat et accusam lorem eirmod gubergren ut volutpat lorem. Clita te aliquyam voluptua qui elitr elitr amet amet et vel aliquyam in est labore euismod. Sed hendrerit minim duo dolores erat facilisis et. Nulla dolores dolor ex aliquyam tincidunt justo.
Eros in sed molestie lobortis ipsum dolore invidunt. Rebum consequat ea et invidunt quod sanctus eirmod dolore hendrerit lorem amet aliquyam dolores consetetur dolor. Vero lorem enim invidunt elitr clita facer sanctus. Tempor no gubergren magna feugait justo rebum enim option. Et elitr dolore facilisis eos tincidunt elitr sed amet eu kasd at cum.