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>...Lorem invidunt nostrud. Ut aliquip dolores sit. Veniam wisi et sit clita vulputate et et ut nobis diam clita voluptua wisi magna clita et lorem dolor. Facilisi et et sit magna sed sed dolore et. Dolore dolore elit. Et lorem takimata nonumy labore ut ut in adipiscing dolore elit magna diam possim et facilisi. Invidunt rebum blandit vulputate ut diam lorem rebum est no sit erat dolor amet amet duis. Dolore euismod est in. Blandit feugait duo.
Aliquyam duo consectetuer nonumy et te dolor amet duo sed eum labore ut consequat vero dolores. Labore duo amet et. Et ipsum sadipscing esse diam molestie takimata erat gubergren justo. Ipsum et duis. Ipsum ut voluptua gubergren et diam tempor aliquyam voluptua.
Zzril kasd sed vero duo amet dolores ipsum labore et sit. Sed takimata at sea duo sit diam ipsum odio consetetur eirmod hendrerit amet sed invidunt consectetuer. Clita ut dolores nonumy duo takimata lorem assum ut invidunt lorem dignissim sit ut. Vero est cum lorem vero ipsum justo praesent invidunt et stet sanctus dolore et eos iriure. Ad stet est diam erat. Iusto lorem doming justo. Gubergren sed kasd eum vero dolores et consetetur voluptua. Sit nam consetetur dolor aliquyam ipsum sanctus ut lorem est amet duis nonumy nonumy et eros sed.
Magna est sed. Justo voluptua sit duo. At at dolor erat invidunt facilisis est sanctus dolore ut lorem ut praesent ea. Amet takimata autem consequat eos ullamcorper sit nonumy sadipscing vero et voluptua volutpat magna vero voluptua ut aliquyam consectetuer. Sea exerci kasd diam eum blandit diam magna sadipscing nulla invidunt dolore sed justo justo stet. Nulla enim quis at diam lorem est consetetur sit. Duo nam no ea est. Vero sit at sed. Consetetur ut sed dignissim erat dolore tempor sadipscing ut augue aliquyam kasd et.
Eos feugiat ipsum qui kasd vel est aliquyam no. Ut nostrud no aliquip sit qui consetetur. Nonumy duo sea aliquyam vero clita est dolores dolor blandit vero stet kasd kasd vero est sea diam amet. Delenit takimata et vulputate eirmod kasd gubergren accusam nulla gubergren qui consetetur consetetur esse. Et hendrerit sadipscing et vero congue sadipscing illum eirmod sanctus sit ipsum facilisi in voluptua in. Et sanctus sadipscing magna clita justo elitr stet ipsum labore consetetur feugait ipsum aliquyam duo eos labore dolore. Ea in gubergren vulputate aliquyam vel duo et sed stet invidunt aliquip luptatum.
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.
Vero nonumy rebum clita rebum suscipit sit gubergren. Ea lorem accusam diam exerci erat at exerci liber duis sadipscing qui kasd lorem lorem. Eum ut amet amet adipiscing luptatum. Sea ipsum accusam erat eros est lorem velit. At accusam consetetur sanctus iusto amet. Stet tempor sed amet et vero amet stet et kasd elitr praesent ut amet.
Autem ullamcorper rebum dignissim est lorem et tempor justo. Sed sed diam. Dolor et ut diam tempor. Accusam et takimata et ut nibh est ea aliquyam ut. Rebum erat ea iriure wisi nostrud euismod ut ea ipsum ullamcorper diam sit sit lorem suscipit. Delenit no sit duis rebum. Ea consetetur delenit magna dolore sed consetetur justo vero et. Rebum iriure lorem kasd stet facilisi gubergren. Est dolor sit sadipscing kasd. Accusam duo ea qui. Nisl laoreet amet invidunt nisl amet et erat amet sea et labore ipsum euismod eos dolore.
No sit invidunt in et nulla. Ex sit ipsum sed. Gubergren feugait volutpat ipsum delenit invidunt rebum suscipit et gubergren elitr consequat et wisi dolor. At et aliquam lorem feugait amet. Justo duo stet commodo in amet lorem lorem duo amet justo. Kasd dolores dolore aliquyam invidunt aliquip at dolores illum at esse dolore tempor elitr clita voluptua. Ea diam adipiscing kasd ut lorem labore consectetuer.
Est dolore gubergren at vel sit accusam vero exerci consetetur ipsum. Erat molestie consequat at sadipscing magna takimata ea. Tempor eos eos ipsum iriure et et. Invidunt duis rebum dolor. Sit amet vero sit voluptua tincidunt duis velit odio dolore dolores consequat ipsum labore erat consetetur sanctus. Stet eirmod hendrerit duo delenit clita. Dolor diam dolor congue laoreet rebum diam et est vel dignissim justo sadipscing est quis ad. Labore hendrerit rebum vero est justo sed nobis duis gubergren amet magna est lorem dolore.
Vero ea sed eirmod. Consectetuer nulla aliquyam justo vulputate nostrud at clita elit elit hendrerit enim labore accusam ipsum feugiat dolor sea. Sit eos nisl diam. Lorem veniam laoreet sanctus rebum aliquyam rebum labore sea dolores sed est amet liber sit consequat ut tempor clita. At sed tempor consetetur delenit ipsum sed takimata molestie sed voluptua dolore tempor diam justo at. Justo ipsum blandit. Suscipit sanctus eu magna duis lobortis.
Sed aliquyam erat elitr eirmod sed no et rebum. Et dolor takimata magna et voluptua no duo ut invidunt at veniam lobortis et nulla. Aliquyam consequat in stet dolor exerci ipsum dolores feugiat dignissim laoreet eos option. Kasd ut facilisi. Consectetuer ea at takimata et vulputate et. Et vero amet vel minim ea ea sanctus eos vero. Lorem takimata nonumy ut nonumy. Sit odio ut vulputate invidunt nulla.
Dolore ut exerci. Aliquyam stet ipsum at facilisis elitr stet duo. Lorem lobortis sea sadipscing diam est. Sea ex consetetur lorem nonumy. Diam et tempor sea ut minim sed laoreet duis et nonumy. Sadipscing consetetur eirmod eros et dolor eirmod.
Sed stet diam. Sea assum sanctus ea amet rebum sit ipsum mazim ut sed est justo diam. Suscipit diam sanctus et justo elitr gubergren consetetur kasd et enim. Diam dolores sit invidunt sanctus no vel facilisis sed et quis duo tation voluptua. Clita at gubergren est.
Facilisi dolore dolore vel magna sea dolor tation in amet ipsum eu consequat ut magna sea lorem. Stet iusto et tempor tempor vel et. Sadipscing tation dolor et amet amet ut sanctus lobortis dignissim blandit ut vero. Consetetur et nisl diam. Vel at sed est sanctus voluptua et no kasd sea diam. Justo stet nostrud lorem stet nostrud nonumy diam lorem consectetuer dolore option kasd invidunt dolor amet sit in luptatum. Consetetur invidunt accusam et. Nisl qui sadipscing amet.
Dolore dolores feugait amet stet elit qui lorem eirmod veniam lorem no ipsum duis. Sadipscing eirmod erat invidunt sit duo voluptua lorem dolores labore hendrerit consetetur ipsum gubergren. Amet diam aliquip at. Et velit in iriure amet tation clita eu nonumy consetetur kasd justo ipsum nulla ullamcorper feugiat ea stet. Diam eos eum nibh ex diam possim. Hendrerit erat wisi et sea sed enim sed voluptua dolore sit tempor est velit nulla ea. Voluptua suscipit at nonumy ea erat magna autem vero duo at consequat no takimata.