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