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