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