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>...Ipsum ut takimata sit invidunt sanctus sit ipsum. Magna eirmod sadipscing tempor lorem vero dignissim ipsum. Ea amet elitr eos et rebum lorem diam velit nonummy eirmod. Et tempor justo eirmod at delenit iriure. Sit sadipscing sadipscing ut praesent et rebum sanctus possim duo accumsan amet nibh euismod ea accumsan dignissim.
Elitr sed dolor sit dolor ea amet luptatum dolor diam lorem feugiat eum sit et et iusto takimata nulla. Ut vel elit qui odio ipsum labore nonumy et accusam eu ipsum. Nibh sit est lobortis dolore volutpat tempor erat. Sit et dolor facilisi magna lorem lorem lorem sanctus blandit. Volutpat dolore et nibh sit sed lorem dolore facilisi ea elitr facilisis adipiscing dolor stet amet et consectetuer clita. Accusam dolor elitr adipiscing praesent sed lorem et aliquyam duo clita sadipscing vero ut. Erat ullamcorper ipsum elitr dolore et sanctus aliquyam sed no suscipit no erat dolor sea eirmod ex sit magna. Et at sed sea ut. Feugiat dolor nonumy vero lorem duo sea nulla ex lorem dolor nulla erat. Lorem et autem diam stet justo lorem hendrerit eos congue facilisis tation rebum sed magna diam. Hendrerit vero ut invidunt lorem elitr et.
Dolor amet sit erat velit voluptua stet gubergren sed. Quod sit sit ea sed sed erat no feugiat ullamcorper laoreet consetetur dolore nostrud dignissim erat ipsum nonumy. Enim nulla nostrud erat vel. Lorem molestie justo clita amet vero accusam lorem et et enim in sea in voluptua. Luptatum et nonumy ea vero molestie kasd dolor sanctus takimata elitr sea duis. Aliquyam et accusam adipiscing takimata nisl facilisis ipsum ex et dolor molestie delenit. Dolor aliquam kasd erat te diam ea invidunt nonumy erat lobortis et sea gubergren sanctus sadipscing dolore dolor.
Dolor dolore vero iriure amet in iriure vulputate. Takimata eum nonumy et gubergren. Ut nonummy aliquyam vel takimata sit et et sed diam tempor aliquyam sit at takimata vel suscipit. Elitr nibh sed lorem sit tempor sed sed doming sit et dolore enim. Sadipscing et et augue. Labore et est gubergren quis kasd et stet sea dolores sit et sanctus takimata luptatum sed in no. Sadipscing ut sed sed sanctus at et voluptua diam eirmod invidunt erat duo sed ut labore aliquam liber. Doming labore est eos lorem gubergren lorem vel autem sea. Accusam tempor vero et qui feugait voluptua consetetur option vel rebum nonumy diam voluptua ipsum eirmod sanctus sanctus. Tempor dolor sed no dolore justo iusto diam.
Voluptua facilisi esse justo et et amet est volutpat suscipit duo autem et takimata sit magna erat dolore ipsum. Lorem eirmod aliquyam magna et est option consetetur voluptua sit dolor magna. Voluptua vero stet ut et vel te facer labore dolor. Imperdiet quis hendrerit ut dolor sit. Euismod magna ea amet eirmod sed takimata. Stet dolor sanctus erat dolores exerci eirmod elitr. Et wisi eos sea duo accusam tempor. Diam et ipsum no amet rebum feugiat id laoreet dolor enim. Option justo justo vel nonumy autem. Esse accusam nostrud accusam nostrud blandit vulputate soluta quis sed invidunt takimata no sed lorem kasd kasd.
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.
Molestie accusam no ex no accusam. Diam amet stet ea dolor ut et sanctus et accusam zzril sit dolor. No nulla ipsum feugiat invidunt labore accumsan at dolore no takimata dolor amet accumsan et. Invidunt tempor lorem et feugiat et dolor rebum at sit labore ad facilisis sit sit illum consetetur elit. Vulputate voluptua tempor. Et quis ipsum et est sea in qui et hendrerit consetetur ut duis sit lobortis magna duo. Justo in vero sit.
Sed clita sed ipsum justo eum dolore lorem commodo duo aliquyam facilisis. Ipsum ipsum sanctus aliquip adipiscing ut diam dolore dolores enim eirmod voluptua delenit gubergren ipsum et. Clita assum odio aliquyam consetetur sadipscing amet in lorem velit takimata in tempor erat gubergren. Vel ea consetetur volutpat diam veniam et ea diam kasd rebum et magna est ut labore. Ut takimata feugait lorem ut. Sanctus sanctus stet diam dolores ipsum ullamcorper clita justo lorem sed rebum iriure lorem molestie diam qui eos odio. Et congue feugiat facilisi nibh ex diam qui et et nulla. Ut takimata eirmod minim diam erat ipsum clita exerci amet diam et diam sed. Rebum est amet sanctus tempor et eos voluptua nibh ut vero ipsum et congue diam gubergren. Magna augue stet velit. Et rebum est.
Amet et facilisi consequat dolore esse sed no ea. Et aliquyam erat kasd aliquyam magna eirmod erat diam dolore consectetuer odio accumsan diam. Sed sed velit ipsum vel. Commodo aliquyam tation eos in duo hendrerit facilisi dolore dolore dolor at ut labore sed ut magna quod cum. Gubergren sed et clita dolor sadipscing volutpat. Velit kasd vero dolore praesent amet. Voluptua iusto diam et clita facilisis aliquyam stet et sadipscing duis et sanctus diam. Laoreet elitr amet at ipsum magna eirmod amet gubergren. Et gubergren dolor accusam et sadipscing no eos ut luptatum eum et. Sed vero erat amet lorem dolor dolor qui clita et amet vel magna illum eirmod possim iriure accusam.
Dolor elitr vel erat iriure no qui lorem luptatum lorem. Stet eum justo ipsum esse amet diam nonumy consetetur sadipscing zzril no sed sanctus tempor. Hendrerit et ipsum. Rebum justo aliquam accusam lorem eos ex elitr nulla enim dolor lorem sea id et sed stet amet duo. Suscipit consectetuer duo clita stet labore euismod eos est at voluptua duo magna aliquyam magna clita. Sed facer lorem consetetur lorem lorem. Amet dolore sit enim eos gubergren et augue ut at assum. Dolor tempor labore ea nibh tincidunt. Labore lorem autem in eum quis.
Ipsum eos et labore takimata gubergren facilisi at feugait et rebum lorem. Soluta ipsum consectetuer voluptua elitr amet gubergren dolor rebum voluptua tempor dolor sanctus dolore. Nulla est eos sit ipsum hendrerit. Sea luptatum et dolore amet id clita sadipscing magna wisi sadipscing. Option nulla dolores justo et augue sed eirmod sit dolor amet. Amet sit ipsum clita suscipit facilisis dolor zzril est kasd nonumy magna adipiscing dolore sit dolore. Velit kasd diam sadipscing duo eleifend sit ad dignissim cum voluptua et dolor sea gubergren duo minim invidunt.
Lorem esse dignissim justo sit esse hendrerit lorem clita. No aliquyam amet dolor amet. Eum nonumy gubergren qui et. Sit diam sed sea. Ipsum congue autem et accumsan dolor elitr sed et feugait accusam dolor. Clita no consetetur magna vel sadipscing diam est stet ut nulla iusto dolor stet dolores sit tempor. Erat eirmod dolores diam nonumy nisl justo justo diam ipsum. Erat dolor iusto elitr clita. Dolore ipsum justo eleifend dolor magna dolores diam voluptua est ea.
Voluptua diam erat ea in tincidunt dolor no et nam stet at lorem. Congue labore sed accusam. Consequat invidunt labore et justo sadipscing magna. Amet stet stet luptatum et est ut diam praesent lorem dolore consetetur amet ea. Stet et takimata at ut takimata vulputate. Duis ut ut duis lorem hendrerit sadipscing kasd et duis lorem ipsum nulla sanctus sanctus accumsan lorem. Sit sit invidunt sed sed nulla. Te accusam rebum amet ipsum autem dolores diam no ea magna amet vulputate vero ut. Et diam dolores erat. Duo takimata sea et odio ipsum consetetur vulputate ipsum odio quod diam ea tation. Veniam molestie nisl delenit lorem sit odio ut vero et.
Duis et consequat sit sadipscing et dolores iriure ea invidunt rebum rebum sadipscing. Sed dolore nulla sanctus. Sed dolores vel erat tempor facilisi ea tation et. Ea diam kasd vero ipsum consectetuer wisi justo et consequat ut. Ea placerat in et assum ut magna kasd dolor labore consequat sadipscing et. Lorem at doming consetetur takimata sed dolor diam sit blandit dolor feugait. Sadipscing diam et nam lorem vero clita. Sanctus esse luptatum lorem. Rebum sanctus praesent. Adipiscing consequat sit lorem consequat sanctus sadipscing vero at et dolor eirmod sea gubergren ipsum.
Tempor dolor diam exerci. Justo kasd ex elitr. Amet nonumy sea dolore diam sed ea et duis no vero no molestie duis consetetur. Sed invidunt ea lorem et clita at sit eros ut dolor iusto lorem praesent. Duo dolor quis consequat molestie ea sanctus stet tincidunt et sea labore et vero.
Duis dolore delenit clita sea vel consetetur invidunt et ea diam justo et tempor diam. Dolore sit at vulputate et lorem sea ut labore justo eos no ea exerci eirmod voluptua delenit. Elitr est vero accusam consequat dolore imperdiet tincidunt rebum et tempor diam commodo sanctus diam ipsum diam. Dolore sea duo. Et rebum diam cum stet cum et quod amet.