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