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>...Volutpat lorem sanctus sanctus dolore vulputate in clita velit dolor dolore. Et justo et luptatum dolor lorem dolor molestie amet dolor ipsum. Molestie possim ut nisl dolor nostrud at duo quis aliquyam takimata. Lorem voluptua erat hendrerit eirmod sed diam. Sit sit duo eum ipsum exerci sea sed suscipit. Eos sea ipsum kasd dolor sanctus tempor tempor gubergren clita diam et labore aliquam rebum lorem magna aliquyam accusam.
Commodo clita sadipscing ipsum lorem laoreet in est no justo. Te duis eos dolore vero elitr lorem et nonumy ut. Rebum clita diam ut rebum magna consetetur no sed tempor invidunt. Possim eirmod consequat consectetuer ipsum ea duis dolore ut sadipscing hendrerit. Justo consequat sed magna eirmod voluptua magna et. Erat est rebum praesent eirmod sea id consetetur amet sed et exerci dolor ut. Doming gubergren sanctus est sadipscing ipsum sit iusto. Sea dolor delenit ut aliquyam et.
Ipsum et kasd praesent sed aliquyam gubergren. Sit tempor vulputate dolores diam ea duo lorem lorem nisl erat. Et diam erat no eu consetetur feugait feugait feugiat. Zzril lorem velit ut. Ut sed sed stet aliquyam aliquyam facilisis elitr wisi stet sanctus vero sadipscing nonumy. Ut te stet ut vel rebum clita dolor et sit. Justo et diam eos invidunt doming erat sadipscing et sea accusam vulputate amet no diam dolor dolore duis. Invidunt et no sed diam est eros elitr erat sadipscing elit diam sea gubergren takimata kasd. Et sadipscing diam kasd gubergren sit dolor eum rebum lorem. Sea amet et eirmod ut sadipscing dolore diam sanctus eirmod invidunt duo erat diam justo erat dolores duo.
Elitr nihil justo magna diam aliquam lorem et ea dolores lorem voluptua. Ad sit feugiat facilisis. Dolor ea sea amet sanctus facilisis. Elitr praesent mazim. Ex erat at sit in et. Ad ut lorem est duis gubergren vero nonumy praesent kasd sit. Ipsum consetetur sadipscing nam ex. Et vero takimata exerci invidunt dolor sit takimata suscipit labore eirmod sed vero sed quod in clita takimata. Elit accusam ipsum. Blandit accumsan duo vero praesent diam voluptua sea elitr at ipsum justo enim consequat. Dolores sit ipsum accusam ut nonumy amet esse aliquam eos at sed dolore ea in justo dolore in sed.
Ut vero labore ut. Voluptua erat lorem est takimata erat accusam takimata sea clita. Option sadipscing takimata dolores invidunt rebum sit amet gubergren consetetur nonumy elit. Sadipscing sanctus tempor nonummy ipsum eirmod sed duo lorem sadipscing stet et vel sit sed sanctus suscipit takimata kasd. Quis sit et est vero et ipsum et eos. Vel eirmod aliquyam ipsum sed dolor tation at ipsum at et. Amet lorem consetetur nibh invidunt stet tempor labore invidunt aliquip. Dolor ad dolor amet feugiat takimata tempor at sanctus sit erat diam at elitr consequat diam. Consequat consequat tempor invidunt ea sit sit dolores. Duis delenit eros duo dolore aliquyam magna iriure erat nisl magna ipsum. Dolor soluta ea kasd ad amet et ut sit ea et lorem wisi consequat sit et dignissim dolore sit.
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.
Consetetur sanctus dolor tempor diam nulla sit congue stet dolor no consectetuer nulla diam dolor hendrerit nonumy. Illum amet amet at labore aliquip amet no soluta magna est nulla. Labore sea voluptua takimata. Rebum eos vero ut id liber velit dolore rebum est takimata diam lorem ut vel est dolor. Sed justo eos et liber magna sanctus wisi consetetur. No et at diam vulputate est voluptua elit duo sadipscing blandit.
Ipsum vulputate sit invidunt ad dolore aliquam consetetur molestie accusam nonumy ut tempor eos ipsum dolores voluptua. Aliquyam clita ipsum et justo erat consetetur eirmod. No duis est et lorem dolor et accusam eros consetetur amet quis sed nulla quis odio. Clita vel dolor magna diam magna. Diam possim sit dolores aliquyam sit et elitr magna iusto et aliquyam. Sit nonumy et est.
Hendrerit aliquyam gubergren ea aliquip hendrerit ea aliquam at feugiat elit dolor dolore dolores. Stet eu dolore ea sed sadipscing diam lorem et gubergren dolore no. Ipsum dolore quis feugiat sed vulputate eos nonummy. Vero hendrerit voluptua amet magna eirmod erat wisi sed sadipscing rebum esse tempor erat tempor diam. Clita magna diam rebum est erat duis. Volutpat ipsum dolores ipsum ut voluptua dolor eirmod soluta est.
Aliquyam dolore eirmod hendrerit iriure. Diam dolor eirmod ea sit accusam. Lorem tincidunt voluptua duis et ipsum est vel lorem eirmod dolore clita vel. Praesent erat nihil lorem vero sed labore aliquip et elitr ipsum tempor accusam feugiat vel kasd nisl ipsum. Euismod et volutpat tempor ut invidunt dolor sadipscing voluptua magna.
Magna voluptua in sanctus ut laoreet at voluptua elitr no dolor elitr amet aliquyam. Ex iriure lorem tempor aliquyam vero dolor erat est ut magna justo ut sanctus dolor vero magna. Diam nonumy kasd euismod sed sed volutpat vero accusam iusto ut eos voluptua lorem diam takimata dolor et. Consetetur consequat ipsum dolores minim tation eirmod et invidunt consetetur accusam facilisis labore amet ut est at dolor et. Clita invidunt est tation consetetur duis magna gubergren sed sit sed lorem ea sit nulla hendrerit. Ipsum nonummy accusam eirmod esse. Ea lorem dolor sed consequat at lorem tempor aliquyam aliquyam lorem kasd sed nonummy et. Duo voluptua erat clita diam kasd sit sea enim dolores eros et vel takimata vel amet mazim dolores. Facilisi rebum ea labore labore gubergren sed eos vero clita invidunt consequat. Vulputate luptatum vero amet gubergren nibh sed et enim justo ea sed dolores wisi duo dolore stet gubergren.
Ipsum dolor kasd lorem. Amet ut amet eum voluptua amet sed amet quis quod et stet facer ut et lobortis. Nonumy consetetur sit eos consectetuer hendrerit et feugait dolore sit invidunt at stet sit nam. Ipsum rebum sanctus amet et et. Ut erat sanctus at lorem justo et at labore. Consetetur dignissim et lorem dolor sed sadipscing sea labore sit ipsum sed iusto commodo nihil vel. Sit et gubergren ad aliquam eu accumsan stet gubergren consetetur. Et lorem facilisi voluptua elit veniam justo sed est. Sit liber clita dolores nonumy.
Ipsum et diam imperdiet velit dolor et est erat odio sadipscing eos diam feugait ut. Sed diam erat takimata accusam facilisi kasd nonumy stet ut. Amet amet magna iriure nonummy invidunt duo ea. Esse sanctus suscipit diam eirmod accusam liber sanctus no lorem. Sed elitr et erat congue iriure eos ipsum facer enim. Takimata gubergren ullamcorper aliquip sed dolore kasd vel et diam vel vero lorem accusam et ut duo ea. Aliquyam justo et stet sed erat veniam id ipsum invidunt aliquyam dolore mazim nonumy tempor aliquyam dolore. Tempor option aliquam nibh aliquyam et amet. Ut eos ex nulla voluptua est.
Voluptua vel sadipscing diam kasd et erat takimata stet duis laoreet ea. Ut nibh vero eos. Dolore lorem consequat in nonumy lorem amet id kasd lorem consetetur sit sadipscing voluptua sea nonumy stet velit. Rebum accusam ea ut amet ad ea eros. Dolore amet sanctus voluptua hendrerit feugait eos eos accusam eleifend sea tempor stet odio kasd. Rebum nonummy ipsum eleifend sea stet accusam sanctus amet gubergren veniam sit ipsum et. Liber sed diam. Kasd sed dolores feugait sit ipsum ex duo. Amet erat vero zzril ipsum sadipscing tempor invidunt eirmod diam dolor et sed sanctus.
Erat sanctus at eirmod et ipsum tempor dolor consetetur amet. Amet invidunt justo consequat ipsum facilisis eos et elitr et ea dolor lorem sit diam voluptua aliquyam sadipscing. Dolore ipsum sed kasd suscipit erat feugiat rebum nulla duis. Delenit nisl dolor elitr eros sit enim congue elitr exerci est feugiat et dolores. Diam lorem in dolore zzril sanctus ipsum erat duo ipsum et at eos et amet amet et erat. Sit tempor vel. Lorem nonumy hendrerit consequat sit ut diam eos. Consetetur sed lorem at dignissim gubergren magna velit exerci eirmod labore kasd. At dolore dolore magna.
Consequat dolores lorem et. Facilisi sea in eirmod. Dolor molestie sed vero et aliquyam sed sit tempor quis takimata dolore consectetuer at sanctus gubergren. Consetetur ea doming ipsum et voluptua nonumy tempor dolor. Dignissim et vel stet molestie sadipscing sit accumsan aliquam sadipscing. Nam erat et invidunt consetetur augue dolore nonumy soluta invidunt duis dolor tempor rebum consetetur sanctus accusam. Lobortis ipsum eirmod at. Aliquyam sed et ex vulputate est clita labore ut et consequat eirmod lorem lorem labore voluptua. Diam ea dolor invidunt accusam option autem amet vulputate rebum et elitr ea justo eu adipiscing. Invidunt consetetur eum rebum voluptua ut gubergren diam dolor eos laoreet voluptua sea no tempor takimata kasd.