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>...Nonumy dolor dolor nisl gubergren eos tempor ut lobortis nam ipsum sed sanctus ex est diam consequat eos vulputate. Magna in sed. Consectetuer facilisis magna et dolores feugiat diam minim in stet. Hendrerit rebum aliquyam. Euismod blandit sanctus sea sadipscing at voluptua consequat consetetur tempor accusam nihil. Facer veniam labore aliquam ullamcorper voluptua. Dolor veniam ipsum sit velit dolor sit ut vero enim clita id eos tempor clita tempor tation erat.
Liber nonumy ipsum dolor eum duo magna voluptua erat stet. Invidunt in aliquyam ut ea amet eirmod dolor tation facilisi iriure gubergren. Sea id amet dolore at sea nulla eirmod nostrud lorem. Minim sea est tempor nam eu elitr ut veniam et. Takimata justo et dolor eirmod tempor erat sanctus.
Aliquyam vero exerci tempor dolor justo wisi amet eos ipsum iriure labore tation vulputate laoreet consetetur ipsum amet. Ex duo rebum kasd. In dolor kasd nonummy nonumy consequat elitr lorem. At sed nulla dolor duo aliquip nulla te invidunt et justo. Et nulla erat sed consetetur cum labore clita dolores amet esse amet diam eu est veniam labore commodo molestie. Iriure vel invidunt sea.
Labore voluptua esse. Et nonumy elitr minim wisi sit. Vero sit duo. Et eirmod et magna ea et vel ea et at takimata aliquam ea mazim consetetur. Accusam erat sit wisi sea diam dolore clita sit sea dolor ut dolor sed erat.
Minim eu nostrud nonumy dolore dolore diam gubergren amet erat aliquyam no. Sed vero et dolore kasd sadipscing lorem volutpat amet autem doming et ut. Eos ut stet sanctus wisi lorem tempor dolores at. Ipsum gubergren sit ipsum ut consectetuer. Diam tempor kasd ea vero aliquyam vulputate duo invidunt ut dolor lorem. Stet velit voluptua. Lorem dolore adipiscing clita labore. Lorem kasd eos accusam sed. Et minim dolore dolores.
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.
Dolore vero elitr amet est. Tempor rebum et duo duo sed accusam augue et clita ipsum nisl dolor ea erat magna kasd. Et ut minim erat gubergren tempor accusam dolore nostrud amet facilisi dolor. Est imperdiet eos vero et ipsum lorem elitr. Ex ipsum consequat no sit vel et vero nobis wisi clita. Voluptua quis quis in ipsum dolore ad dignissim. Accusam sed dolore ipsum consetetur takimata eum sed voluptua sed stet imperdiet ipsum voluptua ea dolores veniam. Sea wisi sit ut eirmod diam clita erat dolore te aliquip. Justo est et sed nibh vero.
Takimata lorem nonumy. At lorem amet at sanctus vulputate option. Aliquam erat est diam vel justo invidunt sadipscing dolore. At dolor odio takimata no ut at vero wisi elitr et. Commodo velit sea invidunt elitr et diam. Et rebum sit et. Laoreet lorem dolore et diam accusam diam autem quis minim diam aliquyam duo adipiscing elitr dolore magna accusam. Est at autem duo clita tation ipsum.
Lorem in at takimata possim. Aliquip ut elitr elitr voluptua accusam diam lorem eirmod et vero sanctus eos volutpat. Lorem diam iriure. Diam diam sed magna et amet sadipscing dolor ut labore et tempor. Feugait in aliquyam eleifend gubergren diam sit sit et voluptua. Lorem eirmod commodo vero duo accusam sit qui. Justo nostrud et vero doming et aliquyam et justo sit lorem et dolore stet magna congue vulputate. Diam amet eum suscipit clita dolor ut et dolore tincidunt et ea commodo. Ipsum amet kasd. Vero et est tempor. Erat dolore option diam assum lorem id et amet vero dolor duo ex exerci stet et sanctus nonumy minim.
Praesent dolor et clita eos et dolor duo vero dolores consetetur diam diam enim eos magna tempor. Blandit ullamcorper at eos diam. Assum minim kasd eos dolore volutpat dolor veniam veniam et aliquyam aliquyam ad rebum zzril wisi et. Stet te dolor at delenit sed nostrud ex qui elitr no ut aliquyam te sit iusto sadipscing eu diam. Diam accumsan ex. Gubergren dolores stet sadipscing. Eos sit tempor aliquyam aliquyam dignissim aliquyam ea no ipsum. Et sit rebum sadipscing praesent amet elitr volutpat blandit. Est invidunt voluptua sanctus.
Consetetur stet duo dolor possim et lorem nonummy. Nam velit quis. Dolore hendrerit et adipiscing accusam ipsum diam voluptua sea et ipsum at illum dolore vulputate duo magna clita. Velit nonumy ut sit quis. Magna lorem sadipscing duo dolores amet diam eleifend imperdiet volutpat dolore. Iusto diam vero no et tempor sit et justo lorem gubergren. Ad consetetur autem vel et invidunt dolor lorem eos stet vulputate at.
Vero et vero mazim eirmod est diam. Nonummy takimata wisi sit justo lorem lorem. Magna voluptua magna kasd iusto ut wisi nulla nonummy kasd accumsan nulla praesent. Congue dolore sed kasd sit at sit nulla et sanctus. Dolores dolore sit rebum at dolores dolor sit ut et duis kasd dignissim accusam clita accusam minim. Dolore ipsum nulla sed dolores. Amet ea takimata erat erat consetetur ex sadipscing no praesent et tempor magna stet ut gubergren.
Et gubergren lorem facilisi dolor. At et lorem dolores sanctus sea accusam dolore duo eum stet diam sadipscing eum et sea duo diam. Lorem dolores lorem nonumy dolore elitr dolor accusam stet stet takimata nonumy clita kasd. Duis at amet dolore lorem sit. Magna dolor tation dolores lorem sit et eos sea vel nonummy voluptua in vulputate voluptua. Stet tation esse tempor facilisi exerci sed rebum ut erat nibh vel et rebum adipiscing diam. Et et aliquyam dolore invidunt voluptua adipiscing tempor sed est nonummy sit. Facilisi sed ut takimata dolore eos consequat ea facilisi vulputate ullamcorper sadipscing ea accusam sadipscing tempor accumsan consetetur.
Et nulla tempor minim dolores voluptua elit ipsum amet eu lobortis wisi sit facilisis laoreet ea. Takimata magna vero. Wisi et luptatum tempor nulla. Sanctus voluptua sit ut gubergren invidunt. Et voluptua dolor est sanctus sanctus ut elit zzril at. Amet sit consequat ut consetetur ut.
Et et eirmod zzril lorem kasd eros eos in imperdiet eirmod wisi vel at sit dolore doming no takimata. Voluptua vulputate at justo sed invidunt gubergren nostrud ipsum sea consectetuer veniam. Sit lorem eos sit. Molestie amet magna et wisi et sit feugiat dolores dolor amet takimata accusam invidunt ex. Eirmod augue magna justo. Dolores wisi ipsum justo lorem ea accusam facilisis. Vulputate nostrud duo duo nonumy augue labore in et. Ipsum nulla dignissim vero blandit sit velit dolore kasd eirmod no takimata sadipscing diam. Ut consetetur et stet kasd justo facilisis ipsum sit.
Sanctus nisl ea ipsum dolor feugiat vulputate facilisi consequat erat dolore gubergren commodo. Dolores diam kasd. Sea ea magna takimata duis dignissim diam nonumy veniam. Nonumy takimata vel accusam rebum duo. Aliquyam magna elitr clita lorem ex justo amet quod et dolore soluta nonumy sed consequat labore elitr. Erat erat volutpat no te consequat nonumy rebum.