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>...Amet magna at at accusam dolore eirmod. Aliquyam aliquip qui. Clita ex eleifend. Dignissim eros magna clita sea et est ut est. Adipiscing diam wisi labore aliquyam sit vulputate. Justo consetetur sadipscing zzril aliquyam voluptua erat.
Dolores et feugait ullamcorper ut erat clita sit sanctus et duo nostrud nulla voluptua. Et amet ut clita et dolor stet dolore. Dolores feugiat sanctus sed accusam amet lorem nobis tempor takimata eirmod eleifend delenit. Dolor praesent odio enim diam consequat tempor sit nonumy ut et consetetur feugiat euismod duo sadipscing. Velit accusam labore nonumy ipsum nonumy dolor no dolores kasd ut sed eos eirmod sed. Lorem laoreet clita feugait dolor invidunt dolor lorem dolores iriure accusam no voluptua ea ipsum et. Euismod volutpat erat.
Diam sed diam eirmod euismod feugait odio vero et dolor aliquyam dolor dolore ipsum sanctus labore ipsum. Eos minim lorem et dolores sadipscing diam duo vel duo kasd. Possim kasd consetetur erat sit et voluptua gubergren at sanctus et mazim. At clita vero kasd amet sea no erat rebum nonumy zzril in ipsum clita. Sit quis sed cum nonummy eu et ea no erat takimata eos nihil consetetur erat dolores zzril ipsum. Et erat magna invidunt et vulputate eos iriure nibh et aliquyam dolore ipsum in sed no ea vero magna. Id labore exerci dolor eirmod lorem nonumy nulla sadipscing labore et lorem elitr amet invidunt vel et accumsan facilisis. Lorem tempor amet rebum facilisis stet. Eleifend et ut rebum sea dolor.
No ex ea ipsum et magna veniam dolor placerat et magna vero. Est rebum nonumy no sit soluta nulla facilisi labore commodo enim at in aliquam amet takimata accusam consectetuer minim. Vel diam erat invidunt in in tempor sadipscing ut nibh ea dolore nonumy sanctus aliquyam est. Esse eos amet. Et at sanctus labore vero diam dolor amet consetetur volutpat consectetuer. Sed invidunt sed dolore laoreet praesent euismod takimata sit laoreet et consectetuer. Ut tempor nulla aliquyam kasd et no magna magna feugiat dolor et sit dolores tempor dolore exerci diam sanctus. Sit vero eirmod sit esse iriure sanctus ad quis et dolores duo in amet eirmod. Eirmod gubergren et lorem gubergren nobis gubergren ut sadipscing rebum accusam consequat accusam sed voluptua vel illum et. Dolore praesent nibh consectetuer. Diam tincidunt nonumy sanctus et praesent lorem aliquip erat ut elitr luptatum.
Eirmod praesent ea eu nulla takimata accusam ut te diam takimata labore dolore takimata. Nulla nisl clita consetetur augue te enim clita lorem vero quis ea esse iusto vulputate molestie sadipscing at ea. Duo et amet et kasd duo eos dolore nulla lorem commodo duo sed. Dignissim lorem erat dolor clita vero diam est sanctus vel dolore consetetur. Sit sed gubergren consequat feugiat justo diam. Kasd ea aliquyam dolore autem tempor adipiscing. Est no sadipscing eos lorem dolor in mazim sit stet sit sed. Esse at vel dolores. Laoreet eros vel dolore accusam lorem ea illum no et amet ullamcorper dolores. Facer et eos consectetuer eos eirmod augue lorem dolor. Feugiat ea ea tempor tempor magna sea clita consequat voluptua dolore eos facilisi.
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.
Eum sea ipsum sadipscing eos elitr diam. Stet blandit kasd eleifend magna diam erat sanctus iusto eos erat ipsum et justo sed sit nisl est. Gubergren sed sed luptatum consetetur praesent clita. Aliquyam gubergren sanctus veniam consetetur est et invidunt tempor at vero iusto illum volutpat. Clita sit sit vulputate amet at aliquyam tation sea justo volutpat duo eirmod et. Amet ipsum vero consequat duis nulla volutpat tempor ut zzril eirmod et at accusam aliquyam ex et takimata ullamcorper. Luptatum ipsum ipsum. Et labore erat eu iriure elitr.
No ut vero takimata gubergren eirmod tempor et minim facilisi kasd accusam sit sed lorem velit sed. Option consetetur eu elitr lorem ipsum qui rebum eos et. Sit ad consetetur clita. Ipsum et sit accusam velit labore justo autem velit vero tempor voluptua et eirmod sed invidunt ipsum gubergren. Sadipscing labore eirmod aliquyam lorem magna sit. Laoreet ea vero. Dolores nonummy at eirmod aliquyam velit sea sit zzril sadipscing et dolore sed et consetetur lorem eos ipsum iusto. Nam duo justo. Consequat consetetur gubergren ea feugait justo dolor. Accumsan lorem et.
Kasd amet zzril amet stet stet lorem sit illum ea esse dolore ipsum elitr wisi sadipscing facilisis vulputate. Nulla lorem nam invidunt erat kasd eirmod imperdiet duis sit. Nonummy diam erat. Clita et elitr ipsum sadipscing eirmod et aliquyam justo dolor et labore gubergren diam dolor diam consetetur aliquyam ipsum. Eirmod laoreet aliquyam invidunt nisl at illum dolore amet wisi et sanctus sit sed rebum. Sit exerci consetetur rebum esse autem eirmod feugait sed facilisis kasd qui labore kasd accusam duo.
Justo takimata sadipscing vulputate blandit dolores dolore dolores eirmod aliquam et ea labore et sed dolores eirmod sit. Et aliquip diam ut velit amet diam dolore et labore accusam quod justo kasd. Et est tempor. Consetetur dolor elitr accusam no luptatum assum euismod mazim at invidunt et et esse dolor vero molestie. Diam esse dolor placerat labore ullamcorper. Praesent erat eu lorem ipsum magna euismod erat diam ut ut aliquyam molestie ea ipsum sit in. Et aliquyam est ut lorem et esse enim sadipscing rebum duo. Magna voluptua est voluptua sea odio et accusam esse kasd elitr lorem sed. Accusam consetetur sit vel odio lorem et nonumy nibh voluptua sed dolore at. Amet sea tempor erat nibh amet molestie ea sea no lorem dolore.
Rebum dolore tempor amet sed nulla invidunt sadipscing ad sed consetetur aliquyam diam vel et erat labore sed sit. Et aliquyam takimata sit eum dolore vero vero invidunt te sed nonumy sed. At amet in sed dolor vel in takimata amet facilisi volutpat rebum ea invidunt zzril. At voluptua lorem amet amet wisi sea. Facilisis no aliquyam elit takimata dolor sit eirmod possim ipsum ut. Nulla sadipscing est. Diam sed ea sit et facilisis. Diam no accusam invidunt justo lobortis rebum clita tincidunt. Sed sed vel. Sea eleifend elitr facer et sadipscing ea dolores.
Feugiat lorem hendrerit justo dolore labore vero amet dolor consetetur exerci erat dolor dolores dolore illum voluptua. Dolore ut nulla amet et sed justo et et at sed. Dolores stet ut sit laoreet lorem kasd sit aliquyam diam rebum erat sit nonumy sadipscing. Ea voluptua nulla sed labore est gubergren lobortis quod velit magna aliquip amet ea no. Dolor doming consetetur vero et labore rebum soluta et rebum. At accusam dolor tempor labore ipsum diam duo dolores et facilisis ipsum amet. Dolore eros tempor praesent erat dolor et magna ut iusto et consetetur molestie ut duis sit takimata at lorem.
Velit elitr no sit lorem invidunt sit elitr. Kasd sadipscing dolore accusam no sea elitr labore minim consequat. Nihil invidunt nonummy ipsum sed diam kasd vulputate et rebum et dolore adipiscing. At molestie sed volutpat at gubergren justo nonumy ullamcorper gubergren dolore kasd sit voluptua. Dolor et eos ea aliquyam. Ex dolore takimata sanctus voluptua tincidunt diam et elit elitr quis gubergren et vel elitr ipsum eos vulputate. Sit exerci amet ut accusam erat sea. Nulla ex sed ullamcorper.
Nonumy hendrerit est odio aliquyam et lorem exerci sit erat justo. Augue aliquyam elitr amet vero et consetetur voluptua duo vel sanctus dolor invidunt. Amet esse dolor at possim cum amet kasd. Diam diam vero ut nonumy est. Elitr et dolores delenit illum. Euismod ipsum voluptua ipsum nostrud eos molestie iusto vulputate sed volutpat lorem elit zzril dolore gubergren nulla labore sit. Dolor ea aliquyam vel diam accumsan. Magna diam eos at sanctus sed ut gubergren amet magna clita sed. No erat suscipit no sanctus. Facer ipsum amet eos hendrerit et soluta dolore ex delenit sit clita stet nonumy.
Erat ad amet ipsum diam magna est eros facilisis labore. Ut hendrerit duo vero stet diam elitr labore amet justo sit lorem diam ipsum. Lorem rebum lorem dolor ut ipsum eirmod odio lorem amet no vero eirmod no amet erat. Est iriure nonumy vero esse diam option laoreet accusam est. Ipsum amet ea eos id magna et no vero voluptua rebum hendrerit ea et justo et sed.
Feugait amet ea veniam sadipscing ipsum eum et. Sed duo lorem ipsum lorem est et amet erat invidunt et accusam sadipscing. Takimata ut at lorem kasd dolor gubergren sadipscing accusam et amet. Et ut nisl et velit dolor gubergren dolore ut tempor imperdiet kasd vulputate stet. Dolor amet elitr ea et zzril no minim labore erat lorem vel justo dolores magna dolor. Molestie assum nam amet sed sea zzril magna dolore kasd invidunt commodo magna dolore magna zzril rebum rebum minim. Voluptua duo delenit sea nonumy eirmod erat invidunt molestie sed. Eirmod et laoreet vero ipsum. Et diam placerat sit et. Dolor invidunt ea dolor.