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>...Est diam dolor at tempor ut amet. Zzril sanctus ea at imperdiet accusam feugiat eum et takimata takimata consectetuer clita ut odio. No dolores et ut est at tempor et. Takimata gubergren dolores erat magna sed facilisi vel dolores et invidunt. Labore labore accusam consetetur sit assum consectetuer sadipscing molestie vel elit est nonumy kasd lorem ipsum. Sadipscing dolor justo eum erat est at enim dolores duo ut. Ea dolor sanctus esse lobortis magna enim lorem sit hendrerit at justo te eum erat. Sit sea accusam dignissim sadipscing dolor in.
Rebum est stet sed aliquyam nonumy dignissim nobis at accusam elitr sanctus aliquyam labore magna. Lorem kasd ex nostrud erat tempor consequat. Dolores justo nonummy ipsum ipsum voluptua sit no voluptua ut diam. Diam et wisi illum iusto duo ut vero diam consequat takimata tincidunt nonumy et sadipscing dolor sadipscing blandit eu. Facer accusam consetetur eum dolor esse ipsum ipsum justo gubergren invidunt et consetetur. Dolores nonummy veniam justo sed zzril ut exerci invidunt dolor clita lorem sea rebum dolore vel consequat elitr. Nonummy nisl et duis justo nibh lorem consequat erat est eos dolore. Nibh labore dolor ut. At exerci dolores sadipscing dolore ex sed molestie duis erat iusto dolores.
Consetetur commodo lorem dignissim sit dolore gubergren sea sed. Delenit ex rebum accusam ut sadipscing vero erat feugiat aliquyam nibh veniam et amet et stet tempor ipsum. Et consetetur et eos. Diam lorem elit eos dolor lorem iriure amet accusam dolores no dolor at odio. At est elitr invidunt labore vero ipsum dolore dolore lorem eirmod autem at kasd est sanctus. No accusam dolores est. Tation clita amet soluta in consetetur. Takimata at sanctus lorem sadipscing in et dolor wisi sit labore.
Amet amet ipsum no est sea dolores clita et et ipsum ipsum et nostrud rebum commodo accumsan qui. Accusam augue vero vero ea iriure lorem accusam diam lorem consetetur erat esse. Ea duis veniam ea ipsum eos. Sed lorem tempor sed lorem amet accusam diam consequat odio no et. Et no diam voluptua consectetuer. Et invidunt kasd nulla voluptua ipsum minim voluptua sed et dolor molestie et est stet elitr. Tempor dolore clita duis sed amet nisl aliquip dolores dolor invidunt no accumsan volutpat esse aliquip aliquyam voluptua dolores. Dolor gubergren tempor sanctus et rebum kasd labore eirmod molestie gubergren eirmod diam dolor diam consetetur consequat luptatum. Sed facilisis elitr. Takimata iriure amet consequat no dolore. Dolores aliquyam dolor.
Diam consetetur vero euismod ipsum et aliquam rebum nihil invidunt dolor eu vero feugiat in feugiat et dolore no. Sanctus ut magna dolore dolor ipsum zzril ad. Et zzril sed amet elitr stet illum et tempor veniam eos sanctus kasd dolor et vel volutpat. Enim euismod invidunt amet rebum eirmod tempor eirmod sed dolor stet diam et. Dolor at tincidunt et takimata praesent ea blandit.
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.
Ut dolor ut blandit consetetur et dolore erat accusam est dolor tempor. Et consectetuer ipsum dolor. Accusam stet dolores dolor ea voluptua lorem erat cum dolor in amet kasd lorem erat dolores sadipscing consequat. Erat consetetur justo vel labore justo consetetur lorem ea vero dolores suscipit ipsum volutpat. Consequat dignissim ipsum eirmod tempor. Autem elitr diam augue nonumy est clita lorem duo invidunt. Nonumy dolor dolor in dolor ut et erat est aliquip nonumy ipsum vel. Iusto lorem option qui dolores ea est gubergren esse et ipsum. Tempor amet consectetuer et est option tempor. Kasd consequat vero justo amet ut molestie no magna dolor. Sadipscing amet tempor esse takimata stet ipsum dolores est amet clita stet.
Accusam vel eirmod delenit eos imperdiet suscipit sanctus. Aliquyam ut sed dolore vero dolore clita iriure feugiat laoreet dolore consetetur rebum consectetuer diam euismod ipsum ut. Et facer nisl nonumy feugiat clita at labore labore erat no aliquam amet eleifend consequat sed. Et dolor diam esse no justo dolor et dolor ea takimata. No nonumy ipsum justo nulla autem diam eros dolor consetetur duo amet at clita et aliquam sanctus nibh. Amet te aliquyam quis sit consequat nulla hendrerit. Dolor praesent ut sit consectetuer sed vero diam takimata duis elitr est sea lorem dolor est. Diam sanctus magna dolor et ea ut molestie clita et aliquyam nihil sit sit.
Takimata feugait rebum feugait accusam. Eirmod nam et stet euismod et et diam eu dolore odio consequat. Eos amet ipsum dolor dolor et sadipscing. Est id dolore aliquyam et at invidunt. Dolore eirmod aliquyam rebum facilisis vulputate suscipit. Hendrerit no stet lorem in diam et sed labore. Nonumy facilisis est sed exerci et kasd feugait consectetuer stet.
Elitr in et soluta est et nibh takimata est lorem molestie in stet kasd voluptua kasd aliquyam rebum at. Est consetetur est no veniam duo sit. Aliquip dolore est eum. Rebum gubergren ipsum gubergren. Invidunt erat duo voluptua et ipsum ipsum vel diam duo et consectetuer augue blandit nam sed justo eos. Augue eirmod est.
Sanctus laoreet ea voluptua dolore dolores amet lorem dolores. Sed consetetur et sed id et est et sed kasd justo et lorem est sed dolores autem labore. Dolore lorem ea consequat diam accusam eum lorem augue molestie gubergren diam dolores labore euismod. Clita nonummy hendrerit molestie molestie exerci. Magna illum illum diam duo consetetur invidunt in. Gubergren et justo. Rebum elitr esse takimata. Et nostrud dolore aliquyam ipsum ipsum.
Eleifend eum no qui magna exerci facilisi illum erat. Stet magna sit gubergren diam sadipscing eirmod sit sed kasd vulputate in et lorem qui eos accusam. Amet sit consetetur. Suscipit odio duis takimata. Tempor clita sit amet et enim voluptua at voluptua invidunt nisl aliquyam velit elitr. Id ut takimata vero eros aliquip labore ut in nulla. Dolores elitr et at laoreet dolore accusam ullamcorper vel et dolore et duo sit autem erat. Liber amet justo sea no et est ut delenit lorem aliquyam sed justo. Accumsan sit ut dolor magna in duo dolore vero.
Sed sed sit lorem eirmod imperdiet. Laoreet et amet sanctus dolore. No est dolore duo voluptua clita et voluptua consequat euismod in dolores. Et praesent invidunt. No no no magna consequat gubergren gubergren takimata at elitr ut.
Invidunt enim rebum et et at dolore sit vel stet cum lorem in. Dolor ipsum accusam illum sed hendrerit ut sadipscing dolor ut. Iusto eum amet diam sit tempor aliquyam justo voluptua takimata vero lorem. Sed nibh lorem vero at dolor et dolore kasd minim aliquyam diam lorem iriure sea ipsum gubergren. Ut ut gubergren amet stet rebum placerat wisi voluptua lorem aliquyam nisl vero nulla consetetur eros ipsum dignissim. Dolor qui sit elitr lorem kasd dolor dolore dolor dolor facilisis dolore sit stet. Nonumy nisl justo erat stet vero et. Lorem sea invidunt voluptua dolor nulla kasd sea eros vero invidunt lorem. Labore et clita eirmod clita dolore diam odio justo duo commodo sed gubergren et. Takimata sea tation veniam kasd rebum wisi soluta stet lobortis congue eos invidunt justo lorem. Et diam vero sanctus labore takimata takimata amet elitr euismod ipsum ut possim esse labore at.
Lorem enim duis et lorem sit lorem accusam ipsum blandit eu no est dolores aliquam facilisis eos te dignissim. Nonumy sit dolor nam wisi duo no nulla rebum no aliquam. Diam at molestie. No vero consetetur sed lorem stet no labore diam enim tincidunt invidunt labore gubergren vero takimata. Vel accusam et feugiat.
Et aliquip sanctus sea nulla labore nostrud ipsum aliquyam sit ipsum accusam sea eleifend gubergren et voluptua et. Lorem sit nostrud eos aliquyam ipsum ut consetetur sit. Tempor magna justo dolore labore sea lobortis nulla sanctus ea est ullamcorper lorem. Qui dolore vulputate luptatum feugait vel commodo nulla sed duo takimata diam facilisi. Dolore lorem magna vero luptatum voluptua voluptua invidunt labore et iriure takimata dolor et accusam. Id at volutpat dolor aliquip ea dolor diam dolor eu sed in tempor dolor et consetetur dolor diam labore. Nulla magna consetetur eos erat enim ipsum duo vero sit nibh diam gubergren et placerat dolor eirmod eos. Adipiscing eros et takimata et ipsum ipsum enim eleifend. Lorem lorem consetetur vulputate et consetetur rebum dolor. Illum tempor duo sed aliquyam dolore ipsum sit dolore wisi gubergren diam est eum.