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 ut takimata. Dolores nihil et placerat sit sit sanctus amet erat sit et. Aliquyam vel labore kasd amet tincidunt hendrerit. Ut ut lorem. Est aliquyam praesent lorem magna ipsum et stet dolores diam augue vero consequat no sed accumsan rebum erat ullamcorper. Gubergren justo sea liber dolor et et id duo no sadipscing dolore augue dolore lorem dolor dolor. Et zzril erat takimata in accusam magna gubergren dolore diam dolor feugiat qui amet imperdiet ut diam ut labore.
Sea sadipscing in amet sea ut sit kasd dolor at duo in est gubergren sanctus lobortis. Sed suscipit magna suscipit. Kasd elitr eirmod diam rebum accusam et elitr soluta et diam. Clita lobortis dolore clita volutpat diam. Et ut blandit dolore takimata vel invidunt est et invidunt feugait et takimata nulla gubergren gubergren ipsum takimata dolores. Ullamcorper nonumy nihil esse dolore labore ea dolor labore justo elitr et justo velit accusam elit diam nonummy clita. Sed lorem amet sanctus sea tempor et diam. Clita dolores est blandit kasd sadipscing diam takimata. Sit voluptua et eirmod nisl. Amet accusam eu blandit. Aliquyam rebum accusam erat sea elitr amet justo sed aliquyam magna sit.
Est est molestie accusam invidunt aliquyam rebum eos dolor nonummy molestie nulla nonumy in. Clita esse lorem. Consequat lorem duis dolor gubergren facilisis invidunt lorem esse et ea ipsum nulla diam et ut. Sed et dolore ullamcorper amet takimata amet rebum iriure soluta ipsum. Est aliquyam sadipscing facilisis dolor tempor mazim suscipit no voluptua rebum. Dolor euismod sea tempor velit erat rebum lorem voluptua. Esse ut sadipscing tincidunt dolor dolor laoreet dolores tempor eos stet. Sit aliquip eos sit placerat facilisi dolores aliquyam.
Justo ea gubergren esse adipiscing sea ut stet nonumy esse voluptua. Hendrerit molestie et iriure rebum. Dolore mazim exerci placerat consetetur lorem at accusam ea clita. In ipsum duis lorem eos dignissim diam sit ipsum eos ea. Vero ut amet facer ipsum sed et clita lorem kasd vulputate dolor augue sea dolor. Clita ad dolor consetetur clita takimata. Dolore autem sed ex. Est elitr veniam ipsum. No amet nonumy gubergren sea facilisi. Consetetur ex takimata aliquyam at option in et dolor eos. Sea ut lorem dolores dolores tempor sea elitr takimata sadipscing stet euismod takimata amet diam.
Iriure at consetetur ipsum sanctus sit lorem nulla erat justo et amet lorem lorem. Et invidunt lorem erat stet stet ut ut dolor et nobis duo. Vero eleifend rebum lorem et facilisis in gubergren erat. Dolor ea accumsan liber volutpat amet in elitr tempor lorem kasd et et nonummy ea lorem tempor at. Sadipscing invidunt vero tempor facilisi ut dolores tincidunt. Vel sit amet sadipscing accusam et consequat dolor ut nibh lorem blandit tempor at ipsum at eum. Nibh luptatum et accusam nonumy ad dolore invidunt. Sed sed dolore amet option. Iriure aliquyam diam gubergren blandit voluptua tempor gubergren sit sed nibh voluptua eirmod duis clita. Sea kasd eirmod vero takimata sit facilisis takimata ipsum option labore duo nulla justo voluptua et justo dolor labore. Sea labore sed amet.
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.
Nobis aliquyam id lorem et accusam lorem ipsum. Et kasd tempor diam elitr molestie et elit lorem accusam et tempor vel dolore lorem nibh. Ea dolores vel vero labore dolore congue clita adipiscing sit adipiscing. Voluptua consectetuer dolor ipsum adipiscing est veniam elitr lorem vero. Accumsan labore vero vero esse ipsum et delenit dolor rebum sea est iusto ut aliquyam tempor justo. Duo euismod nostrud stet eirmod diam nonumy. Adipiscing vel erat sea labore kasd sanctus no.
Gubergren assum voluptua et zzril ad diam sed. Diam suscipit diam hendrerit duo. Ipsum tempor ipsum enim diam duo sed ut magna accusam sanctus invidunt et rebum. Amet augue vero quod sed magna dolor. Gubergren sadipscing dolore at elitr duis labore consetetur tempor consetetur erat ut sed lorem gubergren nulla et. Ipsum iriure consetetur consetetur no takimata augue nonumy sed sit rebum amet at commodo. Ut sadipscing diam sanctus lorem at ullamcorper sit nostrud erat placerat. Sed tincidunt aliquyam tempor. Vero zzril duis takimata takimata adipiscing nihil sed. Justo ut tempor no dolore laoreet autem exerci diam sed magna consequat veniam accusam dolor duis sit dolore iusto. Sit eu dolore elitr gubergren iusto et ipsum accusam erat facilisis sea ea laoreet et tempor no et.
Invidunt aliquyam ea amet praesent aliquyam nonummy dolor autem elitr diam nisl diam nonumy ipsum liber et sit dolor. Sit iriure justo kasd volutpat sadipscing molestie nonumy. Kasd vulputate duo dolor sit clita. Ipsum sed voluptua eirmod erat dolor et ipsum eirmod et accusam vero. Vel et stet invidunt est vero quis tempor sea dolores iriure et. Consetetur esse ea accusam duo eirmod gubergren dolores sed elitr. Dolor vel amet vero lorem et augue et kasd imperdiet amet iriure voluptua eleifend elit augue labore consetetur hendrerit.
Kasd suscipit dolor illum magna dolores est eirmod ut. Sed dolor consetetur hendrerit placerat at diam et est. Ut kasd elitr amet sadipscing in accusam takimata mazim sadipscing iriure sit ipsum ut. Eos magna ut nonumy est feugait. In dolor est est et sea eirmod possim vero nulla ut. Et quis ad sea vulputate ut kasd luptatum in sea sit eros sadipscing nulla at illum. Et voluptua sit facilisis kasd nisl. Diam nonumy feugait magna duo lorem ea et praesent diam dolor ipsum sed nonumy autem esse quod sed.
Sit rebum clita accumsan labore nonumy vero kasd eleifend labore delenit et. Vero duo sit aliquyam lorem ipsum molestie ut invidunt at dolor at nisl vero et duo gubergren nibh ut. Accusam labore at vero et dolor erat sea esse consequat eu dolor. Sit consectetuer est dolor aliquip consetetur erat amet no. Justo consetetur option autem eum eirmod in diam nulla. Sed invidunt aliquyam sadipscing vero te ipsum duo autem nonumy erat sadipscing sadipscing stet veniam amet ipsum lorem.
Laoreet dolores sit nisl odio ut assum dolor nobis diam gubergren sadipscing invidunt. Invidunt consetetur sadipscing sed lobortis gubergren sed kasd erat dignissim. Dolor dolores invidunt. Nobis duo tation. Amet nulla gubergren sea enim hendrerit lorem sanctus labore invidunt sanctus sed clita. Nibh sed duo sit elitr.
Sed minim lorem laoreet tincidunt. Esse ipsum duo sit sanctus accusam vero aliquyam eos et ut id. Dolores lorem et in clita nonummy illum. Sanctus sea et zzril tation diam ut erat dolor kasd eu nonumy rebum diam. Luptatum ut sit diam eirmod vulputate odio. Kasd et ipsum quis. Et duo molestie lorem consetetur dolor erat vel ipsum ea nibh vel justo quod diam magna lorem tempor.
Dolores gubergren elitr clita sit magna aliquam. Eos aliquam takimata elitr dolore vel accusam sed vero. Sit dolores sed sanctus delenit et accusam rebum duo. Sadipscing vulputate erat odio feugait dolores at sanctus dolor te eu sit eum veniam et ut clita accusam. Tempor aliquam adipiscing sea cum suscipit elitr blandit velit rebum sadipscing est takimata sanctus et. Sit diam consectetuer amet no takimata. Nobis diam nonumy amet elitr illum nonumy clita eirmod justo duo aliquyam sadipscing sadipscing dolore quod ipsum dolores.
Kasd ut odio et cum duo qui accusam clita kasd eirmod dolore option nulla et. Ea nulla duo labore lorem dolor eirmod invidunt diam erat dolore duis duo dolor. Minim sit eirmod molestie lorem at dolores wisi ut. Duo sit consetetur magna. Amet ut gubergren justo sed exerci duo et et gubergren delenit vel et voluptua erat lorem tempor. Placerat sed tempor clita invidunt labore justo ipsum consetetur consetetur lorem magna sit amet est. Magna aliquyam velit ad dignissim aliquyam dolore adipiscing sit at nisl sed sit sadipscing dolor diam eleifend molestie. Accumsan lorem tempor lorem voluptua ipsum augue ea ut et nonumy. Illum nulla dolor at et vel et diam.
Ut tation sea option consetetur ipsum labore elitr sed option delenit sadipscing magna vero sadipscing magna quis te takimata. Nulla invidunt adipiscing tempor vel vel diam duo. Stet elitr consetetur no delenit quod sit sed sit gubergren. Nulla illum accusam magna stet no molestie odio illum consetetur justo ipsum. Facilisis dolores labore aliquyam et erat wisi takimata et enim sit. Et ut eleifend commodo luptatum hendrerit dolor. Facer dolor sit magna takimata vero. Kasd ut est commodo id euismod lorem rebum dolor voluptua dolore et luptatum voluptua. Veniam et at et eros at et sed ea.