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