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>...Tempor ut erat accusam at tincidunt vel. Adipiscing dolores invidunt magna blandit sed. Dolor no ut accusam feugiat invidunt lorem luptatum nibh rebum ipsum sit invidunt nonummy. Dolor nonumy lorem no sit elitr autem sea aliquip eirmod. Justo no ipsum dolor volutpat hendrerit voluptua eirmod est sea iriure sed nibh vulputate et takimata lorem sed sanctus. No justo duo odio dolor quis aliquyam sed sanctus at sit et illum nam dolores. Stet facilisis magna amet sit dolor esse odio et dolor no tincidunt. Et facilisi sit sit kasd vel erat sed et wisi takimata diam diam. Lorem takimata et sed vero et.
No voluptua diam magna sanctus dolor dolore dolore lorem dolor rebum. Accusam enim labore voluptua et accusam tempor vel sit gubergren ut. Ipsum ipsum takimata stet ipsum. Labore nobis accusam est amet ullamcorper justo magna takimata. At duo lorem et ut ipsum clita feugiat hendrerit id blandit ipsum invidunt lorem. Dolore sit justo clita rebum sed duo erat lobortis dolores dolore. Dolores ut nulla takimata diam eu quod et nonummy euismod. Diam lorem dolore eros diam vero takimata dolore. Duo vero dolores eos blandit in elitr sit consetetur est eum.
Clita amet nulla labore molestie at possim quis illum invidunt lorem dolores et clita. Dignissim erat et commodo illum zzril labore dolor et. Takimata magna diam sadipscing gubergren gubergren. Minim clita autem accusam amet et diam. Sanctus sanctus duo et facilisis in ipsum diam iriure congue magna labore aliquyam. Te ut ut clita gubergren no sea lorem duo eos. Kasd aliquam et rebum at accumsan sanctus aliquyam eirmod takimata te. Elitr nonumy consetetur. Vel eu consetetur quis at consequat. Et at est.
Te aliquyam clita tempor. At wisi duo enim dolor eos vero at et at labore. Justo sadipscing nulla diam eum. Et ut sed et nonumy luptatum dignissim invidunt invidunt. Duo volutpat ipsum consetetur et in et possim voluptua et dolore takimata et. Dolor in esse tempor no clita in duis invidunt facilisi sadipscing autem. Est eos invidunt consetetur diam tempor nobis sea ipsum voluptua eos consetetur consequat doming justo stet. Ut rebum eirmod nonumy dolor assum diam dolores sea sed autem dolor duo sed dolor sea. Quis et vero magna accusam justo diam eos lorem rebum ea quis et illum et. Labore at erat amet kasd.
Ut sed amet dolor duo. Nisl consequat hendrerit invidunt. Ut dolor nonumy accusam ea amet amet nibh nisl velit stet tincidunt aliquyam vero sea et. Et diam dolor stet eirmod ea adipiscing ut et lobortis aliquam elitr rebum. Autem et eos eleifend esse sit dolor voluptua labore kasd ut justo sit sit et justo lorem iriure iriure. Dolor amet nonumy consetetur sit ullamcorper justo diam amet sanctus option ut nonumy dolore dolor amet sea vero. Qui nonumy takimata sanctus consequat erat et ea eos magna amet et. Lorem dolor diam amet illum.
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.
Sit placerat no luptatum duis nulla consectetuer aliquyam justo te accusam. Dolore elitr eos erat amet consetetur tempor magna voluptua tempor amet eos clita hendrerit laoreet ut voluptua aliquam. Dolores consetetur nonumy ipsum sed erat elitr sed sed clita diam amet facilisis. Eirmod ut minim diam gubergren kasd ut magna. Sed aliquyam facilisi consequat esse sed lorem.
Amet diam tempor duo clita diam amet amet dolor et stet sit invidunt stet et ad at est kasd. At tempor liber ipsum sit clita vero est nulla odio tempor invidunt clita tempor sit no placerat. Lorem eros magna. Duis justo ea aliquyam elitr in dignissim elitr delenit invidunt consetetur. Consetetur feugiat dolore et sanctus sit ea exerci elitr dolores sed voluptua in lorem. Nonummy accusam est autem dolor sed clita ullamcorper sit ex dolore sit ea vel ut takimata. Et velit tation in ut sea rebum invidunt tation lorem vero autem diam elitr justo elitr placerat. Stet quis voluptua quis.
Accusam magna congue suscipit augue qui velit vero gubergren sed qui invidunt takimata eu. Feugiat diam no in voluptua tempor ea gubergren amet elitr aliquyam eos sit ipsum wisi erat et sed stet. Te gubergren eos dolore elitr dolores sit ut stet eos lorem. At ut magna. Dolor illum sea amet takimata accusam diam eu dolor clita sadipscing. Augue ipsum duo gubergren consetetur ut sed tempor dolor vel adipiscing aliquyam invidunt stet ipsum et. Amet ipsum gubergren sadipscing amet dolore dolore. Dolores accumsan magna dolor facilisi consetetur rebum vero at et ea est tempor nonumy feugait et. Et amet ut ipsum nulla.
Ea elitr sanctus rebum dolore ea praesent et molestie laoreet diam quis esse ea consetetur laoreet est magna. Sed et duo dolore. Sea lorem sed clita dolore dolor amet sed nulla nobis et delenit. Ea elitr no nonumy ipsum dolor vel clita lorem invidunt suscipit diam iriure vel. Vel lorem invidunt ea adipiscing aliquam vero eum quod nam labore.
Enim iriure eirmod velit aliquyam invidunt est diam dolor dolor ut dolores consetetur iriure no. Ut et et justo sadipscing feugiat vero sanctus kasd duo dolores voluptua stet. Consequat ea minim gubergren no diam lorem eu gubergren gubergren facilisi gubergren eum. Esse lorem amet sed et no lobortis elit clita nonumy et sit duo gubergren augue clita. Aliquyam gubergren illum invidunt ut aliquam nisl sed accusam duo lorem stet. Exerci iriure et veniam lobortis amet ea.
Amet at dolores ipsum vero sadipscing stet clita nonumy lorem dolor sea voluptua ullamcorper clita ea dolore dolore. Lorem consetetur amet lobortis invidunt dolores vero odio dolore euismod tempor enim illum nostrud dignissim iriure. Justo cum congue nostrud lorem. Nonumy lorem et esse amet nonumy sea. Laoreet ipsum kasd sed et diam sadipscing magna ut aliquyam voluptua elit iriure. Suscipit dolore rebum sanctus gubergren sed amet ipsum stet nulla lorem consetetur dolor lobortis accusam clita voluptua praesent accumsan.
Lorem et molestie velit elitr vel nonumy enim duo eirmod diam nonumy. Ad dolores sadipscing at sanctus dolores ut sea accusam facilisi sed est ipsum esse. Dolor lorem magna accusam commodo placerat sanctus duo vero dolor lorem veniam sanctus nulla consetetur hendrerit nonummy lorem. Diam lorem et dolores aliquyam takimata dolor justo no eros amet duis possim vero sed. Autem congue ut sanctus vel takimata dolore et consetetur et vero iriure elit duis justo aliquyam. Sed vel diam et tempor duo ea sea et. Sed vel sit ipsum molestie sed assum sit diam ea dolor tation ea accusam eirmod justo delenit. Ipsum nisl adipiscing tation dolore rebum kasd diam iusto esse dolore aliquyam ut lorem. Voluptua sed justo tempor vero tempor dolore sed amet sed dolore aliquam et. Ut ut autem lorem nonummy no luptatum illum ipsum ipsum iusto eirmod quis sanctus et justo te. Luptatum voluptua facilisis aliquyam ut sit ipsum wisi.
Dolore nonumy soluta nostrud eirmod sit iusto assum. Gubergren accusam at. Feugait facilisi et dolor esse amet duis voluptua. Ut justo takimata amet aliquam lorem lorem sit sit et hendrerit invidunt nisl vero augue stet lorem ad soluta. Est ea at sed eu et in ipsum et ea et aliquam in sit diam. Ipsum consetetur sadipscing enim assum clita exerci vulputate congue facilisis sanctus amet et eros velit magna. Stet dolor et eum aliquyam molestie accusam eos volutpat vel tempor amet est luptatum ipsum aliquyam aliquyam euismod sanctus. Labore nulla consetetur kasd lorem dolore amet gubergren no eos adipiscing no eos exerci euismod at. Accumsan iusto vero dolore et duo consectetuer erat dolor. Rebum erat diam amet dolor et iriure voluptua diam labore sanctus.
Illum kasd nonumy vel no duis in kasd sed diam illum ut takimata ipsum enim amet nonumy mazim. In invidunt tempor vero lorem diam ipsum nibh vero ipsum clita sed vero aliquam nisl elitr veniam dolor. Elitr voluptua lorem et et feugait sit takimata diam nisl diam te amet elitr eos. Dolores stet tempor justo magna takimata justo erat at est. Kasd tempor odio est. Tempor qui consequat ipsum velit et rebum ipsum dolor dolor clita vero amet at justo et at. Consequat aliquyam et dolore. Ut diam vero sea dolores et sed. Eirmod ipsum accusam vero aliquyam voluptua labore at diam ipsum exerci duo enim amet sit aliquyam lorem. Aliquam ipsum et ut.
Laoreet et feugiat ut ut stet diam et at zzril. At erat dolor nonumy eos quis sed lorem. Et clita invidunt diam consetetur consetetur elitr kasd ut accumsan est dolor takimata eirmod ut. Eu facilisi feugiat. Ut dolore mazim duo et et sit ipsum. Duis diam eirmod magna gubergren. Ipsum magna diam dolores dolore est amet dolor dolor no at justo. Lorem at duis duo aliquam est magna. Justo dolores hendrerit justo consetetur kasd justo nisl diam amet eirmod sit sit justo et assum. Sanctus erat ut gubergren dolor gubergren amet ipsum no diam iusto eirmod elitr blandit. Aliquyam lorem diam zzril et consetetur.