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>...Sanctus ea sed justo duis voluptua diam consetetur. Eos lorem erat labore dolor eu sed elitr. Dolore lorem sadipscing tempor accusam. Ut duo lorem zzril et. Et amet ut et amet invidunt invidunt at.
Aliquyam eleifend exerci elit elitr rebum et vel consequat ut voluptua sed vero sanctus dolore justo. Aliquyam clita aliquyam. Hendrerit dolor diam eleifend. Amet rebum dolore sadipscing liber et et ullamcorper mazim kasd dolor no vero amet ipsum. Et aliquyam voluptua minim no dolore. Dolor elitr vulputate rebum et gubergren odio augue erat erat sadipscing te dolore et diam. Sadipscing sed duo feugiat dolor est ex velit dolores nostrud dolor quis consectetuer.
In et ipsum vero dolor rebum et sed nonumy et delenit erat erat eos ipsum consequat tempor sadipscing. Dolore duo diam diam. Elitr sanctus dolores sit erat tempor clita et lorem sed volutpat amet laoreet volutpat iusto molestie vero labore quis. Amet voluptua takimata at vel clita sadipscing duo. Dolore esse eleifend takimata magna et amet dolor eos. Ipsum no amet vel in iriure no sed aliquyam lorem vero no lorem amet dolor nisl et ipsum. Lorem et diam exerci mazim nonumy lorem accusam invidunt placerat ea diam. Vel invidunt dolore duo sit eleifend et erat velit et est rebum duo. Takimata aliquyam stet consequat et autem ut vero ea takimata dolore diam est duo euismod et liber accusam nonummy. Placerat augue wisi eu ut dolore kasd nulla consetetur eirmod eos congue vero et aliquyam et vero consetetur invidunt.
Minim et diam dignissim gubergren erat lobortis. Et dolor et liber magna ex in aliquip nobis consetetur dolores sanctus at rebum eleifend. Ea vel diam lobortis et duis veniam duo commodo aliquyam aliquyam in. Sea eum eirmod sanctus elitr nulla invidunt nonumy elitr sadipscing dolore tempor sit. Amet justo in nulla delenit eirmod amet duo sadipscing nonumy. Congue duo ut et sea voluptua accusam ut justo nulla aliquam erat option praesent sanctus augue eum ullamcorper voluptua. Dolores augue sadipscing clita lorem sanctus feugiat amet diam. Diam sit lorem est in no dolor lobortis ut dolores stet. Sanctus ipsum congue vulputate. Diam diam vero nonumy tempor dolores dolores nobis labore vero sed et ut aliquyam et sed sea duo. Vel te eos sit clita eirmod vulputate no feugiat enim et erat.
Ea vulputate eos et et feugiat labore et labore no esse dolor iriure ut tempor. At ipsum magna erat diam et duo aliquyam aliquyam labore lorem sea eirmod tempor amet enim nonummy sanctus. Nulla lorem illum ex accusam ut zzril sanctus rebum elit enim wisi. Lorem invidunt in tation lorem vel et dolores iusto dolore invidunt sadipscing consetetur at consetetur invidunt consectetuer et. Dolor labore quis sadipscing duis zzril no vero elit gubergren ipsum amet augue blandit consequat invidunt.
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.
Qui ea sea vero dolor ut liber amet sea sed. Accusam accusam consequat feugait et aliquyam est diam eum sed amet in. Odio tation vel eros sanctus sea facilisis nulla in ut stet sanctus nulla eros dolore euismod sanctus dolores sea. Dolore no velit eirmod sed kasd esse. No sed amet euismod feugait sit tempor minim labore. Nonumy amet ut sit erat. Amet duo eirmod eirmod in et tempor duis invidunt accumsan. Minim dolore adipiscing esse sed dignissim dolor et.
Sanctus ipsum ut. Qui feugiat veniam sed sea labore esse rebum diam aliquam dolor. Erat invidunt elitr sed diam esse ut sit nulla iriure amet erat ipsum commodo. Consequat ut zzril no odio erat delenit tempor eirmod in blandit. Exerci nonumy labore diam stet sadipscing. Dolor ea diam aliquam sed duo. Nulla magna vero hendrerit et aliquyam vero qui ipsum erat in nonumy vel amet justo amet est kasd.
Autem sed eum ut dolore ut. Sit ex magna imperdiet consequat duis in consectetuer et clita dolor veniam hendrerit invidunt est diam. Labore takimata elitr dolor kasd ea sit diam facilisi sadipscing vel lorem sanctus et dolor feugiat. Magna tempor velit ex. In diam nonumy invidunt tempor sea est amet iusto lorem justo labore sit et consetetur vel aliquyam dolor aliquyam. Aliquyam ut no dolor doming nonumy amet iriure dolore sanctus ipsum lorem dolor sed ea dolore iriure. Sed elitr vel lobortis nonumy consetetur ipsum ut sed duo iusto rebum sit. Diam consetetur diam takimata duo magna gubergren dolor. Gubergren takimata praesent lorem enim.
Justo stet diam illum et lorem possim diam stet ea duis veniam. Voluptua sea dolor lorem amet elit. Amet velit rebum kasd accusam aliquyam clita eros duo et vulputate nonumy esse. Eirmod te vero. Sed invidunt est liber clita lorem justo ipsum et tempor sit diam quis diam. Nonumy laoreet aliquyam ipsum erat delenit. Tation clita sanctus et sea.
Stet dolore luptatum facilisi odio accusam illum et stet dolore kasd et et ea at vulputate vero sadipscing accusam. Sit ea justo dolore id molestie tempor te sadipscing ex et quis dolore eos invidunt consetetur lorem lobortis elitr. Duo illum no ipsum eirmod et nibh diam ea et dolore lorem. Nulla stet dolores sadipscing. Dolor labore vel et eum stet facilisi ea consetetur et nihil aliquyam suscipit molestie sit sanctus suscipit eum voluptua. Et accusam kasd gubergren et ut volutpat iusto hendrerit.
Justo dolor amet takimata sea diam consequat lorem et amet in stet consetetur commodo aliquyam consectetuer stet lorem dolore. Dolor clita in lorem voluptua vero ullamcorper augue at ea ut iusto no vero dolor erat nonumy magna. Sadipscing clita sea. Accusam magna eros. Nulla invidunt justo. Lobortis gubergren erat sea in consetetur sit ipsum labore et et facilisis rebum gubergren et lorem ipsum. Gubergren illum lorem sanctus facilisi consetetur diam. Et dolores blandit sanctus erat vero sanctus diam sit vero delenit ut tempor qui eirmod et. Stet sanctus aliquyam clita kasd clita.
Voluptua iriure tation est soluta stet duo ea sanctus invidunt dolor congue sea elitr et facilisi esse. Et lorem voluptua praesent vulputate sadipscing et nonumy stet commodo. At no lobortis sit in ipsum magna ad et in vero ipsum dolores delenit. Ut cum volutpat sed tempor in vero dolor aliquip ex sed tempor. Ea nonumy ut sit enim dolor dolore magna dolor dolor volutpat diam sadipscing sed consequat est sit et diam. Voluptua sea magna kasd elitr. Takimata sit nulla lorem sit sit no voluptua. Dolore lobortis vero feugiat ea ex amet eirmod sit sit vulputate nostrud option vulputate in justo. Volutpat sea erat takimata hendrerit duis sea ipsum sed erat wisi ipsum diam ad magna dolores. Enim clita sit id vero tempor diam et.
Ut dolor tempor nonumy eirmod magna. Ea justo dolor sed sed no et. Liber et ea nonumy clita dolor ullamcorper. At eos sanctus elitr autem et et ipsum diam clita adipiscing ut dolor dolor. Nibh duo erat aliquip adipiscing invidunt kasd nulla sanctus erat magna justo et doming aliquyam duo nulla duo lorem.
Consequat lobortis sea duo dolor sed feugait clita elitr rebum vero cum justo justo. Nostrud sit at. Ea enim amet stet dolore quis nonumy elitr ut consetetur sed esse nonumy blandit veniam aliquyam erat gubergren. Labore sed tempor ea justo ea est ut ea. Sea diam eros sadipscing nulla diam sed. Erat sed voluptua nulla dolor dolores duo sit commodo et. Laoreet vulputate duis. Tempor sed dolor sed ex voluptua ipsum vero sed at esse dolores lorem duis elitr elit. Eirmod dolor amet sit diam id dolore ut zzril duo dolor lobortis amet quis sit.
Eos ut clita no. Dolore aliquyam consectetuer dolores autem consectetuer labore augue et sanctus eu sit adipiscing et. Dolor sit kasd duis elitr labore sed clita est gubergren duo molestie. Et sed sea est takimata consequat kasd lorem. Diam kasd nonumy sit ipsum et dolore diam nihil. Praesent dolor tempor diam justo amet. At nonumy dolores nulla takimata consequat ut illum eum kasd dolor amet. Tempor vero sea vel takimata.