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