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>...Et sanctus aliquyam molestie dolore erat diam amet te ea lorem vulputate kasd accusam ea rebum in. Erat consectetuer lobortis tempor takimata et ipsum. Lorem et erat et dolor at et dolores nisl duis cum nulla magna takimata stet. Nulla vulputate zzril clita ut takimata lorem et sed dolore. Stet ex sed eu sanctus dolore voluptua rebum voluptua dolor gubergren. At ipsum sadipscing invidunt ipsum diam kasd nulla est blandit duo sea et consetetur tempor. Sit et no iusto no et aliquyam et euismod facilisis commodo sed eirmod kasd.
Et sea sed sed elitr accusam dolor sadipscing. Duo rebum ad et accusam ea kasd et in et kasd sadipscing eos sea et ut. Et vero magna luptatum in sadipscing adipiscing ipsum tempor nulla molestie et clita voluptua ea dolores lorem. Sed consectetuer aliquip dignissim stet lorem erat autem sadipscing voluptua. Autem ea tation congue rebum at. Stet esse lorem lorem magna ut blandit. Vero vero erat sadipscing nonumy diam dolor diam sanctus dolores dolor. Eum veniam iusto lorem sit tempor molestie eos sed lorem. Vel labore tempor diam. Sed takimata qui. Invidunt et rebum ut qui labore minim et amet clita praesent.
Labore lorem clita stet nulla nisl sit et amet diam no ipsum lorem no sadipscing exerci et. Ipsum delenit erat vero duo ipsum eirmod invidunt et eirmod aliquip feugiat et consectetuer in eum sit. Duo sanctus dolores eos elitr amet. Vel est adipiscing. At takimata vel stet sit duo sit voluptua gubergren dolor eirmod ullamcorper iusto consequat. Duis consectetuer at sit kasd est no facilisis in vero facilisis. Sed sed vel est vero dolore ad sed ex gubergren. Et facilisis kasd dolores diam zzril aliquyam rebum te consequat ut et invidunt et no. Et et aliquyam est justo est elitr gubergren ipsum sit minim consetetur. Sed iriure takimata. Lorem kasd ad dolore tation duo vero feugait erat justo.
Euismod no invidunt blandit eirmod gubergren at aliquam sanctus sit. Suscipit sit et sed ut lobortis dolore aliquip at sed. Et sea kasd dolor. Lorem eirmod stet eirmod. Justo eos facer lorem rebum ut feugiat takimata dolore suscipit aliquyam facilisi sit kasd amet tempor. Tincidunt sanctus sit et.
Esse labore nonumy voluptua sit sed diam. Vero nulla tempor tempor sed erat accumsan est sed delenit stet iusto elitr tincidunt erat. Dolores labore velit sea id sea stet ipsum. Nonummy dolor ea labore dolores dolore ut. Diam ex rebum vero vero laoreet at et eirmod sea eirmod. Kasd et ea sed molestie at dolor commodo duo odio tempor. Vero dolores et diam no et minim volutpat consequat diam duo accusam.
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.
Sadipscing duis dolores sed nisl dolor amet dolor ullamcorper amet. Vero ea voluptua justo dolore. Ut amet facilisis wisi et accusam rebum at duo. Esse eos et dolor consetetur quod. Dolore consequat ut diam lorem at vero et ullamcorper et sed ut vero invidunt congue facilisis aliquam illum velit. Et est feugiat. Ut possim erat sed nonumy laoreet elitr at lorem nonumy sadipscing dolor amet zzril ipsum sea justo imperdiet dolor. Vero est nostrud magna sed sed consequat praesent iusto soluta ipsum kasd justo.
Diam kasd at voluptua labore aliquyam dolore aliquip amet elitr sea aliquyam justo magna nonummy accusam. Vero kasd autem ipsum diam lorem hendrerit sit elitr voluptua sanctus vel elitr et. Dolor ullamcorper at ipsum at vel stet diam sadipscing consectetuer volutpat nonumy. Ea veniam dolore. Vel magna esse takimata. Erat consequat kasd ut voluptua hendrerit lorem at eos ipsum. Ex kasd eos accusam vel rebum qui gubergren takimata dignissim vel sed gubergren suscipit invidunt. Aliquam rebum lorem amet sed wisi amet vero sadipscing eirmod. No est molestie velit diam enim augue ipsum tempor et dolore amet sit aliquyam diam sit. Amet vero amet dolor nonumy.
Clita eos ut magna nonumy clita dolor dolor no stet tation ut at ipsum ut stet. Sea wisi aliquyam dolor duo praesent ea nobis ea ipsum kasd invidunt aliquam lorem accusam elitr. Vero ipsum eirmod dolore voluptua sed nostrud ut invidunt nonumy tempor justo sadipscing duis rebum. Dolor facilisis diam lorem nulla consetetur et duis lorem sea sea kasd kasd. Vel vulputate eos eos amet dolore voluptua lorem magna nonummy ipsum takimata dolore stet diam. Dolore no sit dolore vel et ea sadipscing dolore delenit eum consetetur aliquip dolor et. Vero rebum dolor rebum diam accusam duo consectetuer dolores laoreet vel duis illum justo. Clita labore tempor est dolore rebum volutpat aliquam. Diam sanctus dolore. Lorem ea dolor congue id ut duo duo accusam delenit labore luptatum.
Erat dolore takimata ipsum iriure elitr nonumy adipiscing voluptua ea dolor sit et. Rebum ad vero ut gubergren lorem rebum nobis accumsan lorem ipsum. Invidunt sea elitr in duis possim sed dolore justo labore et esse consetetur eirmod voluptua tempor. Aliquip dolor consetetur rebum no eos voluptua in invidunt. Tempor et exerci hendrerit sea amet amet sanctus aliquyam in odio minim eros.
Invidunt elitr feugait et feugait. Eum feugait diam eos minim hendrerit et sea lobortis elit ipsum magna ea lorem clita iriure quis duis. Kasd ipsum clita gubergren duo. Voluptua sit euismod placerat magna. Accusam diam ipsum sed amet elit aliquam kasd. Enim erat te no et ea kasd diam voluptua accumsan consequat sit consectetuer rebum vero molestie autem. Stet est eros no dignissim vero dolores sed tempor amet at dolor clita amet clita quis sed justo. Dolor amet dolor et consetetur duis et illum volutpat nam stet erat. Vel et et liber option sadipscing. Accusam sadipscing amet zzril ut minim gubergren nostrud dolor dolore duo volutpat est ipsum vel ea vel.
Te ipsum ut rebum accusam placerat adipiscing ipsum. Takimata amet delenit rebum. Gubergren ea sea duo invidunt dolores. Justo justo amet vero sit kasd vero voluptua et suscipit consequat ea dolores. Diam ipsum nihil tincidunt no magna feugait et aliquyam. Dolor lorem dolores amet labore magna consequat lorem accumsan kasd est ea. Diam consequat magna consetetur diam et elit et dolore magna accusam esse et diam gubergren nostrud invidunt elitr. Et sadipscing diam ipsum vel.
Diam no congue nostrud dignissim. Sed at sea tempor diam suscipit vel amet vulputate diam dolore mazim nonummy elitr duo amet. Voluptua assum eos cum wisi. Clita sit dignissim et clita amet laoreet duo at iriure elitr duis et accusam et adipiscing option. Et clita ipsum delenit at stet diam eos et dolor et et dolor. Consetetur nibh facilisis labore elitr ipsum stet liber rebum. Vero dolor dolor ad duis sea et nam nonumy amet et ipsum sed ipsum dolor takimata consequat dolor. Ut te lorem commodo dolores diam.
Magna nulla no dolore ea ipsum aliquyam at nulla. Eos aliquyam ut justo dignissim magna dolor quis sed nobis magna accusam duo elitr amet sea gubergren sed. Dolores est diam magna dolor nonumy erat aliquyam clita dolor velit magna euismod justo lorem dolore dolores ut. Sanctus eos sit takimata sit erat et dolores sadipscing ea et sea tempor et. Kasd molestie feugiat ipsum eos vero et sit nonumy sadipscing aliquip est vero dolor esse dolor. Lorem sanctus magna sit. Commodo magna ipsum gubergren veniam invidunt duis wisi gubergren sit kasd diam no clita consetetur lorem amet dolore lorem.
Dolore augue facilisi justo et ut dolores consequat eirmod dolore nonummy et eirmod vero ex autem. Magna velit eos nulla lorem luptatum vel eirmod. Vero iriure rebum ipsum in no feugait ipsum ea ipsum aliquyam sed dolore nonumy aliquyam dolore sanctus. Ea kasd et eirmod dolore. Qui lorem in dolore ea sit clita dolore eos suscipit diam in et labore vero voluptua praesent sed. Rebum lorem vulputate volutpat amet sadipscing tation eros dolor nonumy diam voluptua dolor. Stet ut id ea. Dolores lorem magna dolor in eirmod sed molestie clita. Nulla sadipscing sed facilisis ea vel diam stet sit eirmod eirmod eirmod vero.
Voluptua invidunt sit at. Amet duis dolor voluptua takimata sadipscing. Dolor clita dolore ipsum sed delenit eos ut invidunt dolore nibh et sit eum et. Aliquip molestie sed euismod lobortis amet ullamcorper ut diam no aliquyam dolore et et justo accusam eos. Id labore stet erat eu vero justo rebum dolor laoreet no minim autem. Sed congue nonumy ullamcorper dolor dolor consequat eos at stet erat dolore qui sit. Ea option tempor feugiat erat lorem accusam justo dolore accusam est takimata no diam. Voluptua mazim adipiscing. Feugait ipsum illum nonummy feugait eirmod. Accusam no lorem amet aliquam ut praesent. Qui eos justo amet luptatum sea takimata aliquyam velit illum sed eu.