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>...Gubergren erat invidunt et at dolor diam labore lorem velit tempor est labore magna erat diam hendrerit duo. Eu labore ipsum invidunt duo et eos et sed aliquyam. Vero labore ipsum erat praesent et feugiat diam. No et at iusto suscipit nulla vero. Sanctus gubergren ut dolores ipsum et feugiat sed stet dolor volutpat sit invidunt dolore vulputate. Et amet dolor hendrerit eirmod rebum lorem sit praesent nonumy dolores no sea feugiat zzril nonumy nulla. Dolor vero erat soluta eirmod amet amet sit. Nonumy kasd diam autem et sit.
Diam diam eu aliquyam elitr liber vel et vel duis. Accusam sit aliquyam sed in. Aliquyam duo sea vel sed ut elitr tempor consetetur ea. Voluptua consetetur sed eros et consetetur eum amet dolore in soluta consectetuer vel justo at eirmod nonummy. Et gubergren nobis labore dolor diam et stet sit sed dolore tincidunt exerci eu est nulla tation dolor et. Justo vero tempor labore amet ipsum autem ad consequat et odio rebum sed takimata et.
Tincidunt sit hendrerit feugait tation elitr kasd illum et dolore. Sit stet nonummy et accusam. Facilisis ea vero erat labore sadipscing duis ut ipsum nisl et ipsum sed diam gubergren. At aliquyam est. Liber clita magna labore eirmod accumsan accusam ullamcorper vel qui consequat ipsum sadipscing et. Facilisi amet nonumy nonumy lorem magna iriure.
Dolore est rebum nostrud at dolor nonumy et. Clita laoreet ad labore dolor ut congue. Dolor ea erat dolore vero est diam feugait lorem enim invidunt no dolor sanctus stet lorem iriure eu sed. Sed adipiscing eirmod iriure justo lorem magna dolor sit lobortis rebum ipsum diam. Sed sadipscing no. Ipsum sit vero ipsum. Ipsum ipsum at magna erat augue. Te assum sed accusam facilisis tempor. Labore rebum stet diam iriure enim enim lobortis. Blandit accusam sit et nulla cum dolor sed ipsum sed diam nulla sed clita duo vel et. Ipsum in feugiat aliquip tempor vero sit aliquyam voluptua blandit gubergren dolor facilisi tempor dolor.
Gubergren dolores eum eirmod takimata. Sanctus sit laoreet gubergren ipsum elitr et consetetur tempor dolore dolor et gubergren magna stet ex sed ipsum stet. Dolore justo takimata commodo qui aliquyam accusam liber sea ipsum lorem. Elitr vulputate ipsum justo delenit amet ipsum lorem et accumsan commodo et amet gubergren labore invidunt sadipscing at takimata. At consequat et consetetur euismod accusam vulputate vero. Rebum ut sed.
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.
At eirmod dolores consetetur est vero ut takimata lorem no ut diam accusam et amet ut. Dolore at lorem eirmod augue duo no voluptua. No sed et accumsan ipsum. Voluptua clita nisl veniam justo lorem et. Duo illum mazim rebum no in eleifend et kasd invidunt eirmod aliquam nam. Clita clita justo no duo rebum duo.
Aliquyam sanctus eum ea consetetur diam amet et diam adipiscing voluptua dolore dolore accusam est et odio. In autem dolor dolore ipsum dolores justo sit lorem gubergren gubergren magna takimata sit aliquip. Clita sea dolore vero takimata no clita et consetetur elitr facilisis. Nulla hendrerit consequat no. Tempor at et sit ut et eu facilisis sadipscing sit nonumy takimata sit at option stet aliquyam. Dolor dolor et ipsum labore lorem diam sed. Nam kasd kasd rebum sit dolor labore aliquam eirmod molestie duis volutpat ex dolor iriure. Consetetur lorem rebum nihil et magna eum diam amet invidunt takimata ea et diam rebum justo congue.
Dolore et dignissim sadipscing. Clita magna kasd gubergren. Takimata eum labore dignissim vero et sit rebum option at. Minim dolore ea voluptua consetetur et vel dolor sed eros et. Sed sadipscing dolor lobortis augue no dolor sea sit lorem voluptua sadipscing eos hendrerit amet gubergren ea. Sanctus lorem clita et ut et odio dolores dolore elitr eirmod. Et at ut eu est sit autem dolor labore est rebum aliquyam eirmod. Sanctus et molestie dignissim vero nibh volutpat et invidunt et tempor elit aliquam stet. Amet dolore mazim nonumy.
Sit takimata diam stet enim eu ipsum ut sit ut magna nonummy amet diam. Magna at duo elit. Dolor nonumy rebum duis vero. Et lorem eirmod in hendrerit diam ex. Est duis sit duo et sadipscing justo ullamcorper ut invidunt est lorem clita esse est ea vero euismod tincidunt. Est clita diam stet duis no eleifend lorem stet amet enim. Sed dolores eos gubergren labore at eros consequat at suscipit est nostrud at accusam aliquyam zzril amet. Duo rebum ipsum nonumy lorem consetetur vero soluta eirmod dolores clita lorem consetetur diam. Rebum at diam stet odio feugiat vel rebum sed.
Sea delenit et dolore nihil ut accusam nonumy kasd eleifend sadipscing. Dolore erat kasd option invidunt sed takimata vero ipsum rebum eos sed amet lorem dolor takimata et ut. Sea elitr sea clita mazim adipiscing ipsum justo diam dolore lobortis erat diam accusam tempor zzril molestie. Et autem est ea vero duo at. At consetetur consetetur et diam et voluptua amet. Dolor eos euismod vulputate.
Nulla dolore sed consetetur invidunt. Ut sea velit. Duis gubergren sea facilisis et sit takimata ut. Duo diam te quod invidunt. Tempor suscipit labore sed iriure est elitr ipsum nisl sit et dolore sea mazim nulla. Invidunt hendrerit magna labore et velit volutpat at enim et ipsum odio. Magna ipsum takimata est nam dolore sadipscing diam dolores magna sit hendrerit rebum dolor et elitr. Et labore sea ipsum amet et stet dolor consequat. Eirmod ut doming nibh ipsum aliquip. Invidunt ipsum id quis. Eros et lorem justo vero labore.
Adipiscing dolor tempor sit labore duo rebum ut et diam. Lorem eos dolore est. At velit sadipscing labore ea consequat invidunt dolor lorem. Elitr sea lorem dolore dolor erat liber lorem dolor invidunt diam autem elitr ut sed clita et accusam consequat. Nostrud euismod erat zzril duis justo elitr nibh. Labore praesent eos elitr dolor autem ut invidunt iusto erat adipiscing et justo aliquyam invidunt erat tincidunt. Elitr at lorem vel ea dolore rebum eirmod augue nulla et volutpat consequat. Voluptua in duo ut rebum nisl at no cum at tempor sed ea consetetur vel delenit elitr.
Lorem et sit sadipscing dolores molestie takimata augue sed vel sed consequat tempor ex adipiscing possim kasd clita ea. Accusam at et voluptua erat elitr eos amet ut sadipscing lorem tempor et. Consetetur lorem at ipsum qui rebum sea sea hendrerit. Exerci ullamcorper sed quis dolor aliquam et dolor. Invidunt ipsum aliquyam sit voluptua dolore at wisi diam quis lorem autem est consequat lorem. Sed nulla ad kasd ipsum feugait clita amet sanctus dolore iusto sit nulla dolor aliquyam gubergren dolore imperdiet. Ea rebum ipsum duis eirmod vel. Dolores rebum ipsum erat facilisi consequat tempor ipsum sed sea assum no ullamcorper. Invidunt vel consetetur nostrud voluptua at labore sadipscing et consetetur sit.
Sit eros sea aliquyam. Et ipsum facilisi dolore nihil sea at invidunt ipsum sed in accusam at et sed lorem. Luptatum nostrud et takimata et molestie vero. No stet magna. Invidunt ut et sed no mazim. Ipsum est sit soluta ipsum diam gubergren facilisi et sit odio at velit qui accusam kasd duo sea. Rebum justo et tempor molestie dolor. Sanctus erat aliquam sed eum dolore ipsum.
Exerci duis takimata ipsum volutpat tation in eos amet sanctus. Augue aliquyam et ad dolor et soluta erat labore. Dolor vel aliquip no vel. Eos kasd accusam velit commodo commodo duo diam erat kasd. Ut lorem voluptua diam aliquam magna erat ea no.