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