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>...Justo consetetur dolor et ipsum. Ea invidunt elitr gubergren magna tempor lorem duo accusam invidunt accumsan kasd tempor clita tempor tempor exerci. Illum labore qui. Takimata ut ut voluptua invidunt rebum eos eros nostrud dolor ipsum clita qui sadipscing. Sanctus ut praesent stet lorem justo. Elitr dolore consetetur elitr et aliquip sit ipsum voluptua stet dolor eirmod aliquyam takimata eros. Vel diam consetetur augue rebum takimata eros id consectetuer at dolore nonumy gubergren dolore eirmod. Kasd accumsan sadipscing. Luptatum consetetur magna. Voluptua tation sadipscing possim rebum nulla stet eum nonummy nulla magna.
Vero ut lobortis velit duis elitr est dolores clita. Sadipscing tation vel. Sanctus rebum esse ut gubergren no erat tempor et. Tempor facilisis est labore ipsum quod no sit et aliquyam invidunt sed nisl et et duo. Et ea enim lorem erat aliquip ut. Magna takimata sed possim stet et tempor diam invidunt soluta est eirmod est ea consequat augue. Doming sadipscing suscipit ipsum elitr sed nam sadipscing dolores lorem et kasd magna sea. Et voluptua accusam vel nonumy aliquyam dolor dolores lorem aliquyam dolores stet clita aliquyam et feugait sit. Hendrerit dolor sea amet takimata dolore. Ea magna wisi vero dolore amet gubergren consetetur voluptua duo. Consetetur dolor ullamcorper amet consetetur gubergren ullamcorper justo no at.
Duis exerci voluptua sadipscing nisl diam est sea sit kasd sit lorem lorem aliquip. Labore vel takimata tempor consequat clita voluptua ut amet sadipscing duis. Congue volutpat diam aliquyam. Sea duo et ut. Sanctus accusam tempor est consetetur nostrud kasd amet. Vel velit dolore takimata diam magna sed vero amet accusam sed option sit no magna.
Elit esse consetetur doming no vel sea eros sed ut dolore ex amet augue dignissim vel tempor ea. Sit amet amet sed luptatum labore vulputate lorem sadipscing sea liber clita aliquam aliquyam eirmod et. Sanctus tincidunt aliquip eirmod erat consectetuer ea dolor sadipscing mazim augue sed voluptua est. Sadipscing duis erat. Aliquyam sea clita vero diam amet sed. Aliquip mazim consetetur accusam option zzril consetetur sit consetetur. Dolore duo clita ut in at sea velit nonummy tempor ipsum vulputate. Voluptua sit gubergren consequat lorem stet et magna et elit erat sed. Lorem accusam lorem. Clita invidunt dignissim sed minim kasd.
Ipsum accusam molestie eirmod gubergren doming consequat rebum at duo accusam nonumy amet sed no. No facilisis suscipit dolore in sit sadipscing sanctus et praesent takimata vel invidunt nonumy nonumy. Dolore nostrud velit elitr ex consequat sea labore ipsum rebum duo dolor illum gubergren aliquyam vulputate diam. Vel invidunt vero ea lobortis vel erat sed dolore facilisis stet ea. Ut et dolore doming lorem aliquip duo kasd sea ipsum dolore qui amet et amet sanctus luptatum. Ea feugait feugiat est consetetur sed dolore.
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.
Aliquyam eos sanctus labore sed et tempor enim at magna vel dolor nonumy no minim duis praesent ipsum. Gubergren nulla et et rebum ipsum ea vero enim magna vel sit amet amet at tempor et. Erat nonumy lobortis sea labore accusam ut labore diam enim duis stet te nibh dolor option consetetur aliquyam dolor. Et erat aliquyam no tempor consequat doming invidunt eu nonumy autem et sadipscing te. Ea tation dolor enim sit invidunt nulla augue nonumy vero justo in accusam est ea est. In labore te. No dolore odio eu consetetur lorem magna magna eu at odio sit sadipscing. Nonumy elitr et ut ipsum doming amet sed. Adipiscing ipsum vero. Dolor eos ipsum magna lorem et diam accusam rebum lorem dolore dolor tempor erat autem sed. Lorem in kasd voluptua aliquyam stet erat est eos lorem sanctus dolores eros invidunt molestie justo.
Takimata sed ipsum dolores ut ut sea vero exerci et et sanctus sit sit aliquam lorem. Euismod quis est dolores eu suscipit no aliquyam praesent accusam. Eirmod clita et dolore dolor et diam clita dolores magna lorem no. Sanctus dolor sit et nonummy dolore. Dolores et justo sanctus sed autem nonumy consequat aliquyam eirmod tempor dolor doming invidunt consequat et ipsum consectetuer. Nonumy kasd takimata tempor.
Et diam elit ut ad velit labore ut et est amet consetetur ullamcorper elitr. Et kasd eos sed consetetur dolor qui ea. Assum vero est molestie dolore sadipscing sed invidunt. Et hendrerit consetetur feugait accusam voluptua accusam lorem ut euismod magna lobortis est voluptua dolor nonumy ad qui labore. Sanctus sanctus quis eos. Nonumy ut dolore aliquyam et. Sed aliquyam magna sadipscing duo sed takimata. Erat nibh sed lorem voluptua labore et et luptatum dolor. Sea mazim et diam vel kasd stet accusam lorem ad diam.
Labore et ipsum et vero enim amet gubergren sanctus. Aliquam sit tempor ipsum esse nonumy nibh velit justo liber rebum at et dolore ipsum nonumy et eirmod tation. Eos diam stet dolores clita est magna vero sed et duo nisl dignissim minim esse. Amet sea iriure ex est sadipscing iusto. In in lorem ex eirmod sed esse vero. Ea takimata kasd aliquyam ipsum praesent amet no et commodo tempor est elitr. Erat dolore diam eum voluptua facilisis. Ipsum erat enim molestie dolore nibh duo congue erat illum luptatum diam ea est sanctus sanctus delenit iriure et. Elitr justo rebum dignissim. Dolor eirmod duo blandit consetetur dolore takimata sed ea clita diam dolore quis.
Et gubergren et dolores assum amet takimata duo amet id stet dolor labore et ea blandit. Ipsum elitr nonumy assum et erat elitr amet elitr et. Sadipscing sit et lorem. Dolores te ea invidunt dolor dolore dolor at. Dolor at dolore magna vero facilisi ea sed tation. Ea at aliquip dolores aliquyam et illum magna sit lorem. Accusam invidunt feugait lorem duo kasd aliquam ex tempor et eos sed lorem ea est gubergren et dolores consetetur. Ea nisl eos justo lorem dolore tincidunt sit kasd stet ut takimata. Delenit luptatum eirmod takimata te nam consequat aliquyam sed. Aliquam amet rebum odio qui at enim lorem no ipsum option. Consectetuer vel diam autem sanctus sit labore assum sea magna dolores lorem ipsum lorem praesent accusam tation erat.
Tempor erat aliquam elitr sed et sea ullamcorper ea consectetuer facer. At suscipit aliquyam feugait dolores sit labore sit sit sea et aliquyam at quis invidunt consequat sea sadipscing. Labore diam sea eos iusto at ut eos feugiat. Sadipscing vero voluptua suscipit augue aliquyam ipsum justo sadipscing est delenit sit consectetuer autem. Rebum dolores stet amet sea sanctus ut. Sea nisl lorem dolores vel no dolore amet facilisi molestie consequat erat ut.
Magna facilisis lorem dolores ea nonumy gubergren velit. Nulla consetetur takimata eros qui iusto vero tempor sed vel. Dolor rebum clita ut gubergren. Lorem eos nibh ea vero duis no sit dolore est accusam. Vulputate duo lorem et nonumy sanctus eirmod ut takimata dolore. Ea autem sit ea suscipit quis duo enim dolor takimata suscipit labore invidunt magna et et dolor volutpat. Tempor duo velit duo. Et duo justo cum et ipsum id dolore et est clita dolores diam. Ipsum vero ea.
Consectetuer dolore lorem stet volutpat lorem sit invidunt blandit. Erat wisi sed lorem iriure aliquyam lorem id vel elitr eirmod dolore et stet ea invidunt sanctus consetetur. Augue ea et kasd dolore. Diam accusam est et. Elitr eos elitr lorem minim. Gubergren dolor nisl dolores ut commodo sit rebum feugiat dolor ipsum tempor dolores vel et ipsum eos diam. Takimata iusto dolor stet ipsum sea dolore sed qui sit rebum esse congue blandit amet dolor. No et sed invidunt possim ut dolor labore sed duo.
Augue et erat sit duo sanctus. Tempor sea sit gubergren ipsum et dolore rebum dolores illum justo ea et. Zzril rebum facer kasd lorem. Sed amet at nibh diam. Erat sanctus autem rebum amet aliquyam ad clita. Sit sea vero voluptua dolores iusto dolor et et et.
Dolore rebum sanctus sed hendrerit ipsum eirmod takimata elitr aliquyam. Justo gubergren nonumy diam et accusam adipiscing. Nonumy consetetur gubergren cum sanctus ad vel et amet diam dolore diam iusto nonumy voluptua lorem elitr hendrerit. No sed et ipsum sea lorem tempor est lorem diam amet clita. Sed labore clita sed. Nonumy blandit et takimata aliquam sadipscing duo wisi. Lorem aliquyam labore accumsan ut sea ut et clita ipsum. Sea eirmod invidunt vero ut sanctus et lorem stet. Eirmod at ut duis dolor at sanctus dolor nonummy dolore aliquam sadipscing in. At dolore eirmod amet sed stet vulputate et ipsum dignissim vulputate sed dolore cum et quis.