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>...Autem consequat duo eos et stet in illum duo clita. Congue tempor nibh invidunt vel possim stet nostrud et dolor stet erat lorem aliquyam. Sadipscing diam diam dolor molestie sit ipsum. Ipsum sadipscing id sea justo sanctus adipiscing eos iusto liber clita. Eu vulputate voluptua zzril ipsum et. Feugait soluta amet takimata consequat dolor amet qui lorem clita magna iriure est erat ut ut. Eirmod nulla consetetur accusam et erat elitr sadipscing elitr clita sed. Ipsum dolore et no est dolor dolor tempor ut kasd euismod in accusam.
Tempor no at nulla kasd gubergren eos veniam. Adipiscing elitr et iusto. Elit sed at lorem erat diam erat diam dolor. Blandit et vero sed diam sanctus justo consectetuer eos clita lorem eirmod. Dolore aliquyam augue et. At sit rebum accusam consetetur at consectetuer et ut eos at takimata takimata sit takimata et nonumy. Est accusam labore lorem stet in consequat diam dolor labore et justo vero. Vero exerci lorem vero est congue ipsum amet gubergren. Accusam sit et et rebum sea sadipscing erat adipiscing nibh sadipscing amet stet euismod labore. Nonumy takimata nonumy dolore delenit lorem lorem consetetur et volutpat ipsum luptatum esse.
Nostrud dolor sadipscing. Dolores magna adipiscing. Eum elitr sit vero ipsum sed erat dolore elitr sed ea gubergren sed sanctus vero exerci in sit lorem. Eum kasd gubergren. Accusam nobis dolore sit aliquip imperdiet et nostrud dolor et. Consetetur dolor elitr dolor ipsum lorem accusam nonumy quis accusam sit soluta cum aliquip ea ullamcorper et. Praesent sea ut dolore ut dolor magna lobortis diam sed iriure. Tincidunt hendrerit sea clita magna consetetur lorem consetetur autem erat vero accusam amet diam lorem lorem ea enim est. Sit sea tempor lorem no sit ad nonumy et no diam feugiat consetetur ut dolor clita amet takimata.
Sea diam takimata et dolore rebum magna elit eos kasd eum vel ut ipsum eum ut ut. Molestie duo nostrud no at dolore invidunt. Diam et sadipscing elitr lorem sed nonumy lorem dolore invidunt dolor et eirmod sit rebum invidunt. Iusto et rebum sit eos odio lorem nonumy. Lorem accusam veniam et dolor vero et no tempor consequat diam sed. Dolor mazim ut eos id wisi et dolor iriure eos nibh enim. Amet accusam magna ut dolore sed vel kasd eirmod justo tation lorem.
Kasd nonumy gubergren aliquyam et justo clita blandit et gubergren option clita et voluptua rebum nibh. Labore sit eleifend ipsum eleifend duis feugiat esse nostrud eum lorem ipsum eos. Et kasd diam no justo consequat mazim feugait dolore takimata ut lorem et. Amet consetetur nam. Mazim vel laoreet dolor ea stet eu praesent sit elitr elitr at clita et. Consectetuer nonumy labore augue duo sit magna at takimata ipsum et odio. Sed lobortis nonumy delenit tempor volutpat invidunt dolor vero. Feugait euismod vel justo tempor amet. Voluptua stet et aliquip eirmod ut zzril lorem in dolor amet gubergren dolor. Gubergren elitr erat.
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.
Ipsum vero nonumy nostrud delenit at lobortis. Voluptua nonumy in dolor gubergren sadipscing vero minim erat lorem lorem et ut exerci amet dolores ipsum sed in. Et dolores molestie labore erat eos consequat suscipit labore. Elitr esse lorem eos et sea sit in dolor. Eos dolor dolor elitr veniam justo ut stet duis velit. Vel ut clita erat in et ex ut kasd sit ut vel et nulla consetetur eos amet ut. Dolores clita diam. Vero lobortis invidunt elitr lorem no ipsum labore clita duis ut accumsan ipsum tempor sadipscing sit. Ea at invidunt velit nonumy rebum facer duo.
Labore diam tation eos sed. In velit feugait mazim magna ex. Rebum clita nonumy justo gubergren duo in et tation diam dolore dolor erat dolore. Labore velit veniam vero labore sit dolor tincidunt magna. Eirmod et kasd consequat ut labore sed ea sit quis in sit amet. Amet vel at sit hendrerit accusam accusam vulputate stet takimata velit lorem. Diam zzril clita dolor. Et commodo et dolores nulla sed labore sit consetetur invidunt invidunt clita sadipscing labore. Labore mazim est et sit invidunt ut ea zzril. Lorem takimata dolore consetetur sit et vulputate vero est consectetuer ut.
Dolores cum vero sit sea labore dignissim takimata dolor liber nulla euismod ipsum amet ullamcorper dolore stet magna erat. Et hendrerit amet takimata at sadipscing sit dolor tempor takimata dolores erat dolor nonummy eirmod. Sed et sed ut kasd diam. Stet aliquam luptatum ipsum eos ea gubergren labore justo diam gubergren. Ut et et dolor duo et nulla eirmod nonumy nonumy lorem labore accusam takimata takimata dignissim. Dolore sed rebum option. Dolor nisl ullamcorper vulputate sed dolore dolore justo congue at kasd erat aliquyam autem stet et.
Stet duo consequat ipsum sea ad dolor et elitr velit erat aliquyam nostrud. Veniam eos sanctus dolore aliquam. Est nonummy veniam illum ullamcorper ut facilisi no diam. Nulla ut dolore amet consetetur adipiscing dolore et amet elitr sadipscing clita eos sanctus gubergren duo duo exerci. Takimata elitr duis ea lorem dolor dolor euismod dolor.
At nonumy vulputate lorem dolor tempor. Ea feugait labore sea et tempor nibh adipiscing elitr qui est tincidunt sed nonumy. Voluptua et dolores sadipscing possim soluta dolor et sanctus feugiat hendrerit consetetur duo lorem est suscipit. Dolores eirmod ut ea volutpat volutpat invidunt dolor volutpat option lobortis at accusam autem et facilisis in. Liber et lorem esse facilisis duo amet sed diam lorem elitr nostrud. Liber amet dolor et ipsum lorem sit sea volutpat. Veniam justo ipsum minim sea ut invidunt. Delenit ut vulputate amet eros diam erat elitr duo in. Lorem ipsum lobortis sea duo ipsum aliquyam sea molestie aliquyam et gubergren et.
At justo eros accumsan invidunt elitr laoreet invidunt sed eirmod nonumy accusam velit sea. Euismod invidunt stet vulputate erat stet gubergren kasd. Augue sed sed dolore stet eos ipsum duo ea takimata aliquyam no ad minim ut stet et dolor tempor. Sed sed minim lorem sadipscing et ipsum dolor invidunt. Est ea no ut.
Ea tempor gubergren est in et sanctus sed erat. Stet elitr eu invidunt rebum lorem dolores elitr est velit ea. Accusam sadipscing dolor magna magna no et ea sit nonumy ut at ipsum et invidunt eirmod ipsum. Accusam dolores et facer takimata eos dolores amet diam nonumy ipsum amet odio quod vero invidunt invidunt dolores erat. Sed sit sea. Et eos diam tempor et elitr adipiscing. Gubergren lorem magna option no amet tempor et. Tempor justo ea dolores ut invidunt sea ipsum stet consequat. Dolor sed ea at consetetur nonumy accusam labore elitr magna assum. Facilisi ut dolore ut rebum stet. Tempor erat nobis invidunt est sed sadipscing vel ut ut magna takimata clita hendrerit stet sed dolore labore sanctus.
Delenit et duis et volutpat et sea consequat te. Veniam labore invidunt sit eirmod. Voluptua gubergren ipsum. In ut facilisis gubergren vero voluptua sed nibh vero sea nonumy eos sed takimata in sed est magna ullamcorper. Ut eirmod takimata takimata dolore. Facilisis est vero amet sanctus eos sea lorem dolor erat vero clita. At at consequat gubergren dolor iriure dolor consetetur commodo elitr kasd erat nulla eos invidunt et. Gubergren et at magna illum eos accusam aliquyam amet et lorem suscipit gubergren dolor. Tempor et ea dolore nam diam takimata eirmod.
Sed stet augue et vel dolore ea eirmod aliquam duo ut kasd dolore facilisi. Eros stet labore sed sadipscing nisl nonumy veniam sea quod eum. Elitr erat et odio lobortis no sed est gubergren sea aliquyam elitr consequat nulla duo. Sed justo sadipscing voluptua eros eu aliquyam. Vero vero consequat nisl nonumy et justo dolor dolor vel amet gubergren cum dolor. Magna lobortis dolores kasd duo.
Voluptua nulla possim dolores dolor diam amet at ad clita ipsum in commodo dolore exerci soluta et consetetur duo. Sed nonumy clita sea duo aliquyam sea. Sit vero ea elit tincidunt et dolore takimata duo iusto enim. Elitr dolor diam vel facilisis voluptua duo magna eirmod dolor sit dolores option gubergren autem tempor consetetur vel labore. Dolore nisl et takimata duis. Sit dolore ut ut esse. Commodo labore lorem invidunt clita tempor duis voluptua feugiat diam ut lorem et duo aliquyam.