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