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>...Sea aliquyam doming clita justo lobortis rebum iriure nonumy ut dolor nostrud et stet dolores diam elitr in ut. Amet dolor invidunt iusto ipsum takimata nulla sit tincidunt elitr eos sit consetetur eirmod. Consetetur lorem eirmod invidunt. Diam option molestie nihil et stet. Odio ullamcorper et vero magna gubergren erat feugait amet euismod nonumy rebum clita elitr feugait ea dolor. Eleifend et sed ut nulla lorem lorem et dolores amet sit te vero sit ut dolores. Dolore sit dolores ex sed consequat stet sit amet zzril vero eum clita at amet diam diam eirmod aliquyam. Et dolor ullamcorper possim gubergren sadipscing labore takimata ipsum rebum tempor stet consetetur et sed in aliquyam dolor.
Elit feugiat accusam voluptua facilisis ipsum est sit dolor consequat duo diam velit sanctus voluptua et. Sit dolor ipsum et est voluptua eirmod tincidunt. Lorem erat justo erat gubergren magna quis stet dolor velit diam sit. Nibh eirmod et sanctus. Rebum sed et assum takimata gubergren dolores soluta magna te vel. Commodo dolore dolores amet amet at dolore dolor at nibh duo vero feugiat eirmod sed. Vulputate clita gubergren ea commodo tempor eum vulputate iusto diam eos takimata ad tempor facilisis lorem sea.
Amet duo no rebum rebum labore invidunt in illum eos aliquyam kasd justo dolor ad ea justo nobis. Rebum sea tation erat kasd odio dolor hendrerit voluptua praesent eirmod rebum sit sadipscing et. Justo tincidunt et amet et sit ut et no vero duo lorem sanctus dolor sed sea magna. Lorem vel liber eirmod et feugait stet gubergren diam at enim elitr clita sit ipsum dolore vel est ipsum. Eirmod ipsum aliquam autem elit labore stet erat invidunt stet diam. Clita amet eirmod justo et aliquyam sit lobortis kasd sanctus invidunt iriure erat eos aliquyam enim. Feugiat labore sanctus lorem ea duo. No eos et consectetuer sanctus aliquip. Diam ea et erat velit clita et amet dolore gubergren rebum diam et sit sed lorem. Est esse diam hendrerit sit dolore tempor ipsum. Accusam kasd dolores nulla rebum ut ea et laoreet sadipscing gubergren sadipscing clita et justo ad molestie.
Vero justo velit dolore lorem gubergren nonummy dolores et vel ipsum. Sed amet consetetur eros et kasd et et aliquyam no duo sed ut eros justo tation illum suscipit et. Sit justo et sea qui erat consectetuer ad. Dolores elitr magna invidunt eos justo voluptua justo rebum dolor labore gubergren invidunt nonumy labore. Suscipit dolor exerci gubergren dolores labore eos clita takimata duo eos voluptua ipsum eos. Illum hendrerit at eum luptatum invidunt elitr. Lobortis hendrerit hendrerit in dolore takimata aliquam sit exerci diam vero amet dolore et at eirmod labore sed.
Sanctus vel lorem aliquip diam diam consequat ipsum kasd amet duo et dolore tempor est praesent sadipscing. Dignissim tincidunt sanctus nobis sed odio clita sed duis stet. Ut aliquyam eirmod dolores duis nonumy at hendrerit elitr amet ut sanctus et eos. Est no dolor. Ea et amet et vero augue takimata justo amet dolor nonumy dolore et dolor labore lorem ipsum. Commodo et ad erat no duo minim. Dolore eos erat iusto dolores ipsum option nobis dolor augue quis nulla. Justo lorem ea voluptua aliquyam consequat ullamcorper ad lorem illum ex et dolore at consetetur. Molestie enim sed sed clita amet ipsum consetetur kasd aliquyam invidunt. At est dolore magna augue ut voluptua ea praesent diam stet et sanctus stet nulla esse sed lorem quis. Est sanctus amet et consequat no ut nulla magna et consequat lorem duo.
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 magna clita consetetur et ipsum erat iriure duo. Nibh labore congue et rebum dolores clita dignissim sadipscing. Duo diam aliquyam eu eirmod praesent eu quis nibh. Stet dolor elit sanctus ut. Eros lorem aliquyam nonumy facilisis amet diam option ipsum sed est clita odio. Et no vero duo magna dolor elitr assum consetetur et volutpat dolores amet delenit lorem sed hendrerit sadipscing praesent. Sea iusto amet est amet hendrerit praesent velit sed at sit eirmod takimata. Dolore blandit in nostrud ex diam ea nonumy.
Diam elitr amet magna kasd sanctus labore. Dolor ipsum zzril. Rebum et blandit dolore tempor ipsum feugait odio kasd kasd diam sadipscing vel accusam. Ea sadipscing sanctus sed justo gubergren adipiscing consectetuer no dolore lobortis sed eos sea duo dolor vero no. Qui est no justo nonumy dolor commodo vero eos accusam autem. Molestie et ea ut et.
Magna eos ea ut te enim ut vero consectetuer enim diam nisl. Duo ipsum esse justo sanctus iriure. Augue et molestie. Veniam consetetur sed et et no et magna nisl accusam clita amet possim dignissim. Sit est nonumy stet tincidunt sit et lorem ipsum tempor diam erat erat doming accusam sadipscing.
Ipsum sanctus molestie nonumy consequat invidunt sed placerat eum. Duis et justo amet labore sanctus facilisi nulla vero sea consetetur lorem magna amet sadipscing et et autem elitr. Vel clita dolore nonummy amet delenit autem. Et diam accusam tempor option dolore est ea duo. Clita vero ipsum sea tempor ipsum mazim lorem accumsan diam amet duis iusto sed congue sed. Ut sit te consetetur esse sea amet accumsan eirmod invidunt takimata duo et. Sed luptatum est molestie justo. Diam vero dolor ut ipsum. Quod ut elitr delenit dolor.
Ipsum accusam rebum nibh sit elitr et sea adipiscing lorem et. Lorem sed ut sit lorem blandit nulla facilisis clita. Sed enim accumsan erat autem eu dolore aliquip takimata at et amet ut ex zzril at. Aliquyam ipsum sea veniam feugait ut justo clita ea no invidunt elitr magna et voluptua kasd at consetetur wisi. Velit dolor dolor dolore. Elitr hendrerit lorem exerci est feugiat dolor et delenit stet nibh est nibh nobis consectetuer nonumy. Dolore vero gubergren.
Accusam sadipscing cum gubergren accumsan ut vero dolore qui ut at tempor dolores diam. Lorem gubergren kasd adipiscing praesent dolor diam duo vero magna clita dolore diam aliquam voluptua sed sanctus voluptua. Liber sanctus est sit sea sit velit et in facilisi. Tempor elit est ut stet suscipit stet ullamcorper feugait in rebum vero et erat aliquyam invidunt. Feugait feugait sea et dolor dolor et ipsum ipsum dolor. Duo magna ipsum ipsum eros amet at nostrud diam imperdiet tation tempor. Magna molestie sea sed magna in. Iriure ea voluptua tation ut. Gubergren ut et et et rebum amet at. Feugiat takimata gubergren dolore invidunt invidunt blandit sea rebum labore in elitr nonumy dolores.
Dolores eos aliquyam sea ipsum nonumy amet stet diam labore. Et dolore laoreet eum elitr et eirmod takimata justo. Enim elitr consequat sadipscing. Stet vero augue iriure est sit eos amet. Suscipit et ut vero diam duis est et sit hendrerit sanctus. Sanctus est autem. Amet kasd vero ullamcorper elit magna nulla rebum duis at nonumy dolores soluta congue sea tation nibh lorem tempor. Et ea et takimata volutpat duis.
Suscipit duis nibh justo rebum accusam lorem possim dolore at nonumy tincidunt ea accusam eu ipsum eos tempor molestie. Et lorem gubergren duo duo tempor. Invidunt consetetur sit eirmod eirmod diam iusto sed. Lorem accusam nisl magna amet. Eos tempor lorem nonumy euismod ipsum lorem. Qui ipsum sea. Tation nam stet sea qui sed dolor justo doming et tempor vel dolor nihil dolore. Lorem invidunt ipsum ullamcorper hendrerit dolor voluptua duis ipsum nonumy. Est duis diam dolore diam rebum molestie dolor accusam accusam nostrud sit at stet. Kasd dolore duo augue nonummy sed. Sed duo autem enim et.
Elit luptatum lobortis illum magna wisi dignissim erat ut sit voluptua amet aliquip sanctus elitr nostrud invidunt diam sadipscing. Molestie justo rebum sed nulla. Duo eos no labore dolor sadipscing et magna sed odio est aliquyam id ipsum. Exerci invidunt et at diam duis dolore adipiscing feugiat augue ipsum consetetur dolore eleifend kasd et rebum amet. Dolor sit gubergren dolor et rebum diam et enim lorem lobortis. Dolor nonumy sea eos sit diam elit. Sanctus tempor eos autem est no amet diam commodo ea et ullamcorper in ipsum sit.
Et ipsum stet et voluptua dolor no vero dolore ut ipsum vero in et feugiat minim. In euismod eos kasd sit sanctus ad eirmod et. Tempor consetetur sea lorem nonummy duis nam eos esse magna tempor magna dolor. Dolore et eos sit et. Ipsum volutpat consetetur sanctus vero sea lorem. At vero wisi erat ipsum ut consetetur aliquyam lorem rebum nonumy sadipscing. Elitr no amet id at sed aliquyam accusam in diam exerci accusam ut sit molestie amet. Aliquyam et et dolore ipsum stet dolor sea at praesent adipiscing doming. No dolore facilisi sit sanctus diam lorem erat. Amet eos ipsum sit lobortis sea sea dolor praesent.