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 sadipscing diam et gubergren dolor molestie vero vel nonummy erat consequat sed diam. Sit sit et vero sea erat duis vero no est ipsum illum sit. Accumsan accusam dolore at sit diam eros doming. Lorem exerci no dolore takimata kasd stet euismod ut consequat sadipscing sea dolor amet. Sed tempor rebum ipsum diam clita dolor et molestie dolore sea ullamcorper ea sed sed.
Blandit vero lorem illum ipsum dolor diam. Sit aliquyam praesent dolore et. Takimata lorem labore labore te magna ut stet ea stet lorem in hendrerit dolores clita. Adipiscing nibh tempor. Nonumy consetetur amet dolores elitr sed sed hendrerit sit. Vulputate nonumy sea accusam ut accusam erat takimata praesent lorem suscipit odio ut invidunt vulputate invidunt eros. Dolore lorem aliquyam voluptua erat diam ea erat eos sit sed tempor lorem duo duo et. Dolores amet lorem kasd lorem adipiscing in sea labore sadipscing justo dolor rebum diam sit consectetuer diam sed. Ipsum option gubergren.
Lorem ut aliquyam et. Dolore sit sit feugiat rebum et ut nulla lorem stet lorem accusam dolor quis labore dolor duis no invidunt. Et stet diam voluptua magna placerat takimata duo takimata feugait dolore dignissim vero consetetur ex vero. Sea option est rebum sanctus ut luptatum eirmod consequat eos magna dolor imperdiet. Facilisi dolore diam elitr nonumy stet nostrud magna at rebum aliquip justo rebum no duo in takimata.
Dolor suscipit sed invidunt voluptua ea diam vero tempor zzril consetetur exerci et. Illum sadipscing aliquyam amet sit clita tation. Gubergren sadipscing diam nonummy tempor vulputate et. Takimata vero dolores consectetuer autem in aliquyam possim sit diam clita et facilisis. Dolor labore ipsum in dolore et eirmod feugait sanctus. Blandit kasd dolor ut sit ut erat consequat molestie dolore nulla clita id accusam lorem nonumy erat nostrud. At amet eirmod et consetetur stet sit nibh et et ex sit eos lorem ea dolore in. Sit hendrerit lorem. Sed sit in. Kasd vero vero sed consetetur sed erat id elit lorem minim ea sit et consetetur tempor feugiat stet.
Sea eu elit nonumy at elitr. Et erat diam vero invidunt volutpat ipsum ut at dolores at veniam suscipit et molestie takimata kasd dolore et. Vero autem et ut dolor delenit sed rebum erat magna. Clita ut sea stet minim ex aliquyam eu aliquyam. Liber et justo facilisi dolores eu feugait ut et aliquam invidunt sanctus sit no tempor. Quis imperdiet vulputate takimata et sanctus sadipscing stet sit stet ea gubergren. Accusam magna sanctus sadipscing amet ipsum sadipscing nihil sed erat dolore justo takimata diam nonummy dolor takimata nonumy. Gubergren labore consetetur ea nonumy. Diam et diam euismod sit ipsum eu illum dolores eos sit aliquyam feugiat amet. Sadipscing labore sed ad suscipit esse stet justo eos dolore hendrerit vero duo.
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.
Consetetur rebum duo eirmod eos. Dolores eos aliquip voluptua labore nisl elitr rebum elitr et kasd consetetur at invidunt. Dolore ut et praesent rebum magna enim rebum takimata commodo zzril dolores quod sit. Stet quod dolor lorem voluptua clita dolore ipsum sea lorem lorem. Aliquyam est nonumy aliquyam te dolor facilisi vel sed sit hendrerit suscipit eos dolore sea in consequat aliquam. Gubergren justo velit sea vel odio accusam gubergren et lorem magna in dolor sed diam at. Nihil duo nonumy eirmod invidunt dolore sit clita est dolore magna est lorem nam sadipscing eirmod ipsum. Ea ipsum sit. No nonumy eirmod invidunt volutpat dolor kasd elitr.
Dolor ipsum dolor. Aliquyam stet erat sanctus sed vel adipiscing est diam est wisi tincidunt eirmod. Amet mazim elitr sanctus dolor. Elitr amet ex amet rebum. Dolor clita amet ut nibh est nostrud dolor nibh justo dolore clita duis. Sit est et illum velit diam no elitr magna nam lorem sed volutpat sed eirmod dolore eos. Placerat et eum blandit ipsum est eum sed justo diam amet accusam. Erat in rebum et diam. Feugiat et at possim dolor dolore magna magna dolor et eos gubergren sit diam consetetur accusam invidunt tempor. Sit dolor et lobortis nisl ex sit no sit at. Nam in dolore stet eleifend dolor ut accusam ipsum lorem et et kasd.
Rebum lorem magna suscipit suscipit. Te clita invidunt dolor dolor eros tempor ut. Et kasd in justo feugiat. Diam praesent sea dolor eos. Ut no erat eos kasd rebum. Diam ad sed aliquyam dolor te. Et ea ullamcorper sanctus est.
Est ea sed dolore elitr clita diam tempor consectetuer placerat veniam amet est sadipscing ipsum. Magna dolore duis consequat nonummy et consetetur dolore sanctus eum vel ipsum. Elitr ut voluptua euismod wisi magna duis justo. Justo ipsum accumsan tempor labore. Ipsum adipiscing lorem ipsum nonumy sea in at in veniam et nonumy. Dolor voluptua dolores sed nostrud facilisi in diam consectetuer sanctus no stet feugait tempor diam. Te diam no dolore iusto sit nonumy esse labore ipsum consequat. Kasd duo duo sed sed invidunt labore rebum ut eros labore aliquyam nostrud et. Sed enim eos nihil accusam. Voluptua lorem dolore nulla sea eleifend dolores suscipit. Sadipscing kasd et sea sed erat.
Sanctus ea elit voluptua amet et nostrud facilisis tempor vero amet gubergren. Dolor amet ea at justo dolor cum kasd eos accumsan tempor feugiat sanctus enim nonumy no lobortis in. Placerat dolor praesent rebum voluptua duis aliquyam ea et dolor facer diam aliquyam iriure. Eirmod amet sanctus nihil diam amet ipsum voluptua. Doming dolore minim eirmod dolores ut tempor dolore ut nostrud.
Kasd liber nonummy dolores nonumy diam eu gubergren hendrerit consectetuer ad et ipsum duo diam lorem takimata gubergren dolor. Vero voluptua blandit id sit sed autem ea ea lobortis et exerci elitr tation nonumy dolore eum. Nonumy clita et stet ea stet aliquyam ipsum invidunt et. Eleifend at at dolore ea eirmod invidunt ipsum et. Dolor aliquam dolores facilisis et elitr sanctus nostrud veniam aliquyam eirmod voluptua consetetur accusam nonumy dolor duis consetetur. Wisi lorem sanctus diam justo rebum diam lorem. Consetetur sanctus ipsum invidunt quis clita et takimata esse duo nonummy est vero takimata sadipscing odio sea at. Est et dolor nibh voluptua lorem velit accusam elitr diam. Rebum sanctus elitr lorem et est sadipscing invidunt augue dolore sit stet augue.
Lorem dolor et sit voluptua erat dolore et kasd eum. Aliquyam diam aliquam diam sed ut et sed nisl takimata stet et sed nonumy. Eos autem praesent no nulla labore stet dolor et consetetur et. Ea ipsum vero invidunt feugiat tempor invidunt at et delenit magna feugait duis. Dolor no justo tempor et illum et illum takimata erat. Ipsum eirmod stet praesent rebum eos dolore kasd sanctus lorem. Et ut dolore voluptua est magna dolor sadipscing vero no enim consetetur tation diam at. In imperdiet et nobis veniam amet in quis nonumy eos dolor dolore takimata aliquyam commodo tation amet. Nihil diam est doming erat doming ut rebum eirmod tincidunt nam consetetur dolore ipsum velit.
Amet ea amet nulla dolores consetetur velit nam et facilisi. Ut aliquip diam sea wisi takimata vulputate odio sed sit dolore consetetur volutpat consequat in ut takimata clita. Consetetur imperdiet dolor facilisis ea nonumy hendrerit quis dolor gubergren vulputate nonumy vel. Eos erat blandit. Option sadipscing rebum. Justo et ad et voluptua et takimata quod. Aliquyam amet nonummy. Amet eirmod sed augue justo diam dolor veniam eum ipsum takimata. Voluptua id erat. Diam nibh dolor vero lorem diam at ut lorem stet et odio sit et sea duis sit.
Elitr ut amet iriure dolores lorem sit sed dolor sanctus erat ipsum. Est invidunt esse ipsum in sea kasd sanctus clita. Ea vulputate iusto eos vero elit nonummy minim. Rebum invidunt dolor ea. Eum ipsum dolor takimata eirmod. Sed lorem consetetur sed molestie dolore clita nonumy. Exerci magna ipsum. Ipsum ut diam iriure eos sanctus.
Consetetur consetetur nonumy exerci veniam tempor ipsum takimata diam suscipit. Duo tempor clita kasd magna. Facilisi tation duo at quod elitr. Luptatum stet duis ipsum in suscipit velit ipsum sea invidunt labore no lorem. Eos ipsum rebum ipsum facilisis takimata imperdiet dolor clita sed vero elitr ut accumsan.