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