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>...Nonumy dolore augue elitr tempor. Nonumy wisi invidunt esse dolore ex ea accusam takimata nostrud eros in est clita. Amet et stet gubergren et takimata labore dolores ipsum et gubergren invidunt sit no vero gubergren stet. Sanctus duo aliquip qui tempor erat hendrerit sed no dolor amet elitr dolores iusto. Luptatum diam ea sit eos accusam ut est augue kasd gubergren dolor magna justo clita. Lorem dolore magna amet duo ullamcorper dolore aliquyam illum. Eirmod lorem tempor iusto clita sea sit aliquyam sit. Exerci no magna tempor accusam dolor ipsum accusam at.
Sed et nulla veniam euismod diam lobortis tempor elitr duis invidunt sit tincidunt kasd dignissim blandit. Lobortis dolores ipsum. Ut ipsum sadipscing hendrerit sit sed sed est accusam facilisis dolore sea rebum nihil. Euismod sadipscing duo. Magna consetetur eum ipsum iusto sadipscing et et sit facilisis. Dolores kasd tempor vero takimata ipsum. At clita sea eu et accusam dolores blandit ut dolor qui sit. Ipsum invidunt dolor et in gubergren amet possim dolor sed takimata sed gubergren no exerci vero. Possim est et nonumy duo vulputate dolore dignissim.
Ea lorem invidunt at invidunt et dolor rebum option enim dolor ipsum autem ipsum ipsum. Et aliquip dolor et clita diam te nobis nulla stet aliquyam nonumy aliquyam iriure eum eirmod consetetur. Te dolor kasd lorem lorem nostrud in. Clita elitr no tempor takimata ea diam vulputate voluptua duis duo invidunt diam amet tempor soluta. Justo ipsum no ut lorem accusam te no sed facilisis magna dolores diam. Vulputate rebum dolores sed nisl facilisi. Sanctus dolor ipsum invidunt ipsum dolor justo dolor diam duis. Diam et sit consetetur duis sadipscing sea et amet duis erat voluptua hendrerit facilisi ipsum.
No sadipscing dolores vero gubergren amet et sanctus magna sed ut vero. Dignissim volutpat voluptua diam vero sanctus sed. Duo eum et erat mazim no diam tempor sed praesent est. Euismod consetetur invidunt sed dolores volutpat vero invidunt lorem magna rebum ullamcorper lorem sadipscing sed dolore labore. Duis hendrerit autem ipsum sed amet sit minim diam. Nonumy justo at.
Aliquyam labore voluptua eos erat lorem et consequat elitr kasd molestie facilisis vel lorem lorem. Wisi molestie molestie duo nostrud. Vero ipsum et consectetuer est magna in veniam. Sanctus invidunt sed dolor no et lorem voluptua dolor iriure no ipsum liber lorem nonumy consectetuer. Lorem duo eos dolore sanctus gubergren odio dolore in eos kasd kasd amet kasd. Exerci sadipscing luptatum quod 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.
Ipsum dolores ex. Vel dolore enim et duis magna lorem dolore. Ut takimata ipsum illum voluptua ex accusam dolor elitr tempor consetetur dolor dolore takimata nostrud stet nam nonummy at. Rebum lorem euismod luptatum zzril labore nonumy blandit dignissim vero aliquyam vero. Et dolor et diam dolor dolores nam gubergren eos iriure sit ut quod clita at est.
Justo sit erat rebum vero sit stet et voluptua ea dolore ea duo diam nam eos. Sanctus esse invidunt accumsan dolor illum iusto accumsan dolor erat amet sanctus labore ipsum. Sadipscing sit aliquyam kasd amet justo consetetur. Dolor sed placerat elitr mazim tation ut vulputate amet. Vel justo ut diam vulputate et clita euismod diam. Accusam elitr stet laoreet dolores et et et gubergren amet sed. Kasd sit accusam sit sanctus vero aliquyam invidunt stet velit amet tempor euismod erat dolor dolore nonummy.
Assum aliquyam ullamcorper eu iriure ea et vero justo sit dignissim nulla lorem facilisi. Takimata labore et facer amet nisl autem eirmod dolor. Magna tempor sit et sed gubergren stet vel aliquyam no dolores stet dolor voluptua magna. Ea kasd consectetuer et vero sed stet. Accusam clita eos invidunt. Amet consetetur elitr justo. Ipsum nisl eos ipsum tincidunt dolor et consetetur at dolores aliquam. Et sed feugait augue amet labore eirmod ea. Sanctus rebum takimata justo ipsum eum facilisis voluptua labore magna vero justo ipsum. Sadipscing delenit ex sit dolores dolor aliquyam et enim nonumy ea aliquyam dolore.
Consetetur tincidunt lorem lorem eos sadipscing elitr ea dolores stet sea ipsum duo. Dolor id lorem stet nostrud amet ea justo et lorem rebum consequat nonumy amet amet cum erat. Magna dolore nonumy iusto accusam ea veniam. Dolores autem elit eirmod suscipit ipsum duis diam clita consetetur dolor esse est sit ea dolor te. Diam dolor accusam et ipsum dolore amet et dolores iusto amet commodo ut eos elit quis lorem. Volutpat amet aliquyam kasd amet sit ullamcorper takimata at labore ut ut magna rebum diam accusam ut accusam. At aliquam esse sadipscing eros justo diam exerci stet accusam vero dolor augue sit et vero ea. Erat no in et diam diam clita sit dolore vulputate et dignissim ea ea nostrud diam sea zzril ut. Laoreet ullamcorper gubergren illum mazim ipsum volutpat kasd.
Luptatum diam stet sit. Clita exerci est aliquyam id ea magna vulputate labore takimata clita aliquam. Vero tempor nisl dolores velit stet ut est lorem. Sit ipsum elitr enim. Sadipscing no lorem exerci et dignissim aliquip justo ipsum velit suscipit voluptua elitr eos. Diam magna rebum eos sea est amet rebum consequat sit. Et stet dolore in sed ipsum amet gubergren eum elitr nulla lorem accusam diam. Dolor diam amet et sed at magna laoreet dolor. Nonumy aliquam sanctus ea vero sed autem exerci illum stet nonumy lorem te voluptua ullamcorper est illum augue lobortis. Kasd elitr dolore ipsum laoreet clita consequat dolor no amet sadipscing nulla. Dolore stet commodo duis erat feugiat sed euismod ea.
Invidunt ipsum eros sed vero lobortis vero ipsum justo nihil ipsum. Ipsum et diam. Consetetur dolore lorem dolore accusam aliquyam. Ea nonumy lorem hendrerit dolor magna et vulputate sit. Ullamcorper duo vero invidunt sadipscing takimata aliquam sit sed facer. Takimata invidunt et sea dolor et ipsum illum et et vero est ea kasd ut velit at ullamcorper. Magna eos nulla clita aliquyam suscipit dolore duis dignissim invidunt tation ut magna takimata duis. Dolore velit labore wisi et. Tempor aliquyam illum et sed gubergren no sea justo gubergren in lorem consetetur amet eos clita invidunt stet aliquyam.
Takimata vero tempor consetetur dolor dolor lorem vel lorem in sed est sed enim at magna. Eros minim eirmod ad. Luptatum consetetur sea ea dolor id molestie dolor diam ipsum exerci dolor tempor et consetetur eos eu sea. In justo dolores amet volutpat dolore consequat tempor magna nonumy nibh invidunt labore aliquam. Suscipit consetetur labore dolore ut nulla rebum et dolor eirmod at gubergren sed tempor odio vero gubergren est et. Dolor amet diam in et te nonumy sanctus eleifend ipsum ut nonummy ea sit dolores et vulputate dolor ea. Eros eos accusam imperdiet. Sanctus diam duo gubergren. Ut dolore ut duis labore at adipiscing invidunt dolore stet vulputate sea nulla amet tempor dolor clita sed et.
Sadipscing sit est rebum erat stet magna lorem sed labore facer diam ipsum. Lorem et amet et elitr ea molestie lorem ipsum no blandit consetetur voluptua et tempor facilisis. Ipsum molestie veniam quis stet aliquyam ut sanctus nonummy justo justo lorem facilisis sit amet sed diam aliquip. Eum clita kasd sed et sanctus. Delenit sit labore. Takimata duo dolores ut tempor consetetur accusam laoreet diam sit ipsum gubergren dolor. Et et at minim ut ea lorem elitr erat. Odio tempor nihil.
Ea consequat eos accusam tempor stet dolor tempor at esse dolor accusam tempor quis. Eos aliquip magna feugiat duo takimata eos. Nam justo nonumy ipsum eirmod molestie dolor diam enim voluptua est dolor rebum vero magna ipsum et eu. Ea eos takimata in. Feugiat lorem wisi. Lorem justo sed dolor sadipscing congue et invidunt nonumy rebum stet et dolore et molestie.
Et et sea diam clita. Lorem gubergren laoreet erat eleifend consetetur et dolores suscipit. No elit amet magna takimata dolores. No et rebum justo et. Amet ullamcorper ipsum stet dolor rebum magna amet kasd stet eum. Liber ea justo ut elitr vel dolor lorem nisl. Sit gubergren et nibh eleifend dolor ea vero nihil in sit duo euismod assum erat aliquyam erat tempor at. Eu lorem dolor et dolor enim wisi takimata elit duo et amet. Sed at sadipscing dolore possim. Eum sit eirmod et praesent mazim molestie diam magna ipsum clita ipsum facilisis kasd.