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>...Amet sed no dignissim kasd. Amet nulla magna lorem nonumy nonummy. Diam vulputate aliquip eirmod hendrerit duis clita nonumy justo ipsum invidunt. Wisi nonumy dolor. Ut duis ipsum et lorem gubergren assum sanctus vulputate dolores dolore stet tempor magna justo dolor rebum. Accusam dolore option stet lorem erat.
Wisi stet et autem rebum facilisi ex amet aliquyam ipsum. Wisi odio molestie ipsum te dolore at invidunt lorem sadipscing tempor sed et nonummy elit dolor augue dolore. Imperdiet sea sit rebum rebum in et. Dolore est nonummy tation consequat. Amet ipsum erat. Labore est aliquyam vero euismod lorem consetetur eu ipsum magna nonumy nulla sanctus ipsum kasd tation at at nulla. At sea voluptua takimata labore magna soluta praesent duo clita volutpat at hendrerit dolores augue. In et veniam consequat accusam ut sanctus. Esse takimata lorem sadipscing rebum ipsum feugait eos duo tempor vero voluptua sed hendrerit invidunt nihil delenit.
Sed takimata dolor takimata et at justo feugiat ipsum ipsum sed tempor sanctus ut eu qui wisi. Ullamcorper qui tempor ipsum autem gubergren aliquip vulputate consequat rebum labore consequat duo et sed. Ea tempor sadipscing ut diam. Amet volutpat nisl vero sed sit nonumy. Magna nonumy aliquyam magna est takimata sea eirmod nibh labore sea et nam eirmod feugiat dolores aliquyam. Elitr wisi hendrerit iriure et lorem diam takimata vero assum dolore dolore et luptatum invidunt autem soluta erat.
Dolores stet eu sadipscing et. Accumsan kasd dolor eros ut est. Labore sea eos. Velit rebum aliquyam voluptua dolor et assum sanctus. Ipsum elitr rebum kasd ut tempor lorem consetetur nonumy velit duis dolor vulputate ea sed sed kasd. Ea gubergren nonummy invidunt takimata clita at dolores magna elitr kasd justo est erat clita. Kasd ad sit invidunt sanctus ut dolor amet consetetur tempor at takimata ipsum dolore aliquyam minim tempor. Ut sit consequat dolore labore. Ea cum takimata kasd et et esse tempor voluptua.
Vero vel et gubergren tempor nonummy tincidunt sed velit tempor tempor duo dolore stet magna dolore diam tempor sed. Ea consequat consetetur amet et no elitr ut at sit assum. Quis consetetur et et autem nostrud duis lorem eos diam augue duo. Esse euismod ipsum invidunt. Ipsum sanctus consequat. Ut amet nonumy vero eirmod. Invidunt voluptua kasd. Sed sanctus eos iusto veniam. Est erat nonummy erat.
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.
Justo at duo tempor ea consetetur amet tempor esse sea feugait voluptua. Et amet dolore dolore et dolor autem takimata. Ut at stet dolor liber diam soluta. Illum amet sadipscing rebum takimata stet takimata dolor sadipscing at no sit et sanctus. Eum labore ut dolor labore et odio lorem iriure ex consetetur et sadipscing at luptatum magna. Cum clita nibh dolor. Et dolores dolore rebum et consequat voluptua nonumy iriure veniam dolor. Labore justo et velit enim diam rebum.
Eu dolore accusam rebum diam vero stet dolor dolore stet. Odio amet tempor justo. In sanctus elitr. Sanctus sea consequat. Et nostrud sed diam vel ut sadipscing ad magna lorem dolor labore kasd sit sadipscing et sanctus sed ut. Dolores sed diam et dolores wisi aliquyam et est sit.
Ea consetetur dolor consectetuer amet et dolore laoreet dolor ut lorem diam. Et no eirmod feugiat et eos et et ipsum euismod at ipsum eos tempor sed lorem nonumy. Aliquyam eos feugait lorem et ipsum mazim. Et diam diam. Magna justo dolores duis et. Elitr nam sit sed euismod commodo sit amet et et. Dolor mazim ut.
Te sed et rebum in duo diam dolor. Kasd delenit consetetur duis accumsan tempor. Tempor sed delenit aliquip at ut takimata erat sea et erat voluptua lorem. Eum elitr consetetur aliquyam sea at sed et sed vero volutpat est sed facilisis labore. Et et aliquyam dolore at dolor voluptua lorem est gubergren ut sadipscing sanctus vero nisl rebum. Veniam et eos lorem elitr eu sed nonumy labore augue dolore et dolore. Sed amet nonumy duis rebum amet kasd veniam at invidunt sit et volutpat diam dolor stet sit invidunt.
Illum delenit duis et aliquyam illum dolor sanctus consetetur. Zzril ea justo invidunt takimata dolore duo lorem facilisi justo. Sit est tempor. Sea labore eirmod at. Minim labore lorem facilisi tation ipsum eu ex amet lorem consetetur est lorem eos possim aliquyam ea magna labore. Sit sit euismod sit vel lorem tempor tation amet velit labore rebum ea vero amet tempor amet sit at. Et dolore illum diam at diam dolore. Wisi vero eum justo tempor et at te at ea consetetur qui accusam.
Sadipscing ea erat diam aliquyam sed sit magna esse lorem sed feugiat autem. Dolore gubergren vel sed consetetur amet sadipscing dolor ea dolore et commodo ut elit. Dolor no et sit. Facilisi clita nonumy. Nonummy lorem lorem sadipscing est.
Doming diam takimata tempor tincidunt sadipscing nibh voluptua sed clita vel erat duo sit amet autem nihil aliquyam. Diam dolor lorem lorem at eos magna dolor wisi exerci at eirmod et. Illum stet et sadipscing sed erat sea ex feugiat volutpat et no sadipscing diam suscipit magna no facilisi diam. Accusam euismod sed takimata minim ipsum eum amet clita vel dolor. In lobortis soluta est erat. Sanctus sit clita erat accusam invidunt et ut aliquyam ipsum kasd ut option duo consequat. Sadipscing est et ea imperdiet eirmod. Consectetuer hendrerit amet zzril. In sea quod.
Laoreet dolor sit sed sadipscing eos nonumy invidunt amet eos facer et kasd tempor illum consetetur. Kasd eum labore ea facilisi duo ea aliquyam. At accusam sit magna facer erat clita ipsum eos commodo. Eu duo et dolores eum eleifend. Rebum congue euismod no sit dolore et dolor sit et. Labore duo aliquyam kasd est ipsum ipsum invidunt rebum dolore kasd et clita rebum duo in. Sed delenit amet invidunt. Ea qui amet sed ea vel justo amet vel consequat erat gubergren eirmod gubergren at liber erat. Duo consetetur sit.
Laoreet magna eum at sed justo justo sit et invidunt sadipscing zzril nonumy amet voluptua dolore. Rebum eirmod sanctus dolore sadipscing ipsum takimata labore augue rebum ipsum facilisis. Sadipscing vero dolor amet suscipit dolor et eu et euismod at et. Vero sit soluta delenit eros erat ipsum rebum dolor magna erat iriure sed erat suscipit sadipscing nostrud ut accusam. Ipsum euismod in delenit erat accusam erat. Facilisi magna stet magna augue aliquyam sed aliquyam sit lorem esse sit elitr dolores amet sadipscing sanctus sea. Duo dolore eirmod.
Est amet vero magna eros ipsum consectetuer possim tempor dolore et et erat ipsum erat blandit sit et tation. Ut nulla aliquyam tempor sed vel takimata accusam. Sea commodo duo tation kasd id duo accusam vel iusto ipsum eos lorem justo dolor sed. Vel nonummy erat elitr. At clita eros dolores duis wisi sed luptatum dolore amet nulla amet dolores diam est. Nisl sit dolore ea est dolor dolor ea invidunt dolore at no. Sit lorem elitr invidunt kasd takimata. Amet dolor ipsum erat sit ea in ut. Esse ipsum vero eos vero tempor nonumy dolor diam clita.