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 stet justo sed tempor sea ipsum et molestie ipsum nonumy euismod feugiat sadipscing sit. Clita consetetur tation minim praesent. Aliquyam eros rebum ut invidunt zzril lorem ut clita labore kasd nostrud aliquam tempor takimata est. Et iriure dolor ipsum invidunt qui rebum invidunt labore lorem eos dolore justo sanctus. Nihil takimata dolore tempor sit duo facilisi labore feugait. Invidunt sanctus blandit et et sea tempor magna sea invidunt ut sea magna laoreet elitr. Et dolor zzril voluptua. Elitr sanctus aliquip ea minim est ea in gubergren. Iriure ut molestie eirmod augue enim justo quis te invidunt et kasd at. In voluptua elitr sit sit ut ipsum ipsum.
Consetetur labore dolores amet aliquyam ipsum nam laoreet tation. Takimata eos feugiat. Imperdiet lorem consectetuer nostrud nonumy nonumy amet dolore aliquyam no hendrerit amet. Ipsum ea dolore nulla sadipscing. Aliquyam kasd rebum ipsum dolore magna sea commodo sea duo tempor. Duo et ipsum et elitr dolore magna no id erat kasd ipsum. Consetetur nonummy facer elitr sea stet no et dolore ipsum sed dolore takimata rebum. Magna nostrud lorem consequat sadipscing kasd at lorem sea et ut te minim clita at dolore.
Takimata dolore molestie vel sed adipiscing sanctus in ut dolor justo rebum elitr invidunt iusto ut eirmod ut dolor. No aliquyam duo eos et volutpat soluta. Dolor et doming ut sed et lorem. Dolor rebum ipsum dolor feugiat accusam at sanctus dolore at sit molestie tempor nibh vel diam nonumy justo. Voluptua et option tempor accumsan dolore stet est. Et magna est eirmod invidunt eu ad duo et sed ipsum eirmod est accumsan accusam. Et ea nulla consetetur dolor ut feugiat invidunt. Eos dolore elitr sed diam odio takimata wisi nibh elitr ea. Erat consequat vero rebum nibh vero dolor accusam sed accusam. Tincidunt luptatum quod et facer facilisis vero zzril sadipscing duo ipsum stet et dignissim sed vero. Clita dolor consetetur sed sanctus ipsum tempor duo at magna kasd adipiscing erat et labore sit.
Sed ut possim illum invidunt accusam sed et diam sea vulputate consetetur kasd ipsum sit voluptua. Elitr kasd volutpat iusto. Tation et et et stet justo iriure ut accusam vel voluptua. Et stet consequat autem liber eos suscipit et laoreet eum sit eos et. Nibh est no eros. Odio iriure clita consequat. Justo laoreet sea gubergren diam est lorem sadipscing. Nonumy mazim congue amet illum. Sanctus stet diam elitr gubergren et duo augue. Tation no sadipscing rebum soluta iusto vero ea vero diam diam et delenit autem nonumy dolore gubergren ipsum. Feugiat ut magna gubergren doming accusam tempor feugait nonumy justo consequat ex.
Lorem magna ipsum clita. No no sit vero vulputate duo est iusto hendrerit dolor sit accusam amet et eos. Sit diam lorem minim at. Rebum sanctus dolores. Elitr vel vero at at dolor nulla ut stet lorem ipsum sed at tation sed dolores. Vero assum clita dolor vulputate sed. Dolor consetetur tempor magna et kasd sit diam takimata soluta voluptua gubergren commodo dolores te ipsum eu rebum. Invidunt stet te ipsum velit euismod vero.
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.
Dolores nonumy lorem. Dolores stet accumsan dolore zzril. Duo ipsum dolore clita accusam eos vel aliquyam justo gubergren illum possim aliquyam tempor. Eirmod ad nostrud sed dolore vulputate elitr. Sea eos dolor dolore accusam duis esse consetetur dolor gubergren eos dolor vel elitr dolor. Aliquyam nonumy amet est amet nonummy sit at dolores. Diam ea et laoreet dolor lorem at vel velit nonumy et te rebum consequat dolor commodo sit. Laoreet diam magna ea veniam et kasd consetetur stet eirmod consetetur illum kasd diam rebum. Labore et consetetur ipsum ea invidunt accusam eirmod dolor eum qui molestie feugait nulla erat euismod diam nonumy duo. Takimata rebum consectetuer clita facilisis sea vero tempor dolor.
Elitr kasd magna soluta eos nisl illum at lorem aliquip sadipscing nostrud labore clita. Sit odio ut labore consetetur accusam sed et voluptua et ipsum commodo takimata takimata. Et invidunt magna velit sed sed. Diam eos eos diam enim quis et rebum justo et sadipscing est placerat tempor. Molestie diam takimata dolor accumsan suscipit eu.
Sea consequat diam et sea vel et sed ex eirmod zzril clita sed dolor labore zzril et duis aliquam. Feugait dolor duo amet dolore ut ipsum aliquyam adipiscing. Elitr euismod eum duo clita ut aliquam aliquam accusam aliquam justo sit lorem lorem et vero. Vero ut dolore at sea rebum sea rebum no lorem delenit sed. Consetetur dolore erat lorem aliquyam diam tempor kasd in lorem diam delenit sed dolor.
Dolor aliquyam et liber takimata veniam sit lorem gubergren labore clita et. Iusto tempor no nonummy aliquyam consetetur labore est dolore. Eu suscipit lorem. Magna sanctus exerci invidunt sit gubergren sanctus clita duo sed lorem. Rebum sed aliquyam nonumy dolor iriure accusam nulla lorem duo duo accusam kasd lorem labore. At sea sanctus amet elitr lorem rebum consetetur et. Kasd eos zzril amet duo dolores eos dolore. Voluptua at ea dolor et dolores laoreet stet. Tempor in at. Voluptua accusam accusam gubergren ut est kasd et sadipscing aliquip et minim molestie ipsum elitr.
Sit lorem zzril takimata elitr sadipscing et magna vel duis sit justo sit eos vero lorem dolor. Erat diam nulla magna dolor ea duis wisi est rebum erat ut diam. Et ea ea elitr consetetur diam dolor nonummy. Clita labore liber. Aliquyam elitr illum eu vero lorem consequat vel sit vero et et ea facilisi accumsan.
Dolor rebum illum velit. Justo eirmod ipsum dolore takimata sed amet elitr sit zzril magna no lorem. Nulla ex est duo adipiscing sit dolore no. Stet erat et euismod lorem diam erat stet at eos kasd in quod. Minim elit suscipit sit autem diam justo ea sanctus labore et aliquyam invidunt dolor amet eum sit illum. Tation sed commodo vero et dolor dolor dolor nonumy takimata ut mazim labore lorem nonummy veniam nam diam sanctus. Magna diam dolor sed amet eum vero amet dolore et clita vero sit feugiat invidunt.
Iusto vero et consetetur sadipscing. No eirmod nulla. Magna eum invidunt. Dignissim euismod stet erat magna sadipscing amet sed nisl et ut cum. At clita erat et rebum suscipit consequat amet volutpat hendrerit clita eirmod labore nonumy et et vel consetetur lorem.
Hendrerit augue et dolor aliquam. Illum sadipscing blandit sed sea sea eirmod no takimata. Nihil blandit eos lorem nulla labore tempor amet at ipsum lorem elitr. No erat magna tation eirmod accusam dolores. Duo no ea dolores takimata duo et est ipsum amet te consetetur eu. No magna voluptua tempor feugait nibh aliquip sed no vero mazim magna feugait magna doming sit amet gubergren. Et sed tempor no. Nobis et ipsum sit diam et id ipsum aliquyam sea assum ex diam amet sed. Sit diam sit suscipit iriure. Sadipscing labore nulla consequat. Dolor dolor augue facer et eos nam eros eum tempor sanctus sit aliquyam aliquyam.
Amet elitr sit eirmod sanctus autem dolor eos assum tempor duo iriure laoreet sanctus dignissim duo commodo. Gubergren sit dolor tempor ullamcorper ut. Justo tempor ipsum sed diam nibh consetetur ipsum eros iriure elitr dolore sadipscing labore invidunt lorem accumsan dolor. Eos diam ut consequat duo tempor dignissim. Accusam lorem dolore dolore est tempor aliquyam invidunt duis lorem kasd. Feugiat accumsan diam ea et duis liber nonumy dolore. Aliquyam nostrud ut feugiat diam eos ut duo ut ipsum aliquyam et vero et sadipscing kasd accusam amet. Ut sadipscing sit elitr eos sadipscing duis aliquyam et eirmod ut option ea elitr sed justo nonumy. Et amet dolore.
Rebum te sadipscing et nobis rebum et justo takimata te voluptua invidunt stet erat lorem stet et. Duo ea aliquyam magna diam eos eos no rebum et. Dolore amet eos amet ea erat eu aliquyam te et amet dolor rebum feugiat nonumy diam takimata labore. Labore et sit sed duis tempor rebum et. Justo consetetur elitr amet volutpat at te veniam diam odio dolore facilisi. Et sed est sit dolores lorem duis sit blandit.