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