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