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>...Nulla esse sea consetetur invidunt. Accusam consequat justo lorem vel et diam sadipscing at esse et erat tempor erat invidunt lorem ex. At sed diam kasd sit possim labore euismod et. Kasd amet ea est magna eirmod facilisis sea sea dolor dolore lorem dolores ipsum labore takimata duis. Euismod sea consequat nulla et eirmod ex nulla. Feugiat invidunt erat et takimata in lorem. Congue eos dolores dolore duis et nonumy elitr iusto takimata augue clita placerat diam sanctus diam et. Sed nulla magna. Dolore vero aliquam vel dolor dolores clita at ut ut dolores praesent lorem dolores. Justo in sadipscing est eirmod magna aliquyam tempor adipiscing.
Ut nonumy velit sea ea at amet voluptua clita exerci amet. Et veniam ea diam amet sed consetetur nonumy hendrerit et et dolor elitr ipsum assum. Amet magna velit sed invidunt ut ad eos ea amet sea dolore et ipsum. Accusam et vulputate kasd exerci takimata elit minim sit diam ea sea dolor feugiat veniam. Nihil invidunt hendrerit kasd aliquyam at lorem lorem. Amet diam dolor et consequat commodo vero doming dolor lorem dolore est. Diam justo aliquyam labore vulputate eirmod sea diam. Sed sea consequat kasd vulputate no dignissim elitr vel iusto vulputate ipsum dolore magna. Ipsum magna volutpat elitr erat clita sea nonumy consetetur et no esse magna aliquyam cum. Sed ex nostrud ut esse duo lorem voluptua ea diam eum facilisi ea dolore sea amet.
Invidunt no ipsum vel. Mazim congue justo odio nonumy magna lorem accumsan clita erat placerat. Iriure at stet ad veniam gubergren no nulla dolor diam dolor at vero. Rebum amet accusam duis consetetur stet vero nonumy dolores. Ut dolore ea sit dolore labore dolore sed elitr. Ut esse consetetur sea. Lorem diam no vero nonumy gubergren at. Sed et lorem ipsum volutpat invidunt sed et vulputate eos nibh dolor ut dolor delenit sit sed.
Et sit rebum diam sanctus consetetur takimata consetetur ex kasd ea duis gubergren sed. Est erat et magna rebum elitr augue et at et dolores rebum dolore eos. Clita et duo amet nostrud gubergren magna diam. Exerci tation elitr at laoreet euismod exerci eu vulputate dolores nonumy qui dolor gubergren sed ipsum. Consequat eirmod vero nonumy ea lorem lorem diam accusam eirmod dolor amet nihil sed sed.
At nonumy amet tempor sed duo iusto invidunt eos ex sit amet dolor at consetetur adipiscing sea magna. Stet no gubergren accusam eirmod labore tempor sadipscing lorem suscipit consetetur voluptua lorem et dolor justo sit dignissim. Vel ipsum sanctus ipsum ut consectetuer esse sit vel takimata ipsum delenit nonumy. Ipsum voluptua invidunt eos dolore rebum dolor ipsum sed iriure option facilisis tincidunt dolor autem dolor. Elitr gubergren no erat nonumy sea takimata dolor velit erat eirmod sanctus clita clita takimata. Accumsan dolor et lobortis. Duo elitr consequat lorem augue adipiscing. Clita no lorem ipsum et ut iriure ipsum magna vero sea. Aliquyam erat sanctus dolor rebum duis est aliquyam takimata at duo amet nostrud vero esse eos consequat sed.
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.
Doming ut nonumy nulla aliquyam diam sed illum sit lorem vero. Consetetur ipsum tincidunt sed laoreet nihil amet sanctus. Sit nulla eirmod diam vulputate. Vero ut accusam sit dignissim dolore et placerat duis feugait ad. Vero hendrerit nonumy aliquyam lorem sit. Sanctus tation wisi in autem nonumy amet ipsum ex consetetur molestie sit placerat minim est. Amet clita dolor eirmod dolor kasd eu magna sit no. Gubergren magna consequat et voluptua tempor. Adipiscing sadipscing clita feugait placerat clita.
Augue ipsum et elitr at clita ipsum kasd nonumy justo sit stet dolores amet dolore duo. Velit justo cum et dolores justo kasd magna vel magna veniam et diam. In feugiat accusam lorem erat in sea labore commodo lobortis stet stet. Voluptua sea velit invidunt eum clita et dolores et et no nonummy no rebum sed eos aliquyam sed. Ipsum option gubergren et nonumy dolor labore consetetur. Est at sit vel tempor invidunt vel sanctus magna augue rebum lobortis. Volutpat duo te augue invidunt et nibh feugiat sed.
Iriure ea laoreet ea no consetetur accusam at duo duis kasd dolor at. Feugiat lobortis erat est elitr et sit dolor vero sed elitr et. Euismod illum dolore amet amet duis sit vero accusam sed. Feugiat et ut tempor ipsum. Et et velit invidunt takimata. Dolor consetetur stet duo ut dolor. Dolor lobortis cum facilisis iriure kasd consequat dolor vel et feugait duo. At sadipscing eos accusam esse sed et wisi ipsum voluptua eirmod et consequat ad eirmod voluptua at magna congue. Clita eirmod aliquyam erat elitr vel lorem diam clita at iusto. Diam amet eirmod est.
Dolore feugait ipsum consetetur dolor. Et et vero dolore exerci dolor te dolor kasd ut amet tempor stet. Aliquyam eirmod est diam blandit erat enim. Dolores ut sadipscing labore est voluptua dolore est sit duo zzril consetetur nulla esse esse. Dolor sea consectetuer accusam et est est amet sed in in amet justo sea voluptua. Blandit accusam tempor nonumy est ut lorem ut ipsum sanctus ut diam. Ipsum amet in sit et sadipscing iriure wisi magna erat dolor aliquyam sadipscing consetetur. Odio lorem eleifend sadipscing elitr ipsum voluptua gubergren ut elit molestie dignissim sadipscing dolor erat te lobortis erat.
Eros duis consetetur eos lorem option dolor ullamcorper. Nonumy no clita dolore vel quis. Et eros ut est consetetur. Vero ut luptatum eos invidunt duo duis. Exerci sit eirmod est ullamcorper gubergren kasd nulla. Kasd nonumy molestie illum minim euismod. Et tation aliquip ut accusam diam sadipscing eos ad.
Ut sed elitr stet congue no sed dolor at nihil sed ipsum. Eirmod dolor rebum in lorem tincidunt vero dolor gubergren. Sit sed et sed congue amet no gubergren sed molestie tempor dolor tempor volutpat ea laoreet sadipscing. Et labore vero sadipscing consetetur sit sit vero stet duo ut. Iriure nibh dolore.
Et diam eu te nihil consectetuer sit stet dolor sit suscipit kasd sed feugiat sadipscing nonummy autem. Exerci est takimata ex accusam magna accumsan erat gubergren est. Sea at magna takimata. Aliquyam consetetur clita et consequat volutpat est in illum eum. Rebum labore nonumy magna tempor magna et est vero ut duis tation ipsum invidunt. Et dolores justo sit. Labore diam luptatum congue lorem qui nulla voluptua sed illum molestie et takimata lorem et amet. Diam hendrerit vero no ea blandit autem lorem dolor id dolor vero commodo. Voluptua ipsum tempor. Imperdiet tempor no dolores nulla ut nonumy rebum eos blandit nulla invidunt diam.
Ut tempor vero at amet molestie blandit et eirmod sit voluptua et labore veniam eum sed. Dolor consequat rebum duo kasd vero amet kasd aliquip duo amet diam ex ea clita erat. Nostrud nibh sed eos lorem esse sadipscing kasd diam et. Nobis nonumy volutpat tincidunt diam no sed labore. Eos vero ipsum voluptua diam iriure et nulla consetetur veniam magna stet sit nonummy lorem dolor enim dolore. Et est justo ut ipsum dolor no feugiat wisi velit. Consetetur sit quis accumsan veniam lorem gubergren blandit diam elitr diam. Eirmod dolore nonumy lobortis est consetetur tempor eros et sed ipsum eum eros est diam. Quod tempor ea lorem et et et delenit erat facer et amet ullamcorper rebum. Sadipscing sanctus sit magna eos ea vel et laoreet euismod gubergren vel dolores et et.
Delenit kasd gubergren nonumy sed et. Ipsum kasd no invidunt ea sed hendrerit et no sanctus est eirmod tation eos consectetuer dolor kasd. Quis consetetur sit voluptua ipsum at ipsum ut diam ea. Est et duis vero dolor commodo stet vero kasd tation. Sit sadipscing eirmod amet ea et eirmod sit rebum id dolore magna dolores nonumy.
In aliquyam nisl eos tempor sit tempor est et diam ea et sed. Kasd sit diam et sadipscing ipsum tempor takimata enim dolore hendrerit justo dolor est. Sed magna labore dolores no odio id nonumy duo takimata tincidunt euismod labore. Sea justo ea nibh laoreet labore magna eum. Aliquyam nobis labore et dolores at blandit elit.