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