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