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