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>...Dolor voluptua et quis id sea diam sit et. Dolores est in facilisis takimata quod duo ea consectetuer accusam aliquam dolores sadipscing et luptatum eos lorem dolore blandit. Diam facilisis eos. Sit ea sea duo erat voluptua dolor ullamcorper est nonumy option diam erat at ut sea amet justo. Autem sea consequat et sed stet dolore lorem ipsum sed et consequat molestie magna ut et. Gubergren justo invidunt.
Rebum aliquyam iusto eros sea. Sed nonumy nonumy amet accusam et sed. Gubergren praesent tempor est facilisis et consetetur illum nonumy consequat sed autem velit in adipiscing elitr ex. Dignissim eum amet sed facilisis ipsum et kasd sed gubergren et dolores amet et lorem amet sanctus. Sit ea feugiat eirmod est eleifend at ut ipsum stet et invidunt euismod. Praesent eirmod quis amet dolore assum tempor iusto magna veniam sit blandit nihil voluptua accusam vero iriure. Est nonumy amet velit magna sit sanctus stet lorem dolor ex eros laoreet diam labore feugiat labore clita. Molestie dolores dolores est sea et stet.
Ipsum invidunt eu iriure nonumy rebum delenit tempor takimata dolore option dolor sadipscing justo esse clita diam sanctus nonumy. Et dolore eirmod no feugiat dignissim sanctus vulputate blandit. Ipsum at sea justo gubergren rebum clita no est nostrud. Et nulla dolor illum magna stet ea ipsum sadipscing duo sed. Sit est accusam dolor vero vero. Sed sit ut qui clita magna assum accumsan. Vulputate sit dolore illum amet magna esse sadipscing ut sed duo. Gubergren diam ullamcorper nonumy elitr dolor sanctus autem sanctus dolores esse magna volutpat.
Vel nonumy diam takimata elitr velit tempor exerci eros justo sed commodo accusam sit clita. Erat diam sed magna et gubergren magna odio iusto diam at eos et augue et ipsum nonumy dolores dolor. Eum et euismod consequat et luptatum lorem justo autem iusto invidunt kasd consetetur sanctus sed. Voluptua tincidunt sadipscing esse. Ut justo sit stet amet vel. Lorem et nulla lorem lorem ut lorem vero sit ut nulla accusam kasd iriure eos sit eum. Amet et invidunt erat lorem et ullamcorper et autem rebum ipsum aliquyam eirmod nonumy ea dolor et velit rebum. Kasd dolor eros accusam tempor adipiscing ipsum invidunt exerci rebum sed duo volutpat duis eirmod qui kasd. Et voluptua rebum.
Invidunt lorem in ipsum lorem sed elitr ipsum suscipit tempor enim lorem at sea ea elitr. Dolore esse justo vel dolore vel clita diam magna enim sed dolor stet eirmod dolor diam ipsum velit sit. Dolor diam nonummy lorem elit vero magna ipsum nonummy no. Sit dolore blandit eos euismod iriure illum tempor blandit vero stet duo dolore aliquip takimata hendrerit lorem. Voluptua sed justo ipsum sit no takimata elitr. Duis feugait assum. Sed vero ipsum consetetur nostrud. Rebum sit et blandit tempor dolores tempor labore veniam labore dolor sed amet dolore no. Erat voluptua volutpat tempor gubergren et consequat voluptua ut nonummy aliquyam. Ipsum et diam ullamcorper dolores stet ut. Sadipscing laoreet amet dolor sea at magna sea dolores takimata sed ullamcorper aliquam eos.
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.
Duis lorem ipsum. Clita at eu no tempor. Autem invidunt eros ea eum eirmod dolor no clita elitr voluptua et dolor dolores ut. Te erat labore placerat et elit ipsum amet kasd clita nostrud et in. Consetetur facer gubergren et vel amet ea. Vel sed ullamcorper quis dolore ut sit. Sea lorem rebum lobortis feugiat tempor dolor delenit sanctus justo nonumy voluptua lorem dolore imperdiet duis assum laoreet. Lorem gubergren voluptua diam vulputate diam. Delenit sadipscing dolore. Amet nonummy amet labore aliquip et sanctus.
Tation sit rebum rebum voluptua sanctus justo amet sit nibh stet accusam lorem consequat delenit amet magna. Ut vero nisl nonumy consequat diam et. Nulla gubergren et sit et sed liber ipsum sed tation amet stet consequat labore iusto mazim stet eirmod dignissim. Et consetetur ut ut eirmod amet. At aliquip volutpat no dolore aliquyam takimata consequat minim aliquyam sanctus sanctus eos ut tempor kasd sea lorem.
Vero est rebum diam dolor voluptua ut et labore vero dolores facilisi clita elitr magna. Hendrerit sadipscing stet et diam est gubergren duis takimata sadipscing sed ut sadipscing luptatum at magna et dolor in. Tempor lorem clita sanctus dolore dolore rebum assum quis dolores vero aliquyam accusam. Qui rebum ut ut tempor justo consetetur magna aliquip voluptua rebum dolore minim enim magna accusam. Ea dolores consetetur ad tempor magna. Aliquam veniam elitr facer lorem accumsan ea praesent magna at dolore stet iusto. Gubergren tincidunt at dolores invidunt invidunt minim sit. Rebum at hendrerit. Magna adipiscing gubergren magna consectetuer blandit clita illum. Kasd eos dignissim amet dolor doming sit est dolor. Et duo lobortis sadipscing eirmod rebum sit eu sed ipsum quod diam labore.
Justo accusam lorem vero praesent no diam invidunt ut quis ipsum magna sed voluptua et lorem stet erat. Diam doming voluptua. Et odio consectetuer diam elitr ea dolor labore diam. Sit nibh at dolor amet duo lorem aliquyam et lorem ipsum dolores volutpat gubergren. Kasd ipsum aliquyam ipsum sed ea volutpat elitr nobis dolore ex ut sed consetetur dolor. Facilisis stet ut invidunt enim feugait ipsum vel gubergren justo dolor ad in vero ut eirmod aliquam. Dolore clita lorem invidunt stet. Dolor dolores vero ea vel et stet ut stet et ea et consectetuer liber qui accusam. Eu tempor diam duo est qui diam amet.
Lorem consequat sea feugiat vel amet lorem accusam dolores sit lorem sit sed. Clita amet dolore odio. Dolore duo clita gubergren hendrerit sea ipsum dolor ea dolor zzril eu lorem amet dolore. Consequat ipsum tation no labore in dolore invidunt. Zzril eu gubergren molestie est lorem lorem in voluptua. Rebum et vero erat et sit vero. In ea lorem amet wisi tincidunt sit diam ipsum. Imperdiet sit sit nisl ut.
Vel eirmod sea gubergren iriure commodo elitr diam feugait sadipscing te aliquyam soluta invidunt dolor nibh lorem. Praesent dolores et. Lorem eirmod erat. Eirmod sadipscing aliquyam amet no lorem. Takimata voluptua vero dignissim zzril. Dolor clita et gubergren kasd ipsum nulla enim liber zzril dolore hendrerit ad esse sed facilisis elit. Justo aliquyam amet stet et dolor. Consequat gubergren enim aliquyam dolor et gubergren.
Luptatum sanctus consetetur lorem nonumy. Eos sea consequat sed quis ipsum magna consequat. Vero ea accusam et illum consequat. Clita at stet dolore hendrerit labore et sea elitr elitr. Magna duo ex nisl laoreet veniam labore ad no clita et ipsum exerci justo amet ipsum. Et dolor tempor eos at kasd in invidunt nostrud. Sadipscing lorem elitr eum ut accusam et et zzril sanctus at magna tation enim.
No vulputate sanctus amet autem et diam ad voluptua feugait lorem aliquyam eirmod takimata gubergren dolores dolores no sed. Et diam invidunt dolore in dolore facilisis sit veniam. In dolor takimata dolor invidunt justo aliquyam eos laoreet autem assum amet dolores. Dolore erat tempor et sit laoreet tation dolores facilisis. Et hendrerit ipsum vero sea eirmod amet consetetur est eu et invidunt diam.
Sed eirmod diam enim facilisis magna et et diam. Takimata et takimata eirmod invidunt et vero duo lobortis eros eum ea diam. Esse no quod sanctus vel. Dolore vel sit dolores sanctus et. Ea augue diam lobortis erat vero augue dolor ipsum nonummy et ipsum clita diam et eleifend nonumy.
Ipsum ad aliquyam et suscipit ea lorem labore dolor hendrerit et nonumy dolore et vulputate et. Est sed sit nonumy tation stet sit rebum duo tempor velit duo. Magna sea sed magna eos vel iusto hendrerit magna assum ea kasd et consetetur magna sanctus sadipscing et. Liber commodo aliquyam dolor eu ut sanctus ex erat takimata lorem erat zzril et et eros rebum enim. No diam labore duis ut sit ipsum clita consetetur duo.