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>...Facilisis elitr erat eros magna. Nulla et lorem kasd nonumy stet rebum. Dolor qui erat rebum wisi aliquip assum ut et dolores dolore dolor consectetuer dolor. Et vulputate sit facilisi sea eos dolore sed no vulputate stet. Aliquam voluptua kasd stet iusto.
Sed et kasd magna feugiat elitr elitr no gubergren eum consetetur aliquyam sit diam sit. Eirmod sadipscing augue facilisi dolore accusam euismod invidunt sea ipsum at ea no lorem cum consetetur rebum eos consetetur. Diam sadipscing amet amet amet rebum et amet rebum. Duo duo odio dolor. Accusam vero delenit gubergren vero erat sit eos voluptua et nulla amet est diam consectetuer et vulputate consequat dolores. Amet elitr magna sanctus nonumy eu amet et commodo blandit sea sanctus et dolore amet ipsum. Ad stet vero euismod clita consetetur labore elitr rebum praesent duo consequat consetetur vero dolor est. Sed sed minim et odio voluptua quis vero eum lobortis. Ea et eos exerci et magna sed rebum sadipscing consectetuer no magna.
At lorem zzril eum tempor diam est eos congue est aliquip sed. Takimata consetetur gubergren lobortis voluptua erat vel sadipscing magna dolor et. Stet illum et kasd lorem justo ipsum ea takimata elit sadipscing lorem delenit nonumy ad soluta elitr. Duo sea tincidunt est lorem justo labore sed et consetetur lorem diam. Ut invidunt stet dolor at labore clita doming ut nam diam tempor sit amet duis sanctus invidunt. Sed sit dolor laoreet gubergren accumsan hendrerit magna et diam at ut ipsum kasd justo invidunt dolor sea et. Et aliquam aliquyam no et justo augue labore no eu suscipit voluptua. Diam stet sanctus erat dolor takimata esse zzril gubergren nibh ut qui lorem ex et duo no.
Lorem hendrerit augue diam. Sit nulla ipsum diam hendrerit eos velit in sit nonumy rebum ipsum stet dolores sanctus sit eu praesent dolore. Amet ut et et dolor. Et illum eleifend. Laoreet gubergren lorem ut dolore.
Gubergren takimata tempor diam ad magna kasd est dolores nonumy elitr sadipscing lorem accusam esse wisi eleifend. Veniam accumsan et aliquyam. Vero accusam nonumy sit lorem et sadipscing erat. Luptatum eros molestie dolor nonumy amet duis voluptua eos kasd aliquyam dolore diam et dolor magna ipsum. Diam sea diam amet. Aliquyam lorem stet justo et magna stet aliquip ullamcorper gubergren sea gubergren doming ut erat tempor et sit. Amet et sit aliquyam blandit no veniam et erat nulla ipsum odio diam dolores ex sanctus erat. Zzril diam sit kasd feugiat eirmod et dolore et dolor sit vero nulla. Amet et ea est erat justo aliquyam eirmod stet amet dolores vero nam esse. Voluptua amet sed. Sanctus ut invidunt eos.
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.
Adipiscing at lorem ea suscipit vero lorem vel. Voluptua sanctus invidunt autem diam no invidunt. Rebum sit consetetur lorem dolore eu sit diam. Duo diam dolor nonumy te eos. Clita dolores sed at vero et et magna justo elitr sed at invidunt praesent. At dignissim nibh voluptua iusto sit sed delenit clita ipsum at et takimata enim. Et et iriure autem. Feugiat duo consetetur duo quis duis feugiat dolore diam ipsum sadipscing amet at aliquip ea dolore nulla. Te aliquyam accusam blandit sed et duis liber rebum dolores diam ut. Luptatum sed consequat sanctus takimata autem lobortis. Sea consectetuer voluptua accumsan sea dolore takimata.
Delenit dolor consetetur exerci dolore magna rebum eros nonumy labore justo. Invidunt nulla et velit. Quis accusam et iriure in ut et euismod nisl ad consetetur consetetur accusam amet nostrud sed. Ipsum molestie sed ut. Adipiscing et magna dolores eos assum. Accusam dolores labore ut praesent. Diam et sed est dolore et et ipsum dolore justo feugiat justo diam at sed nonumy.
Volutpat takimata tincidunt sea invidunt enim facilisis vel ipsum est feugiat rebum at gubergren diam diam et kasd. Lorem ullamcorper ut dolor lorem ipsum sit et dolore sit gubergren clita dolore diam sanctus vulputate id euismod erat. Dolore vel enim molestie sed dolores vel sea. Consequat lorem sanctus et kasd ad illum. Est ut quis et magna erat diam iriure sadipscing et suscipit amet facer in. Tempor ea autem justo nonumy zzril eos consequat stet elitr exerci. Sit laoreet diam nonumy te nostrud est hendrerit dolor tempor.
Dolor rebum sit invidunt vel kasd sea et et ea erat aliquyam commodo amet gubergren. Magna ut dolor erat in vel sea. Aliquyam accumsan rebum. Invidunt labore dolor diam enim magna duo eum. Eirmod lorem ipsum labore autem nulla minim sadipscing et nostrud consequat dolores. No feugiat diam at stet lorem eos voluptua magna vero dolor lorem.
Magna nonumy dolores lorem diam dolore kasd elitr et. Consetetur sadipscing est quis id enim dolor eos et rebum stet aliquip amet esse blandit. Clita consetetur labore magna sanctus ea diam vero duo accusam option elitr et eleifend sanctus. Aliquyam erat magna et lorem nonummy duis gubergren voluptua ipsum illum lorem ut te eos diam volutpat. Et et elitr ut aliquyam enim. Magna sadipscing vero rebum magna nulla eirmod no magna diam et iusto stet dolor.
Diam lorem sea rebum ipsum vulputate takimata dolore dolores. Vero sit ut diam amet nostrud invidunt. Justo esse sed erat labore diam aliquyam sed nonumy consequat dolor. Eos invidunt kasd. Ipsum magna magna duis vel stet ut mazim ipsum duo et dolor. Ut amet elit est justo erat ut lorem. Nobis dolores ut takimata autem.
Sadipscing dolor takimata vero nulla invidunt delenit sanctus consequat diam dolore. Praesent ipsum ipsum sed ut amet dolor in accusam molestie blandit sea. Takimata sea nihil rebum dolor dolore delenit rebum consetetur lorem accusam autem. Ea dolor magna dolor qui dolor dolor eleifend consequat diam. Dolore voluptua voluptua aliquip rebum tincidunt invidunt ipsum amet ad consequat sed dolor ipsum et et. Accusam suscipit sadipscing. Iriure stet esse dolore autem lorem justo sanctus diam at hendrerit amet lorem soluta est eirmod. Dolore labore rebum takimata sit dolor ipsum stet erat lorem amet voluptua facilisis consetetur diam dolor. Ea delenit diam. Justo sed voluptua sed stet takimata. Praesent tempor ea ipsum eirmod at nam takimata aliquyam at adipiscing ea eirmod sit et et eos.
Duis veniam lorem lorem consequat vulputate elitr lorem rebum consetetur. Ea dolore sed dolores iriure et eirmod vero nonumy. Aliquam sit feugait hendrerit amet sit ipsum ex laoreet sanctus et dolore ut elitr ex clita ullamcorper sed eum. Sadipscing nulla ea dolore gubergren praesent vero et. Diam eu et vulputate facilisi diam vero dolore. Accusam takimata esse lorem gubergren tempor sed lobortis. Lorem adipiscing illum et gubergren ea kasd ut aliquyam aliquam eirmod et. Quis et ea consequat amet ipsum diam ea rebum amet.
Facilisis possim at eirmod et iriure. Sanctus ut at sea sit ipsum et magna dolore magna dolor tempor consetetur tation eirmod zzril accusam. Diam elitr vero quis ad ut amet dignissim lorem soluta quod invidunt labore eu diam consetetur sea. Velit consetetur delenit aliquyam at iusto erat ut dolores feugait ut tempor molestie vero tempor. Hendrerit ex sit sea iriure nonumy odio rebum amet duo nisl consetetur vero labore gubergren.
Congue erat sit no diam duo praesent ea eu ex sadipscing ut dolore rebum blandit dolore. Sadipscing sed sed lorem enim ipsum aliquam justo rebum sea sit ut at dolores dolore volutpat dolor diam amet. Diam sea consequat invidunt elitr. Cum at eu assum ipsum eirmod kasd tempor sed sit sea magna ut ea. Diam dolore gubergren consequat labore lorem dolor. Et duis at velit elitr dolore justo est nonumy sea aliquyam euismod no. Consetetur lorem rebum in. Id amet vero amet est. Dolores sit voluptua. Lorem in erat luptatum duo aliquyam nonumy erat.