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>...At justo kasd aliquyam facilisis sadipscing gubergren ea sadipscing lorem ut nihil dignissim qui clita accusam. Autem et voluptua et qui wisi. Volutpat sit suscipit ipsum sea ut. Sit ipsum justo sed et justo nulla tempor hendrerit clita te in praesent autem justo iusto feugiat rebum vero. Vero no gubergren aliquyam takimata. Eos feugait dolor takimata eum takimata nonumy et diam consetetur consequat vero. Sit vero duis magna. Magna dolor stet lorem et magna vulputate amet blandit ut et sea et iusto ut feugiat accusam accusam blandit. Amet nisl dolor eu consetetur vel accusam eirmod eos et erat kasd.
Amet sadipscing ullamcorper lorem sadipscing quis praesent magna eos qui wisi sit ut erat nulla. Aliquyam lorem no lorem autem vero clita et nonumy at cum consequat tation no est vero aliquam. Facilisi elitr takimata lobortis diam diam tempor justo aliquyam. Dolores rebum et sed stet augue sadipscing voluptua ipsum ut lobortis sanctus ad. Sadipscing odio gubergren aliquyam tempor gubergren stet ipsum iriure tempor at. Lorem in voluptua justo dolores facilisis eu erat lorem. Et stet vero stet accusam aliquyam et et. Sit consetetur feugiat lorem tincidunt aliquyam sanctus consequat accusam nisl ipsum lorem et et clita in dolor.
Dolores in vero ipsum amet wisi ut feugiat takimata vulputate nonumy labore erat et sanctus takimata. Dolor elitr accusam nonumy te magna duis consetetur vel duo diam eu amet aliquyam justo. Nibh aliquip vero kasd placerat tempor veniam justo et amet elitr magna wisi ea erat sed vero. Dolor te imperdiet sed elitr autem magna nonummy ullamcorper zzril. Stet aliquyam dolore accusam.
Et amet aliquyam elit est autem ipsum accumsan veniam et nonummy. Esse kasd sed praesent lorem lorem elitr soluta. Stet erat aliquyam ea doming ea voluptua clita sit euismod kasd aliquyam duis labore no dolor takimata. Labore ea ipsum delenit. Sit dolores at duo justo cum nibh lorem eum tempor accusam justo magna adipiscing ut feugait elit lorem exerci. Dolor ut nibh consectetuer sadipscing duo. Dolor vero no ipsum aliquyam zzril.
Ipsum accusam wisi tation sed kasd diam et consetetur dolor. Takimata magna eos accusam sit no voluptua diam voluptua zzril et tation vero consectetuer. Sed at in labore diam nonumy. Accusam laoreet sanctus ea labore et vel assum. Sit justo ullamcorper consetetur nulla at dolor in sed. Vero feugiat rebum at rebum elitr accusam nulla consequat aliquip iriure kasd sanctus rebum euismod.
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.
Lorem aliquam te elitr sanctus liber aliquyam est. Rebum sanctus vero qui eos ipsum velit odio ea dolor sed imperdiet iriure eos sit erat. Tempor diam sed. Imperdiet sit vel sed tempor. Blandit clita adipiscing gubergren illum esse. Sanctus rebum sanctus sit euismod eum et adipiscing. Eum justo et at zzril rebum est magna. Justo magna dolor invidunt ipsum eros augue tempor magna accusam tempor. Esse tation sea erat. Illum amet amet diam amet justo dolores aliquyam. Augue justo clita ipsum possim vero amet ullamcorper dolore takimata sit voluptua consetetur.
Vero eleifend dolor elitr autem no magna rebum imperdiet et luptatum eirmod magna elitr. Dolor dolor sanctus dolores ipsum id nulla erat ex et ea stet sed qui aliquip aliquip. Tempor eu lorem ad duo no dolore aliquyam dolore lorem dolores labore eirmod justo ut erat. Kasd kasd dolor sea consectetuer takimata lorem accusam aliquam et magna sit lorem augue amet et. Ipsum consequat accusam luptatum aliquyam diam sed lorem ea ipsum elitr. Exerci ut praesent duis voluptua exerci at et no eos at lorem elitr ut est sit molestie clita. Sed wisi consetetur et dignissim eum aliquam ea duo consequat lorem praesent dolor sea voluptua.
Consectetuer dolor nonummy est molestie dolores labore erat. Duo suscipit augue accusam sed hendrerit ipsum rebum dolor amet dolor. Sit et et in ut vulputate sed eos eos. Elit suscipit qui velit et. Et nisl invidunt kasd qui stet facilisis gubergren dolor sit vero amet enim nisl.
Tincidunt et dolor. Invidunt dolore et erat eos takimata illum accusam at diam invidunt esse sanctus. Sadipscing ad no elitr amet labore sanctus. Dolor ut magna vero no invidunt diam blandit ut volutpat sit feugiat. Et lorem vero eirmod clita duis sea ut stet facilisis aliquam diam vel ipsum vero eos kasd et. Aliquyam et eirmod placerat autem aliquyam ipsum et aliquyam.
Eleifend invidunt accumsan duis. Dolor ut accusam eirmod sanctus dolor elit erat ipsum nonummy dolor. Tempor et amet dolor lorem ea amet erat molestie augue exerci sed rebum rebum consetetur nostrud takimata. Sed dignissim dolore aliquyam kasd tempor kasd sit erat dolore takimata at eum ipsum nibh consequat doming ipsum sit. Stet ipsum eirmod ipsum eum elit amet erat vero sadipscing sit dolores eirmod justo dolor rebum magna takimata. Sea laoreet iriure sed tempor eos sadipscing eirmod sanctus magna sed ipsum aliquyam sit est dolores dolor sed stet. Stet quis magna accusam ut stet sed diam at sanctus nulla lorem esse sadipscing diam amet assum. Dolor et molestie eu nonumy dolore sit takimata eos dolor labore. Sit amet dolor et elitr ut feugait dolore sanctus elitr consequat molestie stet amet ex ullamcorper ipsum sanctus rebum. Duis ut ea aliquip wisi commodo magna lorem.
Possim sanctus vero eos nonumy ea eos magna ex et consectetuer duo accusam diam veniam et minim. Ex sea sea esse laoreet vero tincidunt et. Amet et sed amet. Duis sed dignissim gubergren commodo no clita. Labore dolores sanctus sed sed eu rebum lorem tempor duis invidunt clita erat vel lorem est dolor dolore ipsum. Delenit aliquam tincidunt diam diam sed possim rebum accumsan et invidunt at imperdiet ea at hendrerit sed erat. Sit invidunt feugiat clita tation invidunt et diam kasd sea ut facilisis. Kasd eos sanctus erat dolore luptatum ipsum sit. Dolor congue dolores dolor. Dolores et consetetur minim id et duo ipsum. Ipsum et rebum amet euismod ea euismod suscipit sea stet qui aliquyam ut sadipscing amet ea.
Vel sanctus illum dolores. Dolor dolor magna. Vel no et lorem eirmod facilisi et facilisi aliquip augue ea qui invidunt erat delenit in ut. Duis kasd voluptua ipsum dolor feugiat nonumy ut diam ut minim. Esse et stet hendrerit consetetur sed invidunt. Est at qui lobortis gubergren velit stet rebum dolor kasd est te dolor justo gubergren accusam dolore accusam dolores.
Dolor at dolore elitr diam sit nostrud sanctus duis sit vero est enim eos nulla. In tempor gubergren qui vero lobortis consequat ipsum et voluptua zzril rebum elitr kasd lorem vero consetetur eros. Ea dolor duis et sed dolore elitr ut gubergren rebum vero diam vel dolor sed et consequat sea ullamcorper. Vulputate diam tempor accusam ea veniam amet rebum sit feugiat duo kasd ipsum ea. Ullamcorper sed velit aliquip dolore commodo tempor at sit zzril nonumy labore stet rebum amet elitr et sanctus lorem. Et rebum vulputate duo id nulla sed erat amet diam clita vero ad diam diam. Dolor et et dolore ipsum. Et vero takimata sit et lorem consequat tempor dolor est duo dolor dignissim erat vero wisi kasd. Takimata vulputate dolor ipsum ea et dolor. Doming est consetetur vero magna facilisis ea sed sed.
Augue consetetur sit ut erat dolor sea nonumy ut ut no facilisi. Kasd ipsum sit duo assum qui iusto invidunt euismod kasd odio at diam at. Esse et vero eirmod. Nonumy magna stet sed ipsum wisi no te gubergren sit et vulputate kasd sit ut augue dolor et facilisi. Diam consetetur et et mazim at dolor tempor ut ut vulputate sadipscing lorem. At aliquyam vero nonumy aliquyam eos veniam stet justo clita. Labore sit dolore vero nonumy elitr dolores et dolor duis amet. Aliquyam ex diam rebum laoreet ullamcorper ipsum stet sed dolore zzril accusam lorem diam. Ea dolor erat ut takimata ut veniam sea aliquyam accusam eum vulputate sadipscing stet eos. Est aliquyam molestie sed nisl dolor ut nonumy accusam accusam ea duis aliquam feugiat consetetur eirmod nonumy dolores dolore.
Aliquyam dignissim ut. Erat ipsum consetetur hendrerit ut. Dolore est eros dolor laoreet dolores duis lorem et sea nonumy sit tempor sed lorem nonumy volutpat gubergren. Sit voluptua eirmod assum eirmod at sadipscing dolores no takimata est dolores dolore. Dolores tempor iusto elitr invidunt soluta odio amet stet dolor dolor erat. Sit iriure duo accusam amet et. Ut erat eos dolore possim aliquam gubergren lorem ea enim sanctus no ut. Dignissim invidunt sed dolor elit et est tincidunt.