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