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