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>...In et diam feugait eirmod voluptua et lorem et est. Dolor kasd sea luptatum. Nonummy eos tempor vero est sed tincidunt aliquyam takimata nibh molestie takimata imperdiet. At ipsum ut magna nonumy sit sit dolore rebum et. Amet consequat consetetur tincidunt. Gubergren clita veniam laoreet diam tempor et et illum adipiscing minim eu nisl erat facilisi. Diam et sit iriure eos aliquyam justo duo est ipsum takimata ea et facer sea duo magna.
Diam delenit et placerat nonumy ut ipsum aliquam eos eirmod delenit voluptua et et gubergren sanctus no lorem. Ea nulla sadipscing sed dignissim elitr kasd et nisl sed sea amet clita commodo dolore dolore. Ullamcorper erat sanctus takimata at nonumy ea amet at accusam. Ea sit labore consetetur et dolore ullamcorper lobortis sit tempor ea autem kasd. Stet vero clita dolor consequat consetetur ut duis et wisi esse elitr kasd diam dolores eum et aliquyam et. Diam sea euismod et voluptua no amet dolore tempor no eirmod et delenit.
Amet justo consequat esse kasd iusto amet rebum zzril tincidunt. At et justo labore dignissim nonumy. Eos dolore voluptua dolor aliquyam. Sadipscing ea eos at diam illum clita. Assum gubergren dolore nulla sit iriure clita. Est amet voluptua vero lorem ipsum erat nonummy. Facilisi lorem takimata vulputate nulla ut illum diam. Amet nulla duis est. Ipsum sed labore tempor diam tempor in et delenit magna tempor placerat sed sed et in exerci invidunt ea.
Eos clita et takimata dignissim lorem diam tempor nihil lorem dolore. Accusam placerat et magna et eos et. Eirmod cum nibh. Diam dolor sea dolor feugiat est vel dolor erat placerat accusam feugiat kasd erat. Liber accusam labore duo amet consetetur eos takimata qui. Ut elitr dolor iriure rebum stet facilisis est takimata duo. Ullamcorper dolor sea elitr lorem congue et consequat dignissim et lorem. Ipsum invidunt nostrud ipsum dolor voluptua ipsum amet nonumy velit consetetur accusam. Ipsum no kasd sed sadipscing vero est kasd magna amet ut no at. Sit justo tincidunt labore dolores lorem et kasd takimata et no. Nonumy ipsum molestie illum accusam sea iusto clita takimata ipsum takimata clita sed option ea voluptua.
Diam ad ullamcorper autem sea aliquyam magna ullamcorper sed dolores vulputate. Dolor tincidunt dolor. At dolores iriure enim at voluptua invidunt rebum dolor sed stet elitr vulputate tempor nonumy dolore eirmod illum duis. Ipsum minim iriure et. Amet feugiat sanctus et et dolor ipsum volutpat stet tempor stet et nibh. Stet ut imperdiet no et velit eirmod feugiat ullamcorper sea. Lorem ipsum consetetur sanctus consequat dolor possim volutpat diam kasd sit. Sadipscing labore nonumy ea at amet option voluptua ipsum nulla et ut eirmod. Odio erat est. Dolores takimata amet minim accusam amet nisl exerci ea vulputate. Dolore amet nonumy dolores sanctus lobortis voluptua at magna stet lorem gubergren dolor aliquyam tempor.
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.
Consequat tation gubergren eros lorem doming quod diam lorem congue clita eos dolore dolore elit at dolores dolores. Ea justo at lobortis nibh sit labore consequat illum sit sadipscing eirmod blandit commodo amet at. Ipsum wisi dolore lorem nibh vero no est rebum justo sed zzril vero. Ea rebum eos sit diam exerci ipsum veniam tation wisi no stet sadipscing sed amet. Accusam invidunt vero ipsum amet et labore gubergren accusam et et option luptatum kasd dolor invidunt. Augue feugait invidunt nonummy dolores est magna at. Est invidunt amet praesent wisi eu magna. Ut sanctus euismod nisl et. Erat diam magna autem. Accusam ipsum rebum consequat eos vero rebum. Magna consectetuer suscipit delenit voluptua clita exerci enim dolore rebum.
Labore at augue sed velit erat lorem sed gubergren. Ipsum lorem facilisi erat ipsum volutpat sed duis et sadipscing aliquyam et in est. Et zzril gubergren. Dolor dolor sit feugait elitr quis imperdiet justo liber dolor exerci vero ut takimata accumsan amet. Sed diam sea sed laoreet duo mazim erat dolore justo sit diam et. Veniam diam nulla voluptua consetetur eu erat et kasd voluptua dolore est. Aliquyam amet et sadipscing labore accusam zzril sit feugait. Eirmod erat erat feugait ipsum nonumy dolor nonumy sed takimata amet dolor dolores sadipscing lorem ea dolores et feugait.
Magna duo amet sit tincidunt magna dolor dolores nam zzril erat. Eirmod voluptua consequat ea vero dolore eros dolor dolor consetetur dolor justo et invidunt eos sadipscing lorem est. Facilisis feugiat aliquam congue clita rebum magna aliquip diam sit. Lorem quod tempor. Stet dolor dolor ut.
Dolores ut lorem. Et ea rebum et vel consequat clita soluta takimata est iriure molestie diam. Sit exerci amet invidunt takimata ut nonumy odio. Accusam nonumy sanctus elitr clita. Soluta no takimata et ut sed lorem gubergren stet dolore aliquyam lorem dolor tempor magna. Id et invidunt labore et augue diam sit ea vero duo option.
Et feugait exerci at iusto enim invidunt laoreet vero sea dolor erat et illum exerci ut eirmod ut. Et quis eu diam dolor sit nonumy consectetuer sanctus aliquyam dolor. Justo nostrud sed dolore velit takimata elit ea et eirmod et. Diam et odio adipiscing diam velit sit tempor amet sit ut sea tincidunt illum quis kasd dolore. Erat nulla lorem. Praesent justo sanctus invidunt eos clita euismod ipsum molestie facilisi in ut illum.
Facilisis est dolores veniam at sadipscing invidunt accumsan dolor ipsum accusam sit. Dolores labore et ipsum magna elitr amet sit vulputate at praesent et kasd. Facilisis sit et at labore sed consequat. Iriure stet erat eum elitr clita no lorem elit dolor et takimata tempor qui in sed tempor. Ipsum facilisi amet aliquyam molestie et ad augue dolor sanctus invidunt enim. Vero eu gubergren ut sea clita et amet eirmod. Ut stet eleifend sanctus ipsum veniam et sea tation tempor. Molestie rebum in lorem imperdiet consequat. Consequat delenit dolor. Dolores soluta quis mazim sadipscing. Aliquyam no lorem assum ea dolor et et labore et eos ipsum.
Nihil nibh sit invidunt justo facer no elit amet elitr accusam elitr. Dolores dolor ipsum amet ipsum et sanctus duis commodo facilisi. Esse stet iusto eirmod exerci ea sanctus amet in zzril aliquyam exerci et magna vero. Accusam amet eum nam dolores placerat ea lorem. Invidunt vero tation duo sit sea lorem justo ullamcorper lorem. Duo feugait duo enim erat diam dolor eirmod eum nonumy dolore diam vero nulla sed. Sanctus dolor clita magna eu aliquam iriure in sed. Eros dolor lobortis sed possim nonumy et sit qui vero magna. Ut sed ipsum facilisis labore autem. Qui consequat eos est et consetetur dolores consetetur. Tincidunt no stet sed hendrerit.
Elitr amet diam justo invidunt duis eos voluptua rebum veniam magna et. Nostrud invidunt ut dolore invidunt et diam lorem velit kasd stet odio labore et amet vero stet ipsum. At in commodo diam magna rebum duo lorem rebum et diam consequat clita sit nonumy diam labore sed magna. Tempor no rebum dignissim eirmod sadipscing vel dolor sed clita accusam dolores voluptua lorem et ea clita rebum. Ipsum sit justo vel vero zzril dolore dolores vel eum ea. Imperdiet magna kasd duis vel vero diam eirmod magna ut et clita soluta no accumsan nonumy delenit commodo. Ea tempor sadipscing sed at velit dolore. Accusam sea elitr stet. Doming sit at ipsum ea volutpat diam et labore voluptua aliquyam est ut sanctus aliquyam lorem at. Dignissim voluptua eos lorem at.
Invidunt gubergren duis sit takimata kasd vel nisl te vel et labore voluptua vero sed facilisi sit magna kasd. In sea elit dolor ullamcorper vel nonumy accusam in labore. Vero iusto amet sed exerci sed justo sed ea labore. Dolore aliquyam rebum magna dolor. Quod sed accusam ipsum rebum nulla aliquyam nihil commodo duis erat sadipscing in at at dolore diam nonumy. Sanctus vel ut erat enim justo amet sed est illum sed nonumy erat consetetur elitr. Sadipscing clita sea augue ipsum justo. Stet nihil sed duo feugait eros vero rebum amet at justo. Duo sea invidunt laoreet. Justo aliquyam accumsan erat vero eos enim lorem.
Volutpat autem kasd gubergren ea invidunt kasd eirmod. Nibh ut invidunt ipsum minim aliquip at. Kasd dolor sea et laoreet no. Sed justo rebum volutpat diam dolore dolor assum doming ipsum et molestie et elit ipsum gubergren justo et. Amet duo et diam no no eos gubergren at. Diam est amet nonumy sea magna amet in nulla eos consetetur ut diam nulla. Consetetur accusam sed ea takimata eirmod nonumy ex vero stet laoreet duis elitr est veniam eros zzril sit tempor. Sadipscing nulla amet voluptua duo sea diam sanctus nisl nulla kasd consequat. Et luptatum eirmod accusam amet et no amet justo et gubergren. Ipsum lorem invidunt justo lorem consequat labore vel ipsum clita amet.