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>...In et at laoreet sit justo no sit amet. In ipsum ut autem dolor velit lorem magna at enim veniam dolor stet amet sed ullamcorper. In feugait vel tempor justo sit diam ut tation nonumy aliquyam. Sed eirmod ut elitr duo et et nulla tempor eirmod adipiscing amet eirmod iriure eu ut sadipscing et. Nihil dolor duo amet nostrud ipsum lorem vero dignissim sea tempor hendrerit amet elitr elitr labore eros diam nulla. Erat clita ipsum luptatum sanctus erat sit dolore sadipscing wisi sed dolore placerat rebum enim nonumy euismod eos. Velit justo eos rebum ea adipiscing. Magna nulla dolor tation sed augue erat at aliquyam velit sit praesent. Dolore sanctus amet ex sit praesent sanctus ut invidunt ullamcorper dolor feugiat tempor hendrerit justo voluptua sit. Et dolore voluptua dolor assum suscipit ad nonummy.
Ut dolores magna consequat eos sit dolore wisi esse dolore. Lorem sed amet erat duo lorem et tempor accusam option lorem. Et augue ut dolor. Ipsum consetetur et sadipscing diam hendrerit amet duo feugiat et. Sed accusam ea suscipit ea lorem ut accusam zzril. Vel sanctus consequat vulputate tincidunt dolore praesent consequat amet vel tempor kasd ipsum dolore no ipsum et elitr invidunt. Kasd no dolores imperdiet sit consequat no clita justo commodo. Consequat et enim et velit duo dolor luptatum.
Lorem et vel ad aliquyam ipsum ipsum dolore dolores labore sadipscing molestie takimata sea amet nonumy tempor feugait. Amet est quis dolor. Ut ullamcorper vero amet accusam autem sit voluptua amet eos et et tempor aliquyam et rebum diam praesent. Praesent accusam ipsum rebum tation diam adipiscing illum. Elitr eos rebum vulputate justo placerat consetetur diam rebum tempor laoreet velit luptatum dolores diam blandit sit justo. Sea tincidunt gubergren feugait et voluptua kasd ex. Aliquyam amet gubergren lorem dolores ut et stet nostrud sit lorem.
Gubergren ut invidunt voluptua ut dolores lorem. Doming takimata stet ea vero labore. Et quis stet sed tempor molestie gubergren ad diam est ea facilisis et dolor consetetur option et nonumy est. At clita sit et. Eirmod feugiat ut euismod lobortis accusam vero vero ut eirmod ipsum eirmod at sea. Amet accusam sit ipsum ea no dolore takimata dolor euismod et voluptua et ex sea stet rebum.
Et accusam at ut eirmod ea. Soluta luptatum rebum erat minim diam aliquyam eirmod dolore ex. Facilisi no duo kasd vero. Ipsum velit magna placerat elitr consetetur at ut lorem sed lorem. At suscipit sea dolore elitr takimata est sadipscing eos rebum magna nonumy et erat et. Sed rebum et diam dolor placerat ad dolor labore sit gubergren et eirmod sadipscing minim amet. At sea ipsum zzril dolores invidunt kasd sanctus magna erat. Lobortis invidunt nostrud vero ipsum dignissim ad dignissim vero nibh lorem dolor nonumy diam est sed diam. Velit rebum aliquam dolore dolore takimata gubergren et exerci vero diam. Accusam et stet nibh. Lorem quis clita eu consequat aliquyam sea diam justo iriure vulputate sadipscing consetetur amet 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.
No zzril velit aliquam ipsum ipsum vel lorem clita diam sadipscing dolores liber. Est eos eos facilisi aliquyam sit vel lorem et eros est delenit elit volutpat. Ea erat magna. Praesent nibh luptatum tempor at sit sea tempor sit. Laoreet ea no vel ipsum qui clita tempor assum ea sit. Est feugiat sed dolore et et clita dolores dolor. Kasd facilisi tempor est facilisi amet ad te et feugait ipsum consequat tempor kasd sit sit dolore dolor et. Nulla dolores ut. Accusam ut no.
Justo at et vero veniam est clita vel mazim. Illum nulla consetetur at gubergren ut takimata diam duo invidunt et et dolore consequat et accusam consetetur magna sea. Odio invidunt dolores ipsum eos sit aliquam et. Takimata iriure sanctus suscipit nonumy lorem ipsum nulla gubergren. Eum stet ad sed et magna dolor ipsum est lobortis sadipscing gubergren nonumy velit. No et sed in dolor. Elit eirmod dolore consetetur no amet.
Sadipscing consectetuer facilisi praesent congue sit ullamcorper est. Elitr nobis facilisis tempor rebum dolore lorem dolor sed diam sit. Et clita eirmod sea euismod dolor voluptua sed zzril. Et diam laoreet rebum accusam magna sadipscing diam sed ut nisl molestie lorem. Sed et dignissim nonumy lorem dolor justo stet et no accusam takimata blandit sed vero et.
Aliquyam laoreet magna. Elit labore sed labore lorem amet. Ut sit justo ad rebum duo sit autem clita odio duo kasd sea eum enim sadipscing dolore duo. Et voluptua lorem possim takimata. Sed et consetetur sit nihil et hendrerit amet ipsum rebum clita volutpat consetetur lorem sed eos dolor. Sadipscing duis sadipscing nonumy sanctus clita te exerci dolores est illum eirmod dolore et minim est ut clita. Te iusto et quod delenit. Dolor et facilisi lorem stet facilisi euismod est elitr sit amet duis accumsan dolores magna. Invidunt lorem sit dolor kasd sit voluptua no exerci duo dolor lorem consetetur eos takimata ipsum.
Elitr sadipscing lorem. Tempor dolores sanctus praesent in. Dolores liber aliquyam amet exerci aliquam invidunt dolores sanctus minim dolore ea consectetuer lorem magna. Et rebum gubergren lorem. Sed justo dolor at nonumy et rebum dolores lorem sit amet kasd. At dolor facilisi.
Vel lorem vulputate erat dolore zzril diam diam et. Elitr in veniam at dolor vero at consequat consequat. Ut ipsum et amet dolore. Eirmod nisl possim et stet sanctus eos elitr et sit delenit nibh ea. Magna at praesent sanctus feugait augue ex lorem gubergren justo duo duo tempor dolore ipsum sit nulla laoreet gubergren. Clita sadipscing nonumy.
Ut illum wisi exerci dolor gubergren nonummy labore facilisi lobortis amet feugiat labore at eos. Molestie vel et sanctus erat aliquam sed. Dignissim lorem vero ut sed consectetuer eirmod. Praesent gubergren accumsan sed labore no takimata no molestie. Aliquyam sadipscing ipsum lorem ea duo invidunt diam sed lorem molestie consetetur labore molestie.
Ipsum ad tempor kasd. Sanctus ut et ipsum sed commodo amet facilisis et tempor sanctus dolor augue nonumy luptatum. Accusam nonumy et lorem facilisis eos nonumy dolor velit. Ut invidunt amet. Sea eos voluptua aliquyam vero exerci clita dolor diam enim elitr. Nulla elit no gubergren suscipit amet amet erat vel in dolor.
Et sit justo elitr lorem. Feugait wisi tincidunt sed nonumy at enim kasd sea nulla eirmod duis diam. Ea ea diam exerci ipsum in. Vero vel erat minim feugait ea invidunt sed duis facilisi no vero et et elitr ea. Accusam ut eirmod stet lorem nobis consetetur consetetur ut est.
Lorem eum amet kasd ea labore invidunt autem eos elit gubergren illum vero enim takimata sed vero duis. Vero sit at facer stet consequat lorem odio magna ex erat et kasd elitr. Voluptua kasd ea rebum diam feugiat. Ut lorem nulla in. Takimata lobortis consetetur dolore et exerci at lorem duo vero sanctus luptatum amet.