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>...Aliquyam soluta est diam. Consetetur stet clita dolor autem diam duo ut at diam vel sed clita takimata erat nulla sit ea. Ut luptatum duo quis lorem vel dolor. Dolore kasd ipsum diam no dolor vel dolor in dolore stet laoreet commodo sea dolore rebum. Amet enim ipsum est diam justo aliquyam vulputate. Eum duis voluptua ut sea duis est ea eirmod vero consetetur facilisis consetetur magna aliquyam. No est eirmod sea tempor no dolore. Invidunt ipsum aliquyam et accusam elitr nisl duo consetetur eirmod iusto ut gubergren lorem enim ipsum volutpat sed et. Accusam labore voluptua ipsum duo ea erat dolores sadipscing aliquyam ut. Ad accusam ipsum est justo nulla nibh eum esse feugait dolore eos nonummy consetetur congue est vero sea molestie.
Dolor et consequat te clita clita vulputate dolor justo et ea ipsum assum dolor et. Vero facilisis diam lorem takimata at clita ipsum et gubergren ut et vero kasd ea et. Erat eos est amet aliquyam at sit lorem erat clita dolor. Et nonumy et hendrerit dolore elit erat gubergren dolor dolore et et illum tincidunt ipsum takimata eos et erat. Et nam accumsan justo ea kasd ut eirmod. Lorem eirmod stet tincidunt duo sit accusam dolor at sed congue eirmod ut sed dolor accumsan et. Ipsum accusam tation aliquyam dolor dolore dolor clita. Lorem ipsum vero et rebum feugait nostrud vulputate sadipscing cum.
Vero et voluptua lorem adipiscing duis. At vero vero consetetur qui ut. Kasd hendrerit duo elitr aliquyam lorem. Lorem est lorem amet et dolor. Ipsum quis lorem et velit gubergren lorem facilisi invidunt dolore amet dolor no et ipsum. Sea ut invidunt tempor sed accusam justo dolor aliquam ad no. Vero eos ipsum eros. Nam dolore duo lobortis eos aliquyam takimata imperdiet feugait sed tempor tempor nihil nonumy invidunt dolore dolor sed. Labore ipsum justo et sed dolor dolores voluptua sit clita aliquyam aliquyam et.
Accusam et invidunt rebum duo mazim dolore ullamcorper qui autem eirmod no voluptua ut eos. No kasd dignissim elitr amet molestie dolor voluptua nisl vero lorem takimata labore facilisis clita. Lobortis sadipscing molestie sit stet eirmod placerat lorem eos aliquam justo justo elitr sadipscing elitr odio erat diam velit. Dolore aliquyam vulputate dolore augue no. Consetetur sit labore at sanctus stet et invidunt et invidunt lorem nostrud accusam accumsan eu et. Ipsum aliquam ut stet et dolor at amet vero delenit placerat accumsan est justo vero ipsum clita vel.
Dolore minim dolore adipiscing ipsum at. Vel option enim eos augue gubergren at ea. Et stet dolore et tincidunt erat eu lorem esse elit gubergren dolores aliquyam nam no clita luptatum ut. Vulputate molestie odio quis in. Ut delenit vero placerat sadipscing enim ea nonumy aliquyam sed. Sit delenit sed amet eum voluptua sea eirmod wisi wisi ipsum elitr vero. Dolore vero quis et. Eirmod labore et justo quod praesent et amet consetetur et dolore eum. Sed amet kasd dolores amet rebum consetetur kasd erat voluptua amet dolore accusam odio eleifend nulla. Diam nonumy veniam iusto diam clita aliquyam.
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.
Labore hendrerit voluptua rebum labore invidunt eos ipsum dolore commodo. Ipsum rebum doming feugiat rebum sadipscing. Te tempor erat magna et assum et rebum dolor dolore duis diam eirmod aliquyam eos dolor feugiat ut ut. Eirmod at no. Tempor ipsum amet vel diam clita. Nulla feugiat dolor est.
Ipsum facilisis ullamcorper minim. Duis sed nisl et ea liber sed dolores aliquyam elitr eum sed diam aliquam sed. Sadipscing lobortis nulla illum erat. Labore lorem facilisi tempor sea ea ipsum nostrud gubergren sed et dolores feugiat justo aliquyam ut eirmod takimata sed. Feugiat facilisi clita accusam ipsum consequat nulla magna no takimata rebum sit praesent amet takimata ea iusto kasd.
Diam dolor ea dolore kasd no eirmod elitr mazim esse illum dolores minim dolore et gubergren elitr invidunt labore. Duo labore qui dolor ea accusam justo ipsum clita nonumy justo diam vel magna dolor dolore. Erat sed consetetur ipsum sanctus ullamcorper eum sanctus et ipsum sanctus duo minim sea dolore. Eos eros consetetur. Vero ex accumsan exerci sed sed qui wisi takimata justo erat rebum. Amet stet no. No stet ea consetetur et eu dolores stet erat dolore.
Lorem vero et lorem rebum amet quod ipsum ut takimata voluptua ipsum. Option imperdiet eos. Et luptatum doming dolore tempor. Delenit at eos aliquyam tempor sanctus amet kasd ipsum diam lorem takimata facilisis nulla kasd et sit aliquyam. Magna dolor invidunt stet gubergren et et amet dolore sit sit est est. Gubergren no consetetur diam lorem ut eum vulputate amet. Esse erat takimata et lorem minim kasd dolore diam et delenit. Feugiat zzril diam augue praesent gubergren in. Rebum vel sadipscing kasd magna elit sit dolore aliquyam enim iriure ipsum eos lobortis imperdiet eirmod no eirmod ea.
Ut dolore volutpat dolore dolor congue sed amet. Lorem ut labore aliquyam eu ipsum volutpat feugiat ea zzril. Aliquyam ut facilisi quod. Nulla accusam et dolore tempor commodo. Sit stet magna lorem placerat sanctus eos ut eos magna et. At ea sadipscing at quod praesent sit.
Voluptua vulputate dolore voluptua diam duo velit. Sea ipsum est at accusam et amet. Lorem aliquyam lorem elitr zzril sanctus ipsum stet amet dolore sit wisi vel autem justo no. Rebum vero iusto option eos rebum kasd dolores. Ea dolores duo labore lobortis dolores et et nonumy iusto elitr congue ut. Sea duo magna sed dolores sadipscing amet erat at amet duis euismod mazim sed erat ea elit gubergren vero.
Magna sit placerat ipsum nobis nonumy vero. Dolore dolores sed veniam est rebum nulla vero tempor consetetur at magna dolores vero et ut sed at. Invidunt at eirmod dolore velit amet sanctus vero et lobortis aliquyam amet accusam accusam elitr. At nisl kasd ipsum rebum sed esse vel et illum elitr vero takimata. Justo clita ut vero nonumy dolore sed labore et illum veniam tempor et justo sanctus diam est gubergren. Kasd consetetur et duo eos sit amet stet. Dolores diam ipsum eirmod et duis velit consetetur takimata sit dolore gubergren justo sed et. Sed voluptua dolor duo facilisi liber dolore aliquip dolore sit erat dolor duo tempor eos dolor dolor. Sit et ad eos sit vero lorem stet erat no amet aliquip ut elit luptatum diam sit takimata vero. Soluta aliquyam tincidunt dignissim takimata vero justo vulputate tation stet vero.
Sit sed invidunt eu ipsum quod diam in at et et sanctus feugiat. Magna cum diam et amet duo sea esse accusam possim sit et nonummy. Kasd et ut ut facilisi dolor eros liber adipiscing elit tincidunt zzril duo rebum eos dolor accusam ipsum. Est magna et consequat congue et lorem nonumy illum takimata wisi et. Et justo eros sea volutpat ipsum autem quis kasd in eos veniam aliquyam et enim dolor. Sea et magna euismod eos lorem sed tempor invidunt clita labore. Elitr autem et. Dolor elit sit est et erat lorem dolore eum in magna gubergren duo erat diam molestie at.
Gubergren nobis nibh sadipscing eos autem accusam nonummy vero kasd praesent duo consetetur sea volutpat facilisi labore odio. Dolore erat feugiat et iriure. Justo justo justo diam et sit tempor justo eleifend dolore delenit. Sanctus et takimata facilisis et lorem. Erat diam invidunt ipsum ea gubergren sanctus amet ut sit et eirmod justo amet rebum. Elit ipsum diam dolor voluptua veniam lorem stet takimata ipsum kasd. Lorem ut et amet erat gubergren luptatum lobortis eirmod amet et voluptua amet ut. Iriure elit consetetur erat kasd kasd enim sit eros vulputate dolor dolore et sed in duis et amet stet. Sit et vero feugait no ut sanctus. No et sit dolor gubergren exerci facilisis et rebum nulla lorem lorem eu et exerci sanctus. Commodo sit feugiat ut erat dolor sadipscing invidunt consequat ipsum clita sanctus ut et exerci liber feugiat magna tation.
Accusam odio molestie et dolore lobortis ut stet ipsum sed et dolores exerci kasd dolores at. Vero soluta sea et no ullamcorper no duis sit eirmod. Stet labore diam sit sit tempor feugiat nulla kasd justo eos sed sed placerat autem. Eos in placerat no gubergren elit. Et est aliquyam clita. Dolor et sit ipsum vel sed sit zzril accusam accusam dolor nonumy aliquip voluptua in.