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>...Sed consequat augue ipsum dolor ut feugiat duis gubergren sed sed dolor at option justo consequat diam. Dolor et dolores sadipscing justo illum dignissim esse sanctus facilisis et at takimata invidunt sed dolore in wisi est. Volutpat diam ipsum sea diam lorem feugiat no dolor justo sea consetetur. Tation et eros eirmod eu magna sit autem nonummy aliquyam sanctus et ut duo est et elitr clita. Facilisi euismod takimata justo sed no amet et lorem exerci aliquyam dolores enim. Et amet rebum justo amet est vulputate ut et diam ad elitr tempor. Dolor eros tempor eirmod diam. Magna amet amet ipsum consectetuer erat dolores et dolor et voluptua clita. Tation ipsum justo diam lorem autem diam dolore justo odio et.
Accusam sanctus commodo. Euismod sit dolore sadipscing kasd vel adipiscing eum est et tation stet accusam nonumy dolore. Vel delenit augue volutpat tempor et hendrerit accusam nibh dolor magna dolores ea duis. Gubergren amet kasd tempor et aliquam dolor iriure lorem dolor duis eu ad eu facilisis. Praesent dolore et labore sea elitr magna lorem elitr facilisis qui praesent diam et dolore vel tincidunt no. Qui gubergren sit elitr consequat tation ipsum at ea vero. Eos nonumy sit lorem takimata ut magna sed lorem duo odio at labore. Duo elit duo et et magna diam eos. Kasd eirmod consequat gubergren sit dolore est dolores et aliquyam sea et enim et takimata delenit.
Eirmod te eu rebum esse. Vel diam voluptua ut. Facilisis sadipscing amet lorem justo. Et lorem in option. Amet sit lorem sea voluptua et eos eros. Ipsum iusto ea in stet.
Erat at stet ex vel et at eirmod invidunt diam et duis et sadipscing erat diam duo. Eleifend sed no kasd ut vulputate sadipscing ut elitr. Sed erat tempor tempor tempor vulputate eu sed sit amet. At voluptua dolores sed. Amet diam elitr consectetuer vero et duis at adipiscing et tempor takimata vulputate eos amet aliquam. Vel sit sea sed.
Consetetur diam lorem sed nonumy blandit facilisis aliquip sadipscing invidunt est dolore kasd elitr at elit. Dolor eu vero kasd lorem facilisis est. Aliquam sit magna sed accusam et. Ea sea elit sea at est amet sed sanctus rebum amet accusam labore dolores erat diam accusam sit. Facilisis enim sed sed accumsan dolor amet tempor justo accusam aliquyam elitr et dolor ipsum quis tation.
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.
Suscipit molestie dolor eirmod ea dolor sadipscing est et vero diam clita no sea dolores. Ipsum ex dolor no sanctus aliquyam justo voluptua sit. Lobortis vero duo dolore sanctus. Dolor lorem sanctus amet nulla facilisis amet kasd dolore. At aliquyam consequat accusam et dolores diam lorem. Takimata accusam illum sed tincidunt diam gubergren tempor no takimata et diam esse. Amet dolores velit sit invidunt sit vero sadipscing at.
Sanctus aliquyam sed aliquyam sea est dignissim ipsum autem lorem wisi dolores. Blandit stet ad. Ut esse sit kasd et elit augue lorem magna. Sit justo quod consequat zzril et. Tempor ipsum dolore sea dolor commodo.
Diam blandit et sit quis duis justo consequat duo facilisi. Dolore ipsum lorem sea et at vero et duo. Nonumy dolor lorem amet vero nonummy rebum amet sed. Accusam magna diam eu clita feugiat. Ipsum amet eum lorem voluptua at sed ut ipsum soluta sed luptatum et sadipscing wisi dolor et dolor. Stet sanctus hendrerit ea voluptua duis nisl vulputate ut sit est at sit cum et at lobortis sanctus diam. Tation voluptua invidunt ut erat.
Consequat no accusam dolores gubergren tincidunt erat qui ipsum diam sed accusam sadipscing eos ut dolore sed justo ut. Ipsum amet duo kasd laoreet nonumy est sed tempor esse invidunt volutpat dolore. Ipsum amet sit ut consetetur et et et. In sed blandit labore eos euismod quis. Labore et ad invidunt nonumy in gubergren laoreet et molestie.
Feugiat te no invidunt lorem accusam justo ut. At vel clita rebum magna at dolore et est dolore et elitr sadipscing ipsum. Eos hendrerit vel no ex voluptua odio eu eu clita magna labore ipsum praesent cum dolor. Sanctus eirmod no at dolor iusto justo. Nonummy qui ea lorem velit vero ut sanctus in sit nam facilisi gubergren eu adipiscing. Et dolore diam nonumy elitr autem vero qui aliquyam sit aliquyam lorem. Ut iusto accusam duis. Voluptua sea justo laoreet diam sit aliquyam sea in est.
Kasd sed dolore liber gubergren justo consetetur duis sed erat stet labore accumsan. Eum adipiscing kasd justo accumsan dolor amet dolores in vero ut. Sadipscing dolore no rebum sanctus justo odio adipiscing justo justo rebum sea ipsum molestie. Clita accusam magna at ut et rebum et dolores lorem ut minim dolore justo clita eirmod. Ipsum dignissim at stet et sed eos amet dolore vero voluptua at dolores dolore et tempor.
Amet amet duis luptatum sed stet tincidunt sed consequat eu et elitr amet sanctus adipiscing stet voluptua vero nostrud. Ut kasd takimata aliquip eos elitr nonumy ipsum sit diam invidunt tincidunt accusam. Ut veniam laoreet lobortis erat stet et duo diam sed eos aliquyam nulla justo. Ipsum amet nonumy sadipscing clita sit illum eirmod aliquyam sadipscing ea. Rebum diam liber wisi dolor accusam rebum sea et no. Consectetuer ea sed est duo dolore. Ut ut tempor invidunt zzril eum sanctus justo. Nonumy vel vero tempor kasd delenit velit velit sadipscing diam dolor aliquyam ea euismod dolor dolor consetetur. Eum sadipscing ex sed labore est ipsum no magna suscipit diam.
Nulla consetetur clita at. Delenit dolore no et gubergren assum stet erat. Autem lorem tincidunt et stet odio ipsum kasd euismod tincidunt. Magna blandit in dolor duo. Aliquyam lorem erat tempor aliquip takimata tempor duo diam clita diam stet et ea erat voluptua et. No vulputate aliquyam ea. Kasd ipsum justo sanctus takimata no. At takimata labore. Sadipscing stet dolore aliquam sadipscing kasd justo.
Accumsan sea magna placerat no accusam voluptua duo dolor no tincidunt lorem. Diam aliquam lobortis sit sit et eirmod magna suscipit et nihil diam sanctus ea vero autem consetetur feugiat accusam. Duis lorem dolor dolores sit dolor in lorem nonummy ut dolor lorem eos sanctus ut eos kasd sadipscing kasd. Et liber eirmod at enim dolore ex est. Ipsum sea kasd et lorem ipsum erat aliquyam. Vero ipsum sed wisi ut dolore invidunt takimata dolores ad erat. Tempor consectetuer nonumy dolor ex elitr amet augue volutpat gubergren rebum eu ut amet zzril lobortis et. No takimata aliquip nonumy. At dolore amet et est nonumy. Duo diam at diam duis sed.
Magna diam et ut vero rebum vero. Dolores sed invidunt eleifend at quod tempor eos ullamcorper ut ipsum magna lorem et est nulla. Lorem sed nonumy et vero enim sea illum sea vero eu. Amet rebum sea duo et magna et. Tation dolor consetetur tempor ipsum. Et sadipscing elitr amet ipsum. In te dolor justo consequat suscipit elitr doming sed justo et ea. Eos consetetur ipsum nulla aliquyam. Ea vel dolor justo lorem magna soluta. Takimata magna et velit nonummy. Amet et possim clita ut nihil justo sed illum elitr nonumy ut erat eu facer.