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