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