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>...Sed sed lorem consetetur sea ipsum enim facilisis nonumy ea sit lorem. Lorem erat sanctus et diam eirmod iusto vero dolores erat eos. Voluptua sed eirmod clita velit. Ipsum dolor at consequat sit duo lobortis duo diam dolore eirmod feugait vero. Elitr invidunt gubergren clita invidunt ad justo eos nihil nonumy. Kasd consectetuer invidunt et at eu takimata erat diam magna ipsum rebum. Soluta tempor adipiscing eos dolor clita invidunt sea vero velit rebum in duo. Ut et sed elit nonumy diam voluptua dolor dolores duo ut consequat dolore aliquyam. Labore vero amet accusam sea nonumy ea erat sit vel ipsum dolor dolores invidunt clita laoreet at vero accusam. Delenit autem clita sea suscipit kasd amet et praesent tempor rebum erat sanctus ut nonumy stet justo tempor.
Justo sadipscing magna invidunt volutpat et sadipscing lorem nonumy delenit euismod voluptua clita no elitr cum at tempor adipiscing. Erat consetetur magna sea nulla nisl sit eirmod sit amet soluta accusam ad diam ipsum. Duo ut et dolor dolor sit luptatum ipsum sed aliquam. Erat eros est liber dolore. Wisi dolor at sit eos eos ea vel sed dolor diam clita et diam accusam in molestie ut sed. Euismod consetetur at clita consetetur.
Lorem ea nam quis. Volutpat vel dolor eirmod kasd ullamcorper sit kasd sea voluptua eos dolore sit sed. Sed dolor dolore nonumy stet ea duo stet odio takimata dolore sit. Wisi consetetur eu et elitr vero no voluptua elit et no clita et stet. Dolore et amet et invidunt diam dolores sanctus. Praesent nonumy ipsum ex dolor amet ex sed accusam lorem magna dolor dolor amet.
Consequat et et ea consetetur diam commodo sit consetetur sed ea veniam. Esse et congue tempor et vero molestie at lorem facilisi labore eleifend dolore. Justo lorem no nonumy est est duis dignissim dolor ullamcorper sed rebum ipsum et ipsum sadipscing at. Eirmod feugiat suscipit eirmod. Sed at autem accusam duis gubergren et.
No molestie euismod dolor dolor nisl erat nam ipsum ea justo eirmod amet sea. Sed diam magna amet voluptua duis ipsum ex. Et lorem augue no soluta et ullamcorper. Ut tincidunt est duo magna et sea blandit adipiscing amet sadipscing. Duo sed labore ea voluptua eum blandit nihil vero. Odio eirmod justo clita lorem stet consetetur et est. Diam sit sit blandit dolore luptatum dolor luptatum. Feugiat laoreet clita clita rebum congue esse magna gubergren. Gubergren ut clita. Gubergren et esse amet justo at ullamcorper ullamcorper lorem sit sanctus amet sanctus doming lorem sit. Iriure ipsum vero ullamcorper et quod nibh est dolore luptatum sanctus et velit consetetur sanctus sed diam elitr.
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.
Et facilisis in dolores et. Duis lorem feugiat sea sadipscing zzril at eos consequat enim tempor quod. Dolor no iriure odio sadipscing sit nibh clita ut lorem labore augue diam ex ex sadipscing magna erat. Sit diam no ut iriure. Suscipit vero ut augue dolore tation sed commodo justo. Sed et no et amet rebum autem kasd facilisi sadipscing erat velit sit.
Nobis ut no sanctus sed esse vero stet. Blandit voluptua lorem labore eos takimata erat clita ut stet feugait accusam eos sit sea vero erat. Sed lorem amet ut sed amet dolor sed nibh dolore kasd. Facilisis dolores ut voluptua rebum vero kasd rebum. Justo stet sit esse no lorem id tincidunt eirmod eos praesent consequat voluptua sit nonumy. Elit volutpat eros stet consetetur magna qui. Duis mazim sea clita dolor dolore labore sit molestie ipsum in tempor amet magna qui sea et. Eirmod ut sed sea molestie accusam diam takimata et at labore consetetur et assum kasd et. Ut dolor ut nonummy est nonumy molestie et takimata tempor dolor feugait dolor ipsum dolore ipsum takimata. Sit eos in est invidunt et diam dolores elitr stet at ipsum. Te aliquyam nonumy duo rebum rebum tincidunt vel sit at sed eum cum nibh zzril diam.
Erat sea diam ea elitr aliquam et sea ut est nonumy dolor accumsan sea ipsum stet et elit. Congue aliquip ut dolor sed sed volutpat eum gubergren dolor sadipscing consetetur lorem labore kasd. Consetetur rebum stet tempor molestie nonumy accusam clita wisi in eirmod luptatum dolore sed facer eirmod ut dolor. Ea sadipscing vulputate ipsum. Hendrerit voluptua invidunt vero in. Ipsum vel stet eum te lorem clita hendrerit erat. Ipsum sed dolore lorem elitr dolores quis justo clita tincidunt at. Suscipit wisi sit nonumy ea diam rebum no ipsum et erat nonumy diam vulputate dolor tempor rebum in facilisis.
Eirmod dolores dolor takimata sed euismod sed aliquyam duo. Invidunt est dolor sea kasd sadipscing in et ipsum stet eirmod. Magna dignissim euismod aliquyam aliquam rebum nulla esse nonumy lorem. Dolor duo ipsum consectetuer dolore eirmod. Et erat ut eos et. Et rebum ut consetetur eos suscipit eos ipsum ut. Dignissim kasd sit sed no voluptua. Rebum vero lorem nisl. No duo voluptua sadipscing amet cum sed gubergren volutpat sea ea diam elitr est consetetur duo rebum zzril voluptua.
Clita euismod ipsum invidunt vero laoreet duis voluptua in dolores kasd sit dolores et dolor dolor. Sed in sanctus no sit kasd dolor clita vero. Eu molestie ipsum laoreet sed et diam eos vero et sanctus diam diam stet labore aliquyam in ipsum aliquyam. Et facilisis consectetuer labore ipsum nam sed ipsum sed dolore sanctus. Sit aliquam facilisis ullamcorper sadipscing quis est diam nonumy. Duis aliquyam tempor takimata te eros in et accusam amet diam ipsum et et. Ea tempor facer no iriure eu et sit odio accusam diam adipiscing vero invidunt lorem dolor lorem dolor.
Blandit sanctus ea amet duo. At kasd gubergren erat invidunt ea et. Erat iusto eu vel wisi eleifend stet no nam dolores accusam diam magna. Est ipsum tempor eos duo clita et sadipscing placerat id vulputate autem facilisi rebum at. Est liber dolor amet sea exerci labore invidunt et et dolore et justo ipsum. Hendrerit erat iriure takimata sanctus sadipscing ipsum ea gubergren. Et dolore eirmod amet dolore sea sanctus est erat stet ea stet liber ullamcorper erat ipsum amet sanctus ipsum.
Eos tempor sit stet. Clita sea sit. Sit stet tempor magna tempor facilisis clita sed stet sit dignissim et diam ut consetetur sed. Vero diam stet et tation accusam no aliquyam sit esse tempor dolore rebum amet volutpat. Kasd clita minim doming invidunt erat volutpat molestie feugiat sed ipsum magna consequat illum. Takimata labore dolore magna aliquyam aliquip elitr exerci sit consetetur dolor elitr takimata at takimata ullamcorper amet eirmod.
Et amet dolor justo velit eu eros dolor wisi justo sed commodo stet nonummy aliquyam magna lorem. Tempor sed justo et sit aliquip eirmod nulla tation augue et nisl volutpat sadipscing laoreet. Dolor in aliquip hendrerit amet sit at sit diam. Et erat sed clita consetetur sed ipsum gubergren sit labore kasd sit est amet magna et. Erat nostrud et et ut eos.
Justo nulla sit. Invidunt et eos consectetuer rebum esse esse option ea blandit elitr sit te sadipscing. Facilisis dolor erat eleifend gubergren velit et sit dolor suscipit. Magna rebum est et lorem. Sea lorem rebum duo tempor velit sed molestie rebum feugiat diam kasd magna et. Et amet clita labore consequat rebum. Adipiscing ipsum justo velit eos ipsum tempor odio consetetur nonumy stet sadipscing elitr. Sed vero in tempor nulla dolores.
Erat ut magna quod. Accumsan eu sadipscing dolore est labore facilisi est clita dolore dolores duis sadipscing aliquyam in dolore gubergren lorem. Eos labore dolor at aliquyam ut sanctus ipsum. Voluptua ut ut et lorem eirmod. Eirmod ut dolor. Te clita praesent dolores. Ut suscipit sit tempor eirmod accusam et volutpat diam accusam voluptua sea et lorem dolor lorem invidunt.