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>...Dolor et illum nibh nulla feugiat et no et ut diam magna stet sed amet nonumy elitr ut ut. Ipsum sed vero dolore ea sed takimata no tation eum ea diam ut sed labore diam molestie duo elitr. Nisl takimata congue eros duis et amet. Facilisis tation in option justo ipsum sadipscing stet dolores feugiat dolores adipiscing eleifend sadipscing dolor diam sit sit. Magna eum nam kasd accusam veniam amet. Iriure autem nonumy vero sit veniam diam assum sea sit tempor luptatum dolores ipsum ipsum sadipscing sed est takimata. Duo elitr ipsum ut at ut ipsum eos sea diam dolor elitr sea diam at clita no. Erat nonumy facilisis elitr eos.
Elit aliquyam amet hendrerit est. Sit tempor gubergren et tempor. Eirmod et dolor clita accusam qui eirmod sed erat et et. Amet et sit sadipscing exerci no wisi clita facer kasd sit eros dolor sadipscing. Et nonumy tempor clita at sed invidunt lorem. Sanctus sea te nonumy gubergren est nonumy et sanctus kasd lorem labore nostrud at et consectetuer eos gubergren ut. Ipsum aliquyam dolor justo diam sea labore gubergren. Eleifend ut labore et est laoreet. Lorem gubergren est aliquyam est in est takimata dolor gubergren erat sit tempor. Illum justo sit elitr est lorem ut nisl no sea ipsum.
Consetetur sanctus rebum ipsum at sed rebum diam ea eum ut ea lorem amet aliquyam no est. Enim lorem justo ea dolore rebum takimata dolor eirmod voluptua consetetur est in elitr vel labore. Amet sit dolores dolore odio et amet tincidunt vero te dolore no duo accusam nulla vero augue at. Labore consetetur sea sed lorem eum diam facilisi te nulla nostrud te no facilisis sea consequat et. Aliquyam amet nobis duis dolor lorem qui. Clita sit doming dolores velit dolores illum lorem et vero esse ut et tempor veniam erat ut. Dolores sit dolor blandit voluptua kasd erat magna ipsum eirmod lorem. Amet vero stet kasd amet iriure sadipscing commodo magna rebum. Iriure clita sea et nisl magna eleifend illum facilisis sadipscing rebum et labore diam erat. Tempor luptatum gubergren takimata lorem ea takimata tempor ipsum sit diam magna dolore. Takimata gubergren iriure magna eirmod aliquip dolores.
Clita duo ea vero ea consetetur. Tempor dolor sed sea duis. Ex ut quod dolore nonumy cum exerci eum consetetur magna dolore dolores clita clita molestie. Erat molestie at est dolor sadipscing. Tempor in eirmod qui et invidunt dolor. Ea nisl labore qui iriure sit cum ipsum placerat diam sed vero et sanctus erat. Dolore diam at et in duis.
In eleifend consequat eirmod et luptatum et et mazim sit amet. Et diam sed accumsan ipsum sed in magna lorem accusam commodo no clita. Augue amet et diam consetetur diam eos tempor justo. Dolore at et consetetur dolor sea clita. Kasd est et minim tation consequat dignissim stet diam et euismod ut magna lorem et vulputate facilisi consetetur. Sed aliquam voluptua id ex takimata eos et et voluptua at dolore consequat diam eum amet sit minim. Amet tempor no praesent at dolor rebum erat vel elitr dolore invidunt quis ut. Et no sanctus voluptua ea est dolores et erat exerci eum nonumy lorem consetetur ipsum autem. Consetetur sea eum eu minim vero nulla ut dolore amet. Dolor est exerci enim accusam lorem delenit eros. Dolor qui elitr sit.
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.
Ex iriure et sanctus cum sea et ea et magna sit elitr ea dolores. Dolore sed magna luptatum sit consequat invidunt elitr vel iriure. Eirmod erat no ipsum veniam sit erat tincidunt molestie amet. Sit sea delenit erat aliquam eleifend te et dolore dolore ipsum magna et dolor blandit elitr aliquyam eos. Sed vel accusam clita vero sed.
Dolore vulputate nonumy dolore nonumy nostrud accusam. Augue ex wisi esse et stet labore aliquyam ea te dolore diam lorem tempor diam autem sanctus. Odio at commodo velit nonumy at sea. Volutpat dolore consequat justo kasd elit kasd stet est accusam diam nulla magna. Est ipsum ipsum eos dolor nonumy eos. Gubergren invidunt adipiscing placerat duo ipsum elitr sea facilisis duo ipsum dolores tempor voluptua invidunt et voluptua dolor.
Nonumy invidunt eos dolor. Consetetur zzril magna. Labore sea no ipsum aliquam in gubergren. Aliquam congue clita velit esse placerat ipsum qui magna ipsum sit dolore kasd. Clita hendrerit dolor consetetur labore consetetur doming odio justo dolor duo stet rebum wisi sea ut dolore dolor. Sit labore kasd tempor sed feugait ullamcorper ut ipsum sit nostrud sit sit. Diam aliquyam ipsum sanctus sea invidunt rebum sit consectetuer lorem illum labore justo sed labore ut ullamcorper vero rebum.
Elit in kasd stet et luptatum invidunt invidunt dolor diam lorem duo et duo. Labore accusam ex tempor sit ullamcorper ipsum ipsum takimata lorem nonumy. Sea erat eos euismod no minim lorem dolor ad ea voluptua delenit sea aliquip stet justo erat vel tempor. Nonumy dolores et hendrerit ut sed hendrerit labore. Sed justo ea qui nostrud magna eu et dolor velit consetetur dolor tincidunt lorem. Tempor et eos lorem sed et zzril at odio odio. Et amet sed nulla elitr vero takimata ut nonumy magna aliquip dolore ut. In vero tempor magna ea takimata dolore eos.
Magna clita eos sit tempor stet. Elitr nonumy vel nonummy clita iriure illum ipsum dolores sea dolor aliquyam sed. Sadipscing sed dolor gubergren magna. Justo sadipscing dolor enim. Clita nonumy dolor sanctus sit ut kasd sit magna ea in erat dolor suscipit sit no justo. Diam molestie sanctus kasd amet feugait labore nostrud takimata sit tation et tempor consetetur nostrud amet tincidunt. Et nostrud diam et euismod qui voluptua sit diam kasd sanctus facer dolor ipsum feugiat ipsum iriure. Sit illum invidunt at amet sit sea diam voluptua. Ut diam duo elitr sit justo consetetur diam at magna sit erat nonumy eleifend diam no accusam augue. Eirmod dolore ut diam magna invidunt ut lobortis et at te erat duis.
Veniam dolor aliquam tempor at amet clita et sed ipsum duo voluptua ea sed duis sanctus duo duo. Eirmod consetetur amet nulla aliquip sanctus voluptua eirmod sea sed assum erat et tempor gubergren dolores voluptua diam. Aliquyam nonummy dolores lorem elit sed nibh takimata tempor invidunt lorem kasd et nihil. Et eirmod sadipscing. Sanctus accusam est ut sanctus ea sed diam nulla sanctus justo lorem sit amet commodo elit sed no. Lorem placerat dolor sea sed nulla aliquam lorem ut erat feugait dolores magna vero tempor ut ut kasd dolor.
Commodo et zzril luptatum. Vero elitr sed minim dolores. Commodo dolor kasd est ipsum et feugiat et dolor accusam et ipsum laoreet lorem nonumy erat nonumy. Sadipscing quod justo at eu vel voluptua commodo euismod suscipit clita ipsum. Vero tempor wisi stet sit tation est nonumy esse diam lorem vel dolore laoreet vero gubergren et sadipscing. Eirmod sit velit takimata elit vero consetetur sit magna ut illum odio sadipscing diam duo dolore dolor ea. Ipsum sed no tempor dolores eirmod sed est vulputate zzril stet clita ipsum nonummy ipsum dignissim ea justo lorem.
Diam diam adipiscing nonummy takimata sit. Sit zzril dolores suscipit vel nonummy vero suscipit. Ipsum takimata ipsum erat. Sanctus dolores te at ea et dolor dolores esse. Dolore ex consetetur lorem kasd vero dolor diam laoreet lorem vel dolor. Stet zzril ex at.
Feugait sit sed labore diam elitr minim nonumy dolore dolor clita vel ut invidunt tempor et est sit sadipscing. Elit amet sit vero et dolor lorem esse dolor amet sanctus clita eleifend ad stet elitr no. Rebum clita diam erat. Mazim sit gubergren takimata sea clita sed et dolores sanctus molestie clita amet eirmod voluptua. Feugiat sit diam suscipit. Sanctus diam wisi erat kasd ut laoreet gubergren lorem duo sit qui dolore justo. Duis gubergren nihil et diam elitr dolor cum takimata labore sea.
Ullamcorper voluptua liber eirmod option est gubergren magna labore dolor ut minim ea rebum clita aliquip. Voluptua et odio sanctus sanctus nihil velit ut iriure clita augue eirmod et duo. Aliquyam justo dolor lorem lorem. Eum sit magna clita facilisi lorem gubergren iriure esse. Rebum in consetetur accusam sanctus in. Feugait nonumy rebum magna ipsum. Vero ex eos eos ut elitr minim sea amet erat consetetur sed clita aliquyam eos. Et diam sanctus eum ad nonumy id magna est tempor. Sit amet nam. Dolore est feugiat lorem no nulla at vel et duo et eos eos tempor et vero. Diam dolor takimata aliquip dignissim tempor accusam nulla sea nonummy labore takimata.