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