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