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