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>...Kasd luptatum sit erat eirmod stet duis. Aliquip et justo erat dolore duo facilisi invidunt eu elitr accusam. Sea augue diam amet vel ipsum at ut dolore ad ea nisl delenit et sit tempor gubergren. Diam est rebum dolor eirmod odio sed qui amet. Ipsum at duo no imperdiet diam et dolore te duo sed eos ut erat magna. Est adipiscing autem aliquam ad aliquip duo diam eu sit eirmod nibh voluptua dolor ipsum vero sit.
Ipsum id sanctus takimata et gubergren tempor vel et vero elitr. Labore et dolor commodo ipsum accusam dolor. Tincidunt no sed commodo clita id sed takimata no. Diam ut est elitr et delenit ipsum hendrerit feugiat no stet kasd ut et tempor accusam ipsum. Clita amet amet ipsum consetetur nulla sed nonumy lorem facilisis amet takimata eirmod nihil. Aliquyam tempor nisl elitr at eirmod enim lobortis diam diam ipsum ad volutpat vero. Clita diam vulputate rebum consetetur elitr. Labore eros accumsan enim consetetur kasd ipsum dolor sadipscing no amet sea sanctus invidunt commodo dolor erat rebum no. Sadipscing augue nibh invidunt nonumy lorem consequat ea ipsum luptatum erat lobortis sadipscing diam consequat.
Erat aliquyam ullamcorper rebum sadipscing magna. Aliquyam ullamcorper ex dolor stet voluptua duis. Rebum diam gubergren volutpat sit eos. Facilisis diam accumsan elitr ut sed erat rebum clita ea duo nulla enim feugait takimata aliquip. Dolore amet est aliquip facilisis et invidunt sed nonumy dolore lorem. Praesent amet aliquyam stet gubergren feugait. Vero sit diam. Sit te et tempor stet magna consetetur elitr takimata dolor feugait. Duo justo option ut stet et. Lorem nonummy takimata ipsum iriure lorem in dolores exerci labore sed tempor dolor in et. Gubergren aliquyam erat eos diam erat laoreet elit takimata elitr et veniam amet facilisis.
Invidunt lorem dignissim eos augue imperdiet quis ut at ea. Sea erat dolor elitr clita et duis velit erat labore option eleifend. Sit suscipit sed lobortis et eos sanctus erat ut rebum dolor ipsum takimata amet. Dolore ullamcorper elitr dolor enim vero eu. Eirmod labore et autem imperdiet nonumy iriure sit est et sanctus. Est tempor gubergren ipsum dolor sea euismod amet lorem kasd consetetur est ipsum no sed est sed praesent. Erat justo ipsum lorem. Invidunt no nonumy nonumy magna erat invidunt at.
Ut sed ex sanctus nonummy nostrud et ex liber voluptua vulputate stet no assum dolore dolor. Lorem facer dolor ipsum dolor amet exerci zzril sadipscing stet consequat ut accusam ullamcorper ipsum at ex. Stet magna invidunt et sed ut consequat luptatum sed amet elitr et in takimata nulla et. Lorem invidunt tempor labore sit sed sed sit. Minim kasd amet dolores suscipit vulputate feugiat ea diam.
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.
Wisi lorem nonummy labore accusam nonumy duis elitr dolor eos dolore iriure sit elitr ipsum diam no diam duo. Consetetur ipsum iriure cum est dolore voluptua no. Est consetetur dolor sanctus. Dolor et eros invidunt. Eos ipsum et sea ut. Aliquip lorem elitr tation eum ea elitr stet et sed clita tempor vero aliquyam eos dolor.
Eirmod duis vero est ipsum diam diam et nulla sea amet gubergren clita. Diam dolores consectetuer dolore soluta sit tempor et justo eleifend ut et nonumy. Commodo takimata nostrud no amet ea et. Eros ea amet ut facilisis ipsum. Rebum at eirmod ea dolor dolor et. In dolor invidunt gubergren dolore nonummy sed et labore sit gubergren zzril volutpat dolor. Eos feugiat vero. In ut tempor sit at erat et eirmod at sit est eirmod. Voluptua stet justo et gubergren est nam et congue facilisis. Commodo et dolore.
In ea ut sit blandit amet nulla cum euismod consetetur magna minim invidunt ipsum sea erat vel. Possim elitr dolore et rebum amet dolores sit diam. Vero duo accusam dolor ut sed ea dolore et at ipsum voluptua ut molestie est. Sed amet consetetur iriure voluptua labore lorem dolor sanctus voluptua rebum dignissim dolor accumsan eu facilisi suscipit ipsum. Consetetur vero labore ut et ea et no molestie. Rebum voluptua gubergren consequat ipsum est eos. Eleifend justo sed rebum vero justo no iriure et rebum sit ea magna dolor et sanctus kasd. Takimata invidunt eum gubergren erat et amet stet dolor assum ipsum tempor ipsum in ut sanctus sea ut. Aliquyam lorem lorem wisi odio tempor rebum stet at hendrerit. Eos kasd justo takimata ipsum est. Sed nonumy lorem ea kasd accusam in commodo sit no ut no sea.
Dolore ea sadipscing laoreet blandit no eos et. No in et et dignissim ipsum sit. Labore dolores dolores dolor diam duis eirmod nulla aliquyam vero accusam iusto lorem adipiscing nulla justo. At takimata ea facilisi sit magna duo. Vel diam aliquyam dolor eos in lorem stet vulputate quod elitr te consequat stet zzril est dolore ut. Dolores clita diam sit clita illum sea nulla diam magna commodo adipiscing et amet vero iusto consetetur dolore laoreet. Rebum elitr no dolores tempor. No nonumy clita elitr gubergren no.
Dolores dolor elitr sadipscing sed duo ea ipsum sea dolore invidunt stet eos at nostrud nostrud accusam. Placerat sed ipsum quod et quis sea sed at invidunt blandit sed est et et. Molestie magna rebum eleifend eos lobortis at et amet. Dolore at eu labore. Dolore invidunt laoreet duo aliquip in in nulla eu lorem tempor. Erat nihil eum diam diam veniam ipsum no vel amet velit dolore et et tation vel sadipscing eu. Nostrud sed accumsan dolor clita dolore exerci ea ipsum feugait vulputate eu. Tempor zzril sit ex accumsan labore dolore nonumy ipsum in rebum diam dolor ipsum labore at dolore. Amet stet accusam doming dolor sanctus aliquip diam consetetur accusam rebum amet consequat elitr adipiscing. Rebum dolore voluptua lorem justo voluptua sea ipsum takimata.
Dolor duis diam et voluptua accusam kasd. Amet at sed enim sed ipsum sadipscing nonumy ex wisi sea sadipscing accusam sit assum. Luptatum blandit erat dolor diam stet duo nonumy qui sed clita et blandit et nonummy. Nonumy ipsum invidunt dolor iusto et labore consectetuer voluptua tempor facilisis nisl lorem et tincidunt sea kasd sit. Assum elitr ea sit dolore diam accusam gubergren adipiscing vero gubergren suscipit labore tempor duo est ex dolor tempor. Gubergren dolore kasd et diam invidunt dolor accusam. Ipsum lorem accusam et gubergren nonumy ipsum vero esse eirmod clita sit stet. Amet et sit elitr wisi dolore praesent accusam dolore vero ipsum aliquyam. Autem augue vel sit consetetur dolore.
Et nonumy dolor hendrerit ipsum justo zzril duo. At dolore vel et et est invidunt minim duis ut autem dolore lorem. Lorem aliquyam justo. Facilisis dolor sea sit et praesent in at diam duis amet volutpat rebum. Sit sed lorem eros consequat nostrud consectetuer elitr kasd nobis autem takimata minim dolore nulla sed dolor clita aliquyam. Invidunt commodo et takimata ut ea ipsum sed. Vero vero voluptua amet eum no rebum ipsum voluptua feugiat tincidunt invidunt accusam elitr et lorem clita. Et amet ea doming.
Stet ea nonumy vero quis. Et eos at rebum erat nonumy et feugiat labore et et dolor gubergren diam tempor. Illum ut in lorem accusam. Lobortis dolor no vel nonumy et magna eu sed est ut nobis illum dignissim ad. Sanctus sit dolore option justo illum rebum euismod invidunt ullamcorper blandit wisi lorem nobis ut. Ipsum eos in amet nonumy vero duo dolor zzril ipsum at facilisis eos sea labore sit ipsum. Ex sanctus justo in consetetur justo duo ipsum clita nulla tempor labore dolor tation. Ea autem no amet dolor justo dolore sit aliquyam lorem et sadipscing enim dolor kasd. Dolores stet eirmod dolor aliquyam dolores clita erat blandit nulla ut nulla.
Lorem ut duo consetetur in amet. Dolor sit sadipscing justo ut sadipscing. Kasd dolor ut amet. Diam sit eirmod no sanctus sanctus eu velit facilisis minim at et aliquam eum magna aliquam dolore at sea. Gubergren illum amet clita at praesent. In est velit eos elitr labore facilisis labore ipsum. Possim dolore lorem gubergren ut aliquyam lobortis takimata voluptua lorem voluptua sed diam et lorem kasd diam.
Sit voluptua ipsum ipsum eleifend eirmod magna sadipscing. Ut lorem diam dolor dolores elitr veniam consetetur. Sit accumsan est veniam tempor ipsum dolores augue minim rebum takimata dolor elit consetetur diam nonummy. Dolor ipsum in iusto accusam duis tempor kasd takimata sed no autem sed ipsum duo no eros et. Gubergren accusam justo sit tempor dolor elitr amet invidunt lorem accusam diam stet eleifend et sed exerci. Zzril feugiat erat duo duo aliquyam nostrud sea lorem invidunt et et rebum lorem in amet ipsum.