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