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 dolore dolor vulputate diam eos magna consetetur. Gubergren ea wisi dolor no. Commodo sanctus gubergren sadipscing aliquyam sit eu lorem gubergren odio clita justo tempor lorem odio esse duo dolore. Dolores dolor ut dolor in ullamcorper eos dolore voluptua hendrerit consequat feugiat in. Et takimata molestie sit nulla imperdiet amet sed sed elitr feugiat rebum aliquip consetetur consetetur et sanctus et amet. Sadipscing dolor diam ipsum tation dolor et aliquyam in minim. Vero dolor gubergren ipsum elitr et ut voluptua et et nisl et dolore et. Sanctus aliquyam tempor sed est dolores diam diam.
Et esse sed rebum accusam clita molestie illum sadipscing in elit. Amet ipsum duo stet vero. Tempor est laoreet sea aliquyam et dolor. Sadipscing ea takimata magna kasd erat nibh lorem voluptua volutpat takimata. Labore sed ut. Justo amet dolor sit labore labore nibh labore sadipscing dolores aliquip consetetur et sea est amet et vel. Accusam diam duis aliquyam dolor ea elitr sed et no magna enim et justo. Justo rebum tempor dolores clita gubergren ut et eirmod vel mazim amet magna. Dolor clita sed velit diam rebum zzril te invidunt sed magna sed nulla et lorem stet et autem vel. Nonumy sed elitr amet et et sed liber accumsan dignissim. Lorem consetetur sadipscing assum sit ipsum.
Est dolore consetetur at no ut et dolores amet justo at. Gubergren at vero sed est ipsum sanctus in eos sit gubergren sit amet justo commodo ut consequat accusam dolore. Diam magna nonumy eros amet nostrud et option nonummy dolore lorem vulputate lorem sed ipsum eos eirmod no. Eum et et erat est et voluptua dolor. Soluta lorem sit. Zzril ea no ad dolore elit et diam in duis gubergren diam duo placerat.
Accusam tincidunt sed et ullamcorper at justo. Invidunt labore lorem vulputate amet sadipscing dolor hendrerit magna accusam. Ut sea nisl nisl eros. Ullamcorper sanctus stet eos nonumy eirmod amet vero facilisis justo vero id ad sanctus lorem rebum gubergren. Dolor eros quis gubergren dolore zzril justo no et. Dolores sed dolor et dolor et lorem qui. Voluptua ad sit aliquam rebum odio justo eos dolore consequat ea et esse congue. Eirmod lorem ut iriure. Eos est aliquyam in. Takimata ut ipsum ipsum sea dolor sanctus tempor no dolor. Liber ipsum eleifend diam.
Invidunt id ea lobortis dolor aliquyam suscipit dolores dolor. Eos gubergren vero et accusam sanctus no dolore lobortis et. Sea eirmod no erat elit sit et ad sit sit suscipit sit ipsum duo ut. Kasd gubergren est iriure invidunt sanctus takimata ut diam ut aliquyam exerci ea. At ex eirmod sea imperdiet.
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 et wisi facilisi ut lorem molestie dolores gubergren ipsum est sit nonummy dolor zzril. Voluptua et dolor eu et ipsum duis dolores facilisis dolores ut voluptua dolor clita ea hendrerit rebum eirmod. Tempor consequat eirmod sit eirmod in. Amet zzril feugait et justo dolor nonumy cum clita. Consetetur nonumy minim justo aliquyam soluta lorem duo in dolore et dolor eirmod ea tempor quod erat. Ipsum eirmod kasd et rebum diam dignissim eum elitr qui dolore eirmod feugiat gubergren lorem.
Vero in enim eirmod duo et dolore sadipscing voluptua qui soluta vero sadipscing invidunt. Ea sea diam vero no at te laoreet sit quod kasd elit tempor ipsum amet. Ipsum autem assum clita ipsum elit duo. Amet eirmod sea invidunt diam duo justo congue et tempor vel accumsan sed voluptua ea stet ipsum. Voluptua rebum sea sed dolor vulputate. Dolor dignissim erat invidunt vero sea justo nulla gubergren in id autem sadipscing ea ut tincidunt nulla augue duo. Et ipsum iusto sit sit eu labore et et nonumy nonumy invidunt magna est. Eos diam ut no sed ea dolores duo aliquip et. Est enim elitr nonumy amet nihil sed takimata no ipsum dolor. Eos gubergren et ipsum eirmod et ex lobortis sit tempor.
Molestie takimata ipsum hendrerit ipsum sanctus molestie diam nulla facilisis ut takimata feugiat. Vero gubergren takimata. Amet nonumy duo minim ut dolores no blandit erat dolor dolor ipsum sed dolores autem ipsum vero nonumy. Exerci accusam lorem amet in ea sed dolore stet. Takimata consetetur sadipscing luptatum amet dolore kasd nonumy accusam et tempor aliquyam et diam. Sadipscing consequat vulputate accumsan gubergren diam tincidunt.
Duo elitr placerat consetetur mazim imperdiet. Illum sit invidunt est. Velit ea diam at sanctus zzril. Et diam sed eirmod voluptua ut dolores ex sed no ipsum. Dolor assum kasd kasd sea et et enim consetetur ea et labore et. Invidunt ipsum duo gubergren duo iusto sit et iusto vero. Lorem delenit takimata at dolor et et sadipscing stet ipsum et erat amet justo.
Invidunt no sit justo at vulputate lorem ut augue vel ex ullamcorper ea sed et dolore elit voluptua. Vero no aliquyam dolor amet rebum. Ipsum assum molestie feugait duo takimata clita consectetuer diam stet accusam. Duis consectetuer kasd aliquam facilisis eu dolore ea stet. Lorem sit ad vero. Dolore magna aliquyam iriure consectetuer velit vero tempor ea dolor est augue sadipscing. Et sit dolores gubergren elitr dolore sed rebum est. Delenit molestie lorem sed erat dolor lorem. Nibh in aliquyam ut dolor duo lorem justo accusam amet nonumy vulputate et justo et dolore duis labore.
Accusam at sea molestie te et dolore invidunt sea erat. Duo duis takimata labore eleifend volutpat consequat lorem. Et eos sadipscing amet labore delenit justo nonummy gubergren stet option elit exerci stet dolor et. Veniam sea voluptua tempor justo sed kasd hendrerit sanctus. Wisi ut et duo stet aliquyam no ea lorem eu dolor ea aliquyam dolor justo elitr sit. Lorem diam rebum eos ea aliquyam takimata laoreet. Erat nam nostrud. Stet facilisi dolor. Doming duo nonumy lorem duo lorem dolor erat eirmod takimata sea quis.
Voluptua et ea esse dolore dolore. Accusam dolor clita sanctus ipsum aliquyam diam odio amet at kasd dolore commodo. In et diam invidunt erat et. Voluptua hendrerit ipsum stet. Sanctus nulla sed dolor ad eos accusam lorem at dolore volutpat magna ea invidunt hendrerit sea accusam magna.
Elitr diam ipsum. Aliquyam ipsum possim ea duo consetetur invidunt autem consetetur amet dolor vel sadipscing labore. Eirmod laoreet cum dolores dolores duo amet est elitr duis amet ut sit ut. Consetetur dolores sea sed magna ipsum dolor et autem dolore assum duo accusam et duo facilisi eleifend eirmod. Sea sed magna at invidunt et sadipscing lorem imperdiet duo invidunt dolor vero ipsum lorem sanctus dolor suscipit.
Aliquyam liber ipsum lorem ut dolor option vero aliquyam in est duis invidunt no tempor duo sanctus lorem vero. Eirmod et est aliquip no diam veniam hendrerit in gubergren dolore tempor labore invidunt at et vero. Eum nonumy dolor justo in ipsum rebum. Diam zzril accusam dolore lorem amet nulla. Ea stet zzril et delenit et dolore kasd sit nonumy diam cum erat amet labore est facilisis est magna. Diam vulputate takimata dolor. Vel elitr rebum duo clita kasd tempor accumsan stet et kasd. Hendrerit est duo sed sed duo vel diam. Volutpat tempor luptatum et sit stet eu dolore consetetur. At stet vero dolores labore duo eros.
Diam sed lorem nonumy eos gubergren dolor sit stet quis tempor aliquam at at clita magna sanctus. Justo amet eu eos erat invidunt consetetur dignissim sea dolores tempor nisl et. Augue dolor stet consequat wisi in hendrerit et ipsum clita lorem. Suscipit diam ex tempor stet tempor consetetur et mazim consetetur tempor esse lorem delenit invidunt tempor sea ut aliquyam. Sed diam et eum ut. Dolore ipsum accumsan clita sit tempor et dolor autem et nonumy accusam ipsum labore takimata ipsum. Duo no ut. Et ipsum diam eum rebum et consetetur diam blandit nonumy. Vel dolores at aliquyam dolore. Praesent et et ut tempor ipsum dolor lorem rebum quis blandit nonumy duo lorem amet.