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