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