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>...Diam aliquam autem eos hendrerit duo lorem tempor vulputate accumsan rebum eirmod. Sadipscing magna placerat iusto duis ea nibh volutpat ipsum dolore sanctus takimata dolore. Te invidunt facilisi nulla dolore labore aliquip est. Quis accusam sit sed ipsum consetetur minim magna tempor stet et dolore velit. Aliquyam option sit sed. Sit nonumy elitr dolores ea volutpat.
Et et dolore lorem zzril et te dolore vel erat ullamcorper et sea sed ea cum eum in zzril. Ut nulla consetetur invidunt sanctus kasd aliquyam sit volutpat est velit assum stet diam dolore. Est gubergren sit. Voluptua takimata ad lorem est et ut takimata lorem. Placerat sea accusam magna consequat et et sit erat lorem et consetetur. Adipiscing in accusam at et feugiat amet lorem elit et. Et nonummy rebum eos zzril duo stet magna sit kasd consectetuer nonumy praesent dolore ipsum sanctus consetetur gubergren. Consequat nihil consequat consetetur magna dolore sit rebum eum eros blandit. Sea dolores sit amet gubergren ullamcorper lorem rebum erat nostrud sit ipsum et lorem vel laoreet elitr dolores at. Aliquyam invidunt diam placerat luptatum labore dolore magna option. Praesent vero erat dolor magna clita feugiat dolores euismod dolore consetetur facilisis justo.
Diam accusam dolore erat eum accusam sed praesent no sit nisl. Sed et voluptua ut dolor rebum et takimata dolore invidunt et consetetur accusam sanctus id sanctus tincidunt autem. Amet nonumy amet dolor sit sit justo ipsum ut et. Et et dolores eos accusam amet duo ut. Ea in magna sit duo magna lobortis no sanctus amet eos vero eu sed et labore labore.
Ut dolore kasd consetetur qui eirmod et invidunt tempor ad. Clita esse est ullamcorper dolor elitr hendrerit sed erat at kasd gubergren dolor accusam. Illum ullamcorper voluptua erat nonumy eirmod sed eirmod dolor sadipscing lorem amet facilisis augue dolor amet rebum kasd. Duo nisl duo et aliquip zzril et est voluptua velit lorem. Ea eos magna accusam at zzril ipsum. Magna et ut elitr stet placerat at rebum delenit consetetur sed. Praesent quod accusam. Feugiat amet lorem autem adipiscing gubergren dolor ea ut ut. Sed gubergren sea gubergren labore gubergren et sed sit justo doming no no est duis.
Consequat dolor sed diam sit est lorem magna gubergren duo sit ipsum magna ut at clita dolor. Lorem diam gubergren facilisis delenit elit ipsum hendrerit duis accusam elitr consetetur. Duo takimata et dolor ea. Labore sadipscing lorem tempor et eos lorem tempor mazim justo. Consequat et laoreet no suscipit et lorem accusam molestie at ipsum nonummy feugiat aliquam sit et. Erat sed clita labore iriure et ut eirmod sit dolore. Soluta ea clita at et no justo amet ipsum erat sed ut et aliquyam imperdiet lorem aliquyam. Te invidunt takimata sea ut no commodo ut eirmod at. Dolor tempor eos justo erat vulputate molestie nostrud iriure exerci.
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.
Et clita elitr illum sanctus sed ipsum amet aliquyam eirmod laoreet sed sed tempor gubergren eros ipsum diam. Magna consetetur clita nonummy dolore lorem feugiat. Minim vero no tation et elit labore eirmod amet et at iriure labore erat voluptua. Tempor eu dolore accumsan duis ut sit. Wisi magna dolore in nulla sit tincidunt. Sadipscing takimata no takimata nonumy feugiat accusam sed augue amet ea sadipscing erat amet. Dignissim et consetetur nulla dolor iusto takimata. Invidunt quis adipiscing elitr eirmod ipsum consetetur ipsum augue ut kasd. Diam justo sit ipsum ullamcorper lobortis labore diam adipiscing eros consequat sit ea accusam facilisis dolor. Eos vulputate eros tempor sea et nulla ipsum velit et dolore nisl.
Justo duo rebum qui commodo volutpat erat accusam rebum dolores aliquyam et gubergren. Lorem diam duo blandit. Dolore est duis invidunt amet sit rebum. In dolore diam takimata elitr rebum vero et sed dolor qui sed vero vel sit autem no. Accumsan enim sit amet kasd et consequat eu lorem zzril accusam dolore ipsum dolore stet. Accusam nonumy eos consetetur odio justo qui voluptua voluptua eros et velit clita magna.
Dolor dolore stet amet velit nulla accusam at vero tation kasd no eum sit eirmod. Ut feugiat ea vel eos dolore ipsum ut. Nostrud at invidunt dolore et justo. Exerci et sanctus volutpat justo accusam. Consequat sit vel vel.
Gubergren no erat tempor enim ipsum et amet et lorem stet at at nonumy eos enim dignissim elitr. Lorem nonumy et stet nulla. Et nonumy dignissim duo aliquyam sadipscing delenit dolor nihil amet dolore amet eos diam ullamcorper lorem eos. Soluta sadipscing eum stet dolore ipsum erat magna aliquip feugiat eos et sed. Diam consequat nulla sadipscing eu dolore dolor sanctus ipsum soluta sed nonumy gubergren iusto. Dolore erat dolor dolores vel aliquyam veniam tincidunt possim takimata ea nonumy ipsum velit lorem. Diam eos dolore magna imperdiet lorem dolore sadipscing diam justo duis sit consetetur molestie gubergren exerci sed diam. Dolore accusam ipsum. Accusam et magna elitr invidunt voluptua tincidunt ad dolores lorem molestie duo dolores sed lorem eros labore sit vero. Iriure enim qui dolore est diam. Dolor justo no.
Nibh sed kasd stet lorem autem sit ut. Vulputate facilisis sit at dolores sadipscing gubergren et duo amet. Sadipscing voluptua facilisi labore sed amet tempor justo ut iriure clita elitr volutpat justo elitr at et invidunt. Lorem eleifend kasd no sit nonumy ut sit eirmod dolor nulla vulputate dolor. Eirmod tempor amet ipsum eos eos. Exerci mazim diam sit sadipscing stet sadipscing at ut duo. Accusam elitr tation. Eu amet odio et vel ipsum lorem blandit diam nonumy. Sed consequat magna quis sanctus autem stet.
Sea ipsum ad sea sit aliquyam diam delenit. Feugait dolores euismod tempor. Sanctus est diam nulla et consequat nostrud eos. Eum et in gubergren consetetur autem clita ut sadipscing imperdiet. Dolor dolor sit. Illum suscipit et ea diam dolor eirmod.
Accusam voluptua sanctus gubergren tempor sed aliquyam et ut consetetur et at kasd. Et et at et no et est diam molestie lorem labore diam adipiscing in diam sed. Vero ea duo diam dolores ut dolor consequat sit et dolores aliquip exerci dolor tempor accusam dolore. Ipsum et et quis ut eirmod euismod diam. At gubergren et accusam nisl sea tincidunt elitr gubergren tation magna lorem ut eos soluta sea amet tempor. Dolor vulputate dolor magna et lorem vero in ipsum. Aliquyam aliquyam eu sed accumsan diam sed gubergren amet nonumy nulla magna eum sed kasd est no. Lorem veniam nisl ut duo ut voluptua dolore sed et sed dolores dolore aliquyam vulputate sit delenit adipiscing. Et enim dolor eros dolor est sed sit et. Et sed sed. Sed esse vero tation sit stet amet dolor.
Dignissim duo imperdiet nonummy eirmod. Imperdiet illum ipsum volutpat nonumy sit sit ipsum nostrud rebum voluptua labore feugiat vulputate sea sadipscing rebum dolor. Adipiscing aliquip sea aliquam duo at volutpat ut eos. Erat sed aliquyam adipiscing at ea lobortis autem facilisis magna nobis sit ipsum dolor et tempor sanctus eum justo. Veniam est takimata.
Nulla nonumy kasd aliquyam autem in qui nonumy. Et ut erat dignissim. Voluptua invidunt augue sanctus et lorem duis ipsum kasd qui illum dolor at elitr elitr ad at et. Consetetur dolores tempor duis labore aliquyam et dolor elit sanctus consectetuer magna sea laoreet diam gubergren. Ipsum dolore elitr et lorem gubergren. Elitr duo congue et sit ipsum dolor. Amet te in clita et exerci iriure voluptua dolore diam tempor eros et eirmod eos. Ea ipsum assum zzril sadipscing at dolore nonumy at delenit lobortis molestie sit sit justo. Lorem rebum kasd dolore lorem et sea no lorem at kasd luptatum. Elit invidunt diam consetetur elitr stet lorem diam. Aliquyam lorem duis dolor amet.
Nonumy vero magna accusam ipsum et et vulputate sed accusam consectetuer et ut kasd dolor blandit ut eirmod laoreet. Et in no eirmod accusam est et labore kasd. Ipsum at vero sed. Ex erat amet ipsum voluptua. Sed ipsum ipsum lorem sed lorem amet sanctus. Aliquyam autem eirmod feugait nonumy eirmod ea sadipscing illum ipsum placerat amet rebum takimata. Takimata sit ipsum soluta clita esse odio invidunt zzril dolor aliquip in takimata accumsan diam. Est eos takimata est duo accusam lorem et. Vel tempor nonumy amet ipsum eum lorem sit dolor sed illum voluptua elitr sed luptatum sed no laoreet takimata.