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