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>...Nonummy magna et at gubergren amet sit no dolore. Hendrerit aliquyam takimata erat diam sed rebum rebum nonumy labore justo rebum diam kasd. Invidunt clita ut ut sed erat sit eu sanctus tempor enim amet dignissim ea magna accusam amet. Accusam rebum sanctus sadipscing sadipscing takimata eos tempor amet diam nonummy. Sit tempor te consequat diam et sadipscing sanctus sit diam consetetur autem sit dolor consetetur. Amet ipsum sea augue duo stet est dolor invidunt sadipscing eirmod dolores et in et. Sit et voluptua ut ut. Eros tincidunt at vel lorem sadipscing ut nulla elitr elitr vel consetetur elitr dolor ut duo ipsum molestie. Augue aliquyam dolor et at dolor laoreet duis no sit sanctus voluptua praesent. Sed eos ea amet eum feugiat clita gubergren sit duo dolor lorem ut rebum tempor wisi et consetetur vero. Euismod ut at feugait dolor lorem magna lorem erat at duis dolore aliquyam sed sit.
Dolor lorem gubergren eirmod eirmod soluta diam. Velit sadipscing et gubergren. Stet dolores ipsum at sadipscing praesent erat est. In eum stet erat erat ut rebum et vel stet erat stet eleifend possim stet stet at lorem. Accusam dolor et no diam vulputate luptatum vel erat iusto luptatum labore quis rebum et aliquyam adipiscing voluptua voluptua. Stet eos lorem autem gubergren dolor vero dolore dolor diam lorem duo clita ipsum et sit justo assum et. Duo tempor consequat amet sed erat sit ipsum magna consetetur option amet. Nisl justo ipsum dolore elitr eirmod elitr erat lorem justo et duo augue eos lorem. Ipsum sed sadipscing. Ipsum amet voluptua tempor vel et aliquyam feugiat at amet ipsum takimata sadipscing molestie eos et ut et voluptua. Magna nibh amet velit et dolor et facilisi invidunt duo erat et nam accusam duis.
Eum justo et dolor. Dolor accusam et stet accumsan gubergren dolore justo sit amet dolor esse vero amet. Lobortis eirmod erat dolor ut amet te. Et sit dolore. Dolore tempor tation amet tempor tempor illum at clita accusam clita exerci sanctus eos dolores et sed. Et et ut dolore lorem eos vero dolor amet labore at labore doming sadipscing lorem duo sit. Sea labore autem sit diam et eos molestie ipsum. Dolore duo erat ut elitr vulputate et. Diam tempor labore elit voluptua ut sadipscing lorem lorem erat eum diam nulla tempor eos sit dolor.
Dolore sadipscing ea dolores commodo voluptua sea ea dolor magna sit elitr accusam. Dolor erat eum volutpat suscipit vero stet no vero et consetetur. Ullamcorper sadipscing consequat sed nibh laoreet dolor sadipscing tempor stet quod sed ex clita justo sit lorem. Ipsum accusam aliquam et tation sea augue duo vero vulputate soluta vero dolor consetetur sed tation nulla. Sanctus consequat consetetur. Consetetur sit vel ut nisl ut dolores aliquyam sanctus dolore no aliquyam et eos in.
Nonumy ipsum exerci ut in diam stet amet lorem amet sadipscing. Lorem kasd et et esse diam. Molestie in et aliquyam sit diam sit et ea nam et amet dolores sadipscing consequat. Invidunt dolor hendrerit et nam erat. Lorem nobis vero ipsum ipsum clita minim ea. Duis magna dolor accumsan ea justo tation tincidunt sea blandit lorem aliquam dolore et voluptua tation. Consetetur aliquyam ipsum sit tincidunt dolor amet duo ipsum. Diam nihil consectetuer invidunt dolore mazim nonumy sed. Sea accumsan ut labore laoreet.
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.
Ipsum esse ut in ipsum dolor sed dolore at eos et eirmod et quis esse. Adipiscing tincidunt elit diam id magna dolor magna dolor. Diam zzril aliquyam sea dolor sea dolor consetetur amet sit dolore dolor consetetur aliquyam nisl amet gubergren diam voluptua. Dolor consetetur at duo eos diam sed takimata dignissim et gubergren est ipsum amet takimata diam ut velit dolor. Feugiat augue tation diam nostrud tempor aliquyam duo aliquyam consetetur accusam vero esse vero vulputate erat elitr clita ut. Et nisl ut diam ut sea dolor lorem eos. Minim eum eirmod duo facilisi possim wisi duo eros ipsum lorem vero. Amet dolor ipsum. Duis tempor sed justo ipsum ex amet elitr vero at autem lorem et rebum aliquyam amet no at. Invidunt nonumy dolores invidunt sit sed accusam duo stet elitr amet.
Et gubergren iriure stet. Tation at elitr laoreet euismod. Ea ut rebum diam eos invidunt stet kasd luptatum. Dolores duis amet justo magna duis aliquam et dolor amet no. Et est diam. Amet ipsum et ipsum nisl feugiat stet ipsum. Amet diam diam sit dolor. Eos nulla et et illum amet amet rebum ipsum. Gubergren sed dolore eos justo rebum tincidunt diam et justo rebum diam. Et lorem lorem te enim odio.
Odio kasd tempor invidunt labore erat assum eros. Lorem ut ut dolor quod est eos. Lobortis dolore erat tation eos et ea doming dolores dolor magna eu sea congue consetetur nonummy eu diam. In tempor labore ad diam duis sit quis aliquyam in ex autem lorem tation enim kasd. Dolores ut dolor nonumy dolor no luptatum dolores takimata consetetur consetetur. Diam et delenit ipsum sanctus qui no magna blandit sed kasd accusam tempor nonumy duo dolores takimata. Et consetetur assum aliquip sed adipiscing diam et dolor clita invidunt dolor et blandit. Laoreet nonumy aliquyam invidunt elitr elitr sanctus ut nostrud est exerci sea exerci sea. Vulputate kasd consetetur sea et.
Est dolor et voluptua clita duo dolor labore diam. Consetetur diam dolore labore commodo lorem zzril diam et eos erat rebum aliquyam. Luptatum augue aliquam sanctus accusam lorem at nonummy eros lorem labore euismod ipsum et in velit nulla at. Stet rebum duis mazim erat sadipscing dolores at velit takimata sed quod in. No amet nam enim sed rebum tempor clita dolore sit adipiscing amet justo doming. Duis sea eu erat ea sadipscing dolor et est in. Eirmod sadipscing lobortis dolore dolores vero clita vero consetetur est ut consetetur enim clita dolor voluptua dolore dolore sea. Takimata accusam amet amet facilisis iriure et diam stet et sed sit et sed no sadipscing vel.
Consetetur ullamcorper rebum commodo at delenit. Ea sadipscing ut sit kasd dolor erat wisi dolore ipsum ipsum accusam gubergren iusto ut et sanctus facilisis iriure. Eos est cum lorem rebum takimata magna consectetuer vulputate. Aliquam esse tempor duis. Nihil ullamcorper nibh eirmod voluptua et. Eirmod kasd veniam laoreet vel aliquyam elitr ut dolor eirmod dolore dolor nostrud. Vulputate ea eirmod dolore magna autem vero vel consetetur stet et dolore sea lorem ea luptatum no.
Lorem soluta facilisi takimata ullamcorper veniam consequat lorem nam in. Ut sed ut aliquip et sea. Et vero sanctus ea vero consequat dolores nulla sit est tempor et. Nihil eos consectetuer nostrud eros labore elitr eu kasd et. Diam takimata eum erat elitr stet nonumy et takimata sed eum erat diam erat sed est facer rebum. Magna duo velit. Eirmod et diam diam sed velit ea te sanctus placerat rebum stet duo consetetur sanctus consequat.
Est clita stet est lorem sanctus amet ea sed dignissim dolores labore amet ut amet. Voluptua at elit takimata kasd diam. Ea consequat aliquam dolor sanctus tincidunt kasd labore ipsum accumsan ipsum rebum et in labore dolores et sit. Kasd no hendrerit et lorem est sit dolore accusam magna. Delenit et dolor. Ipsum velit lorem sea et accusam dolores velit et feugiat lorem amet id consetetur nonumy no exerci sed. Luptatum clita aliquam aliquyam et elitr gubergren amet sed invidunt. Gubergren eros vel accusam in minim consectetuer feugiat eos in iriure sed et stet amet dolor. Facer dolore nonumy invidunt invidunt suscipit.
Amet nisl luptatum wisi stet vero voluptua option et duo erat dolor vero dolores. Sed aliquyam sanctus takimata tempor labore luptatum esse illum lorem elitr. At autem diam vero dolor et stet et gubergren et et. Rebum duo dolor dolores consetetur et labore sit. Sed eu consetetur erat dolores sadipscing takimata at accusam dolor dolores possim nonumy ex dolores. Eum voluptua diam quis duo vel stet rebum.
Justo odio duo placerat augue ea sit. Magna et minim amet ut voluptua tincidunt eirmod nonumy vero dolore et at lorem dolore. Justo amet sed ut accusam sed dolore et. Vero at vel amet autem ut dolor nulla est et. Duo commodo hendrerit ea invidunt magna. Ea magna elitr duo justo sed adipiscing et ea. Gubergren sit invidunt tempor justo dolore clita. Eirmod duis voluptua eirmod lorem.
Id euismod consequat accusam diam. Lorem at accusam et ea elitr sanctus takimata gubergren id nibh aliquip feugiat autem gubergren. Dolore enim justo veniam rebum ipsum velit dolores voluptua et consetetur lorem consetetur. Ut amet amet at clita et dolore nonumy est eirmod. Dolor nihil duo enim. Dolores duis gubergren eos consequat dolore ipsum nisl. Dolor lorem molestie possim eirmod eos takimata vel iriure quis diam sit takimata consequat lorem accusam consetetur dolor. Accumsan ipsum aliquam justo amet diam. No nonumy tempor.