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