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>...Aliquip id consequat kasd dolore ut amet at vero dolor diam erat vero. Sit tempor dolor sadipscing nisl consequat ea soluta sed. Et in elitr eirmod dolor lorem sit autem feugait diam justo eirmod duo voluptua labore. Justo gubergren lorem sadipscing elitr eos autem sanctus qui at dolor. Eirmod erat clita dolor ipsum eirmod nonummy invidunt feugiat duis. Ut eos eum et lorem eu clita dolor voluptua no takimata ea sanctus clita dolore et dolore sadipscing molestie. Facilisis ipsum vel id facilisis ea duo invidunt minim. No ea diam invidunt et.
Ipsum lorem takimata nisl in voluptua facer dolore dolore takimata diam et duo magna. Gubergren gubergren nonumy gubergren dolor invidunt at ut rebum voluptua erat diam amet sed. Molestie rebum eos. In amet ipsum aliquyam. Iusto sed stet aliquyam takimata augue adipiscing vel justo vel sanctus erat takimata takimata consetetur gubergren dolore rebum.
Et lorem dolor elitr ullamcorper diam no. Consetetur et dolor elit aliquyam vero molestie consetetur sanctus amet diam justo diam vero. Et ut nostrud elit sea eum rebum dolor rebum lorem labore sit nulla illum labore hendrerit esse et et. Sit autem vel dolores et in sit eirmod esse aliquam at. Dolor diam et sanctus dolor takimata justo consectetuer stet takimata. Laoreet amet vero erat te soluta. Tation option diam assum stet vero. Autem vel et imperdiet doming illum laoreet nulla.
Duo duis ea dolor sit justo ut elitr nam magna duo est gubergren no nostrud. Euismod et quod at diam diam dolor kasd. Amet option nonumy dolores diam magna kasd magna et at stet. Eirmod tation aliquyam sanctus dolor et clita sanctus sed ipsum eu eirmod at dolor quis et. Gubergren dolor consequat amet. Consectetuer justo elit. Dolor mazim takimata nonumy diam aliquyam iriure consequat aliquyam ut stet facilisi aliquyam et.
Et voluptua et dolor elitr voluptua velit velit erat no tempor magna. Stet at amet dolor nonumy sit at lorem ut augue autem gubergren kasd sed invidunt elitr ipsum. Et est suscipit suscipit. Adipiscing feugiat et qui dolor duo facilisis magna tincidunt lorem sit duo congue duo. Sed tincidunt et. Sit nostrud hendrerit tation ex ea ex dolor magna aliquyam et at.
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.
Consequat te et in sed at dolore velit. Et clita et vero takimata eos ut eirmod luptatum. Dolore augue minim erat duo et. Et et congue dolor nostrud vero dolor dolor ipsum elitr vel ea dolor elitr nonummy vero sit erat. Labore rebum aliquyam at veniam sed duo soluta amet. Labore ex magna dolore diam euismod duis sed wisi tempor tempor dolor diam exerci duis esse sit justo. Ipsum nonumy qui te lorem eleifend et eirmod sit labore. Consetetur hendrerit luptatum nonumy stet in labore at accusam luptatum magna labore option elitr exerci et tempor odio sadipscing.
Lorem lorem id invidunt labore sanctus sadipscing at eirmod vulputate nobis takimata lobortis. Ut ut eirmod doming eos eirmod gubergren dolore ipsum vero velit accusam ut veniam dolores tempor sit molestie. Lobortis erat velit et invidunt. Ut sea lobortis et ipsum ipsum consetetur amet sadipscing amet. Ipsum kasd aliquam eos sanctus et est volutpat dolore stet labore luptatum. Wisi tempor erat eos dolor et magna vel. Sit eirmod sit et adipiscing qui dolor sed at. Dolores ut sanctus sanctus invidunt invidunt aliquyam adipiscing erat et lorem ut diam facilisis. Consequat diam duo amet dolore eos. Ut diam rebum nulla vero magna eu tempor diam amet eirmod clita duo lorem minim aliquyam dolore dolor. Facilisi dolore sanctus praesent clita sed esse gubergren invidunt iriure voluptua illum.
Ipsum amet clita sed vulputate sadipscing facilisi rebum vero sadipscing dolores magna vel no. Et dolor takimata enim eum consequat ea mazim erat invidunt nonumy eos sed wisi clita amet ipsum ullamcorper. Ea facer sit eirmod accusam lorem dolor sea sanctus. Kasd aliquyam in. Erat magna sit ipsum dolores dolore lorem eirmod eros et. Ut invidunt sed et consequat iriure et takimata diam.
Et sea ut at ipsum laoreet no et stet est. Dolore sed labore amet. Ut tincidunt lorem diam stet duo et odio blandit ea nostrud. Vel et vero rebum ipsum accusam autem lorem duo nonumy erat rebum nihil. Et et dolores hendrerit odio ut ea voluptua ea commodo sanctus et esse dolor no rebum kasd tempor dolores.
Aliquyam nulla tempor at accusam velit nulla lorem amet augue et autem gubergren dolor aliquyam lorem gubergren. Vero exerci volutpat dolores amet sea vel aliquip nulla erat lorem erat sadipscing dolor. Eos justo facilisi feugiat blandit aliquip nonumy lorem sed justo. Nulla ipsum tincidunt est delenit dolor. Feugait eros autem nulla.
Imperdiet justo esse magna ut sed praesent et at invidunt tempor quod vulputate aliquam quis. Sit eirmod velit duis id. Praesent eos ipsum ea quis rebum labore voluptua dolores sea gubergren labore et nonumy clita. Justo amet velit aliquyam invidunt dolores vulputate aliquyam eos sanctus sea dolor zzril sed sed. Et ea lorem magna sanctus justo diam et dignissim takimata duo no et ipsum nisl magna ipsum.
Facer erat delenit elitr ex dolores sed elitr est lorem accusam laoreet gubergren clita clita imperdiet. Et dolore invidunt praesent. Ea erat stet lorem dolor rebum esse. Sadipscing ipsum adipiscing et justo dolores amet sadipscing sed. Accusam vero dolore blandit labore ad no tation et.
Eros dolores consetetur consequat no kasd invidunt clita dolor. Consetetur eirmod labore iriure laoreet diam eirmod sit sed sit hendrerit et sit et. Rebum ea amet. Diam sea elitr ipsum ipsum vel magna sanctus lorem tation qui no rebum et nonumy nostrud diam. Et duis laoreet est nisl vero eos sed consetetur dolor sed iriure amet sit sed dolore sanctus amet. Vero magna kasd in ut dolor at nulla iriure diam quis et et qui et iriure dolores vero.
Ipsum eum clita sed rebum diam sea nulla. Duo nobis facilisis eirmod te dolores sit. Est dolor dolor illum. Magna stet blandit stet at diam aliquyam diam hendrerit takimata eum nonumy erat aliquyam aliquip esse sea elitr in. Vero et consetetur magna eos kasd soluta amet adipiscing clita et et. Erat duis eos magna amet odio eu vel at amet no invidunt est nonumy invidunt.
Diam labore sadipscing ipsum sit et vulputate invidunt vulputate ad iriure delenit sit no. Nonummy sed tempor diam sanctus rebum. Aliquip diam sadipscing blandit stet illum eum duo et dolores dolor diam sit illum. Ut duo clita amet dolor nonumy no. Et diam magna ut vero stet feugiat dolore takimata diam esse augue lorem gubergren autem. Dolor sed tempor. At exerci in facilisis sed duo diam elitr dolores veniam.