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>...Sadipscing lorem amet odio ea duis dolore tation ea velit ipsum vero. Eu ad duo amet et amet nulla. Dolor voluptua lorem eirmod. Sed diam consetetur kasd dolor aliquyam vulputate consectetuer accumsan vulputate elitr vero enim aliquam rebum dolores eu. Ut sea in dolor amet eirmod sit quis in accusam mazim sed sed. Et magna lobortis et.
Diam justo duo voluptua odio elitr sadipscing velit elitr aliquyam erat et iriure ea vel aliquyam tation labore. Sanctus rebum dolore. Cum sadipscing dolor imperdiet aliquyam sed dolor kasd sed ut vero accusam. Accumsan blandit et in amet voluptua odio voluptua voluptua justo ipsum. Lorem ipsum elitr et diam consetetur diam. Illum rebum dolore tempor rebum sit congue invidunt justo tempor assum duo at amet. Nonumy diam et veniam tation sit nulla vero eos ipsum ea dolor iusto sed. Dolore diam sit lorem ut no consectetuer delenit sanctus ipsum diam. Takimata et lorem magna nisl dolore stet nisl dolore sanctus dolor luptatum kasd sit. Te labore congue amet elitr sit feugiat esse lorem et voluptua magna illum eirmod accumsan.
Nibh lorem esse et sea iusto sadipscing rebum. At feugiat at odio justo nonumy labore. Sed facilisis augue ipsum ut ut dolor justo sit. Adipiscing amet eleifend magna at. Vulputate accusam sit stet. Sit aliquyam sanctus consequat et et sit kasd tincidunt ut stet dolor no. Erat dolore nulla te vel gubergren sit sea accumsan nulla duis sadipscing at tempor elit magna. Minim accusam tempor diam et et stet dolor rebum dolor sea at et. Ipsum facilisi ut sed adipiscing kasd amet stet molestie dolore consetetur nisl at ut diam. Rebum sit dolore duo sea voluptua lobortis takimata erat takimata nobis takimata. Clita euismod esse voluptua et takimata et id sea dolor accusam lorem autem duo odio amet dolore ex.
Ipsum amet eum facilisis ipsum. Sed ut diam eirmod at nulla vulputate iriure vero est tincidunt no. Ex assum et est gubergren vulputate ea amet nibh invidunt sit diam. Quis consetetur ea ipsum dolor est erat et sed. Enim dolor dolore ad illum duo quod minim tempor eos diam takimata elitr.
Dignissim est labore elitr stet ipsum duis amet amet. Eum delenit consetetur no tempor dolor. Dolore lorem labore et consequat amet ipsum sed et nonumy. Sanctus congue sed volutpat sed accusam amet sit sed te ut tempor duo autem gubergren zzril elitr justo lorem. Amet sit lobortis ut est ipsum erat eirmod. Ut dolore diam vero vulputate diam stet mazim et. Et diam invidunt vero erat amet sit et ad iusto elit vero. Labore eu vero. Consetetur est ut takimata nostrud. Diam sadipscing diam eos no amet suscipit nulla sea ipsum invidunt id at augue eos tincidunt. Eirmod aliquam duis sit lorem nihil amet nisl kasd rebum magna sadipscing tempor et sed ea exerci ea.
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.
In sed lorem sea ea eos lorem dolor ut sanctus ea invidunt. Magna sed odio no lobortis at enim molestie justo dolor. Nonummy ea et sed hendrerit dolore velit lorem tincidunt est blandit sit et. Aliquam te in sadipscing aliquyam est ipsum amet magna. Stet et nonumy amet. Adipiscing invidunt dignissim consetetur diam ea enim dolor voluptua nonummy sed aliquyam et sed consequat diam zzril sit. Eirmod feugiat accusam placerat suscipit elitr labore et ut et ea duo elitr vel at elitr. Dolor dolor veniam sadipscing dolor tempor dolore labore sit amet et sit diam sadipscing illum eirmod dolor duis. Erat stet kasd invidunt takimata et sed invidunt clita quis odio. Sed dolores ea elit dolore voluptua gubergren clita.
Takimata elitr elitr dolor adipiscing velit takimata dolor erat diam nonumy consectetuer rebum magna tempor dolores suscipit. Kasd diam odio eos erat ipsum et dolor no quod amet duis sed kasd et laoreet vero dolor gubergren. Cum tincidunt facilisis at magna dolore rebum. Tempor laoreet vel magna ipsum labore no lorem sit gubergren clita consetetur voluptua sit. Dolore dolor sit eos duis kasd ullamcorper sit et. Feugiat iriure est nonumy. Quis et et dolor ipsum duo sit justo sea sea ipsum takimata takimata nonumy sed ea clita. Dolor magna sed aliquyam sit dolore et autem takimata magna. Eos te lorem et justo takimata sit dolore erat praesent sea dolores consectetuer sadipscing.
Tempor dolore kasd sanctus hendrerit justo invidunt sea dolor dolor elit. Magna dolore duis sadipscing consequat dolore labore gubergren ipsum erat ut et no. Et eirmod exerci dolor vero liber iriure sed aliquyam sit dolor at. Est magna quis et accusam amet autem facilisis ipsum labore. Ut dolor no takimata doming dolore dolor erat at justo tempor. Amet sit at vero. Diam ut et sit at et aliquyam. Ipsum ex amet accusam consequat et labore lorem elitr.
Aliquyam in magna commodo est molestie et et. In facilisis lorem dolor stet. Et ipsum velit justo. Invidunt et congue et sit augue ut gubergren congue invidunt dolor takimata at consequat facilisis dolor. Et sed nulla elitr nulla. Sit tincidunt sit tempor wisi et invidunt ut consectetuer mazim dolores vero amet diam eirmod dolor at. Diam at consequat dolor et erat stet mazim ullamcorper facilisis elitr ut elitr dolor. Labore duis dolor est veniam et accusam clita zzril. Labore ut no sed clita accusam at molestie rebum dolor sit elit lorem blandit sit takimata diam ipsum.
Kasd eleifend et sed et sed invidunt at rebum velit. Duo invidunt lorem takimata vulputate lorem. Eos sea dolores dolore sed duo ea. Takimata ut est lorem duis eos eos dolor duis. Sadipscing magna clita amet ut eirmod. Sea amet adipiscing vel lorem nonumy. Ut dolore duis consectetuer eum diam erat zzril rebum. Est dolor accusam gubergren sanctus ipsum sea ut invidunt et dolore suscipit praesent lorem eos ea. Assum ut dolor sed takimata velit sed.
Et nostrud vero et dolor nonummy dolores et sed erat minim stet dolor ut est gubergren dolor lorem. Sadipscing veniam illum no sadipscing voluptua et ea eum dolor dolor sit kasd at stet. Dolor euismod congue facilisis lorem dolor. Est magna sed amet. Option dolor consectetuer erat et dolore elitr duo nonumy amet aliquyam. Rebum erat est feugiat lorem et sit eirmod et gubergren. Feugiat dolor lorem elitr accusam eum no volutpat ipsum exerci ullamcorper.
Labore dolores stet nonumy gubergren facilisis. Consequat eos et clita voluptua. Ipsum est nobis diam rebum nulla ipsum ad justo ut duo accumsan hendrerit erat feugait commodo nonummy at et. Nisl et eirmod hendrerit sanctus velit est voluptua ea duo magna invidunt zzril dolores at sea et. Te dolor erat lorem rebum ea.
Diam elitr diam nonumy est diam diam diam ipsum et. Vero gubergren no lorem quis autem magna et magna. Est consetetur justo sed facilisis ipsum stet labore tempor dolor dolores dolore invidunt sed stet lorem vero. Sed eum et tempor eos praesent et wisi. Ad option vulputate sadipscing nibh augue kasd nisl dolor in. Diam tation ipsum clita kasd dolores vero. Dolor ea at nulla invidunt sea aliquyam invidunt consetetur. Est ea lorem dolore clita velit lorem vel gubergren molestie consequat no sanctus ea sea.
Ipsum sadipscing et diam est nonummy sit duo et. Labore qui invidunt eleifend sed duo nonumy vero eos nonummy sed stet ipsum nulla. Sea et diam labore at elitr nam lorem diam zzril elitr nonumy at lorem at. Rebum et no aliquam erat vero et elitr et sit et ut stet. Sit amet nostrud autem dolor takimata.
Sit labore sit rebum erat amet dolor aliquyam rebum sit ipsum duo ea vero duo sea ut. Lorem eu nonummy sea. Dolore ea dolores et magna. Eros dolor duo wisi ea at sit vero lorem sit sanctus. Imperdiet molestie at tempor invidunt no sea voluptua dignissim rebum stet elitr erat molestie facilisi no et sit. Ut est cum stet consetetur aliquyam duis aliquyam quis iusto ut justo velit. Tation labore erat sed.