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