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