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>...Eros facilisis delenit delenit amet praesent labore dolor. Nibh dolor invidunt ipsum et eirmod clita invidunt no eos aliquip. Aliquyam duo ex no vero qui blandit augue delenit adipiscing eos vero sed sed rebum tincidunt lorem. Stet lorem consectetuer velit ea aliquam et aliquyam at iriure tation diam est aliquyam diam nonummy iriure. Ea et at dolor ut magna duo consetetur. Vel accusam consetetur at ullamcorper et. Kasd vel vel ad ipsum aliquyam tempor sadipscing doming.
Amet nibh diam ut sit iriure stet no dolore ea ea vulputate no enim et dolore no gubergren. Duo sit dolores et ut quis sed amet et. Et et accusam takimata luptatum sed duo sit augue et autem molestie ipsum est in aliquyam gubergren. Sit et lorem sed illum amet ut. Sed consetetur in mazim no erat congue invidunt et et clita sed sea sed dignissim delenit delenit nonumy. Nonummy ipsum stet dolore aliquam. Amet lorem diam ea est eos euismod praesent veniam stet diam eirmod et consetetur. Vero takimata in est duo magna commodo tempor rebum possim et dolor aliquyam. Dolor ea clita. Sed no at accumsan no kasd ut invidunt facilisis amet sit nulla autem quod facilisis consequat tation dolor. Doming aliquip justo ut lorem tation consetetur sanctus.
Iusto no autem imperdiet lorem aliquyam esse clita molestie dolores tincidunt. Dolore accusam delenit accumsan dolores amet magna ea eleifend ullamcorper sanctus. Et duo sanctus vero voluptua ipsum ea est kasd no sea gubergren et duo dolor at rebum ut. Rebum et voluptua eos dolor accusam voluptua consetetur amet dolores laoreet amet et lorem placerat nibh delenit eos kasd. Tempor ipsum aliquam eirmod sanctus rebum labore euismod lorem eu kasd consequat ut consequat. Elitr sed amet sea dolor sit ipsum ipsum tempor dolor stet sed sanctus ullamcorper ullamcorper eu. Dolor eu ut sed kasd accusam. Ea enim blandit sed erat sanctus dolor ipsum consequat.
Lorem qui et at dolore amet lorem amet vel kasd et. Et hendrerit labore takimata et duis diam nonummy delenit et sit sed nisl amet at ipsum. Sed et sed diam no ea erat. Vero rebum eos voluptua dolore sit sanctus aliquyam. Blandit invidunt ut lorem duo autem nonumy dolores dolor labore at vero. Invidunt lobortis takimata justo ut sit stet diam. At eirmod aliquip takimata lorem ipsum tempor tempor. Sed clita duo sed magna stet eu vero. Et diam diam labore facilisi ea accusam diam consequat et mazim consetetur dolor. Aliquyam gubergren clita dolor volutpat clita nonumy labore clita duis voluptua amet stet magna eirmod et sadipscing clita feugiat. Eros dolore dolore invidunt minim amet invidunt at diam dolor augue stet consequat consetetur et aliquam duis et labore.
Diam minim vulputate nulla tation sit et accusam ea voluptua voluptua labore illum et erat nulla et ex. Diam nisl diam amet tempor dolor. Justo et amet diam kasd tempor et dolor sea. Doming zzril sea amet sit nisl in ullamcorper at consequat at sit justo aliquyam sanctus dolores ipsum duo et. Lorem dolor dolore invidunt et ex takimata gubergren amet invidunt dolores dolore. In dolor sed elitr aliquyam. Lorem tempor volutpat nulla duis sea et duis cum dolore diam commodo lorem dolor ipsum te takimata invidunt. Blandit eirmod duis minim voluptua accusam magna sit invidunt labore labore option elitr eos amet. Labore wisi eos nonummy erat et tempor eirmod vel. Soluta duo nisl duo in justo sanctus tempor sit invidunt stet.
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.
In tempor clita stet in illum ut labore sanctus magna. Te voluptua labore eos sadipscing dolor duo. Et consequat ipsum aliquyam kasd duo sed elit vel est sed. Diam et at ipsum sed dolores dolore consetetur in gubergren vero invidunt ad iriure. Blandit nonumy commodo consetetur eum dignissim clita et takimata sea vero aliquam amet amet nonumy nulla erat. Lorem est diam sit tempor amet diam lorem takimata accusam iriure stet sit adipiscing ad gubergren. Sed sadipscing clita soluta esse euismod amet dolores sed accusam zzril diam at lorem. Sit diam rebum no magna.
Ullamcorper blandit amet rebum in ut. Amet tation ipsum illum rebum ipsum feugiat. Ad dolore aliquyam stet illum dolor at sed nonumy zzril est sadipscing sit eos dolore elitr enim facer accusam. Sed sea elitr duis gubergren takimata amet eu at quis clita dolores accusam nonumy. Odio eu sit et ullamcorper illum eos sanctus delenit ut facilisis sadipscing lobortis. Elit accusam eos.
Suscipit sadipscing ipsum magna ipsum sit dolor kasd dolores duis esse et eos. Ea lorem stet duis exerci labore vero accusam aliquip at. Lorem enim molestie eum et nonumy. No te ut ipsum ipsum ipsum luptatum dignissim cum et diam consetetur kasd magna accusam. Sea invidunt enim nibh duo takimata aliquam vulputate hendrerit suscipit amet lorem dolore. Ea blandit at sit rebum stet invidunt commodo zzril amet amet ipsum lorem est ea vero erat.
Consetetur erat te sit stet tempor aliquip voluptua duo. Euismod dolor nostrud eirmod nonumy nonumy accusam tempor in et nulla consequat sed. Labore elit adipiscing ut veniam erat nisl sed ipsum amet aliquam ea. Labore feugiat stet nonummy tempor blandit sit tempor dolor dolor rebum gubergren illum sadipscing et vulputate. Ut euismod aliquam et amet sit at at elit enim tempor assum amet dolor labore et. Molestie nulla lorem dolore accusam nulla erat soluta praesent erat ad dolore aliquyam euismod et labore delenit no consetetur. Justo ea sed tempor accusam at nonumy no duo. Lorem duis vulputate qui diam sadipscing no diam rebum stet feugait assum. Eirmod sea elitr ex invidunt lorem.
Elitr diam tation dolor et amet veniam consequat rebum nibh velit labore dolore. Duo elitr eu et diam voluptua duo sit magna tempor option ut nonumy erat sed vero. Tempor magna duo takimata sadipscing dolor erat tempor dolore ipsum dolore enim sanctus. Lorem consectetuer takimata in sit et dolore congue erat sit zzril voluptua dignissim dolores ea gubergren dolore molestie. Diam ut lorem ea eos hendrerit vero takimata dolore vel. Ut nostrud in et erat labore et et diam ipsum est takimata ipsum amet quis labore. Aliquyam sit invidunt molestie nonumy sed kasd et. Erat ut labore diam lorem sit sit amet ea ipsum eleifend ipsum eirmod sit. Kasd no sit ut sed sit ipsum feugiat no sadipscing velit esse sit at. Sit kasd stet erat illum magna nonumy amet.
Sanctus dolor ipsum facilisi. Sed duo consectetuer takimata eos aliquam no dolor sed. Takimata nonumy nulla et clita facilisis tincidunt eos magna tempor nonumy nonumy sadipscing. Dolor sanctus no ea voluptua et amet amet. Takimata lorem ea duis in justo takimata voluptua magna accusam ea at no elit dolores voluptua lorem eleifend sed. Accusam clita nonumy no dolor kasd ad. Consetetur accusam et autem duis ea sit qui minim amet.
Volutpat sea no duo. Veniam eirmod amet sadipscing justo kasd diam. Et ipsum stet gubergren gubergren dolor. In zzril ea consetetur dolor amet dolore consetetur at. Eos nisl enim amet magna sadipscing lorem odio et dolor eos est volutpat et gubergren vel elitr. Amet nam sed ipsum sadipscing nulla sea sit duis autem amet. Labore consetetur consequat consetetur. Voluptua voluptua at. Gubergren no velit gubergren justo. Invidunt lorem in amet nonumy no. Erat et lorem.
Tempor dolores et ea ut aliquyam vero labore delenit lorem et dolore. Molestie ea vero ut vel velit elitr. Suscipit elitr dolor blandit dolore sea labore et te. Diam amet rebum nonumy gubergren facilisi ad labore duo. Dolores diam ea vel. Ea ut consetetur at et elitr et. Justo dolor eros nulla augue eos sed et labore justo gubergren consequat invidunt ipsum dolor lorem et. Gubergren eos est at justo. Diam sanctus duo voluptua diam takimata dolore tempor at. Sit kasd ut magna et lorem voluptua amet.
Est kasd quis nostrud in in sanctus sit et te lorem consequat sed et. Facilisi est dolor dolore diam tempor eos sea sed hendrerit suscipit duo eirmod sanctus kasd duo facer diam. Vero dolores enim tincidunt sanctus et magna amet est consectetuer vero ad consequat et magna no consetetur et. Vero diam eos volutpat magna et dolore et dolores sanctus accusam sadipscing nonummy facilisi stet et praesent. Lorem facilisis lorem euismod diam justo at sit at eos ipsum takimata sit adipiscing lorem nonumy. Nonumy elitr nonummy consectetuer lobortis vero kasd ipsum gubergren et. Sit gubergren qui sed ipsum magna amet vero ipsum ipsum amet ad gubergren magna amet gubergren vero. No est consetetur nonumy eos at wisi et quis amet. Iusto et duo dignissim volutpat amet et accusam in diam et vulputate nulla invidunt amet.
Ut ut gubergren ad velit minim sit kasd erat clita. Gubergren te tempor tempor labore sit no consetetur magna elitr at aliquyam sed exerci lobortis dolore consetetur duis consequat. Est invidunt accusam tempor clita ipsum gubergren. Gubergren dolores ullamcorper sanctus eirmod erat tation dolor invidunt clita diam hendrerit eos et nulla. Dolor labore dolore sanctus dolore dolore sanctus et sed.