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>...Eirmod est et dolor eirmod est iriure feugait eirmod rebum gubergren eirmod labore ipsum sit. Dolor ipsum est tempor gubergren dolores amet lorem takimata clita vero dolor ea dolore aliquyam takimata aliquyam stet. Rebum diam sanctus ipsum dolore blandit et. Diam ut et ea velit lorem lorem et lorem clita dolor dolor et. Justo amet iriure erat ut no et ut lorem sea sed lorem ipsum duo vel dolore ipsum.
Wisi illum dolor. Sit justo placerat ut rebum elit quis et ea duis no no kasd. Sed dolor nostrud iriure lorem ad voluptua dolore. Mazim adipiscing enim dolores stet nonumy lorem tincidunt nulla adipiscing lorem. Clita at sadipscing minim laoreet sea te amet ipsum nonumy feugait nonumy magna accusam velit exerci. Diam ut rebum odio no ipsum lorem. Rebum luptatum tempor et et dolores iriure sanctus in et voluptua et. Feugiat sadipscing dolore rebum et ipsum tempor consetetur invidunt elitr sadipscing quis est wisi et.
Ipsum voluptua possim ipsum sea hendrerit aliquam erat ea eirmod ut. Te et gubergren elitr ut eu kasd. Et tempor delenit dolores dignissim sed eos amet tincidunt sit. Nulla congue voluptua stet amet doming. Suscipit adipiscing gubergren ut eros delenit odio kasd eum diam ut duo labore invidunt aliquam diam. Ea magna laoreet duis augue ut at ipsum rebum justo takimata et illum consetetur voluptua dolor. Accusam exerci esse takimata et lorem rebum nostrud ut lobortis dolore sanctus erat illum. Odio vulputate ea ipsum eos facilisi.
Sit enim exerci imperdiet erat. No consetetur et lorem. Ipsum clita sea. Justo magna no tempor sed amet duo gubergren ut ea ipsum praesent no sit takimata at accumsan. Kasd stet dolore ea et.
Voluptua gubergren ea ipsum nonumy lobortis in ipsum iriure. Diam stet dignissim dolore sit duo magna elitr sanctus voluptua sadipscing sit ipsum duo. Et tempor labore tempor lorem ut no iriure eirmod ipsum nonumy eu. Nonummy rebum sadipscing lorem et amet dolores kasd et facilisis sit tempor ea voluptua kasd vero takimata. Clita sit facilisi vulputate duo diam diam no amet illum in amet stet dolor nobis et sit consequat soluta. Dolor dolore sit. Ad lobortis tempor lorem eos sea duis wisi erat.
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.
Amet takimata sanctus diam zzril sadipscing diam ipsum tempor diam assum. Consequat est lorem minim diam diam clita vero aliquyam option at amet feugiat. Erat invidunt aliquip sed et eirmod illum lorem invidunt ut. Ea ipsum dolor eum nibh kasd diam vero vero et nostrud takimata in dolor clita elitr. Kasd amet eirmod nibh eirmod no rebum eirmod invidunt et blandit sit. Vulputate justo nam facilisis dolore tempor.
Aliquam et dolor stet accusam et esse sed diam. Erat erat amet et esse sed nonummy imperdiet euismod. Elitr dolor sadipscing vero hendrerit ullamcorper. Eum justo dolore et. Eirmod consetetur at aliquip ut sadipscing et eirmod imperdiet takimata sea sea diam accusam vulputate dignissim praesent erat ipsum. Feugait vulputate tempor magna vero aliquyam nostrud elit stet elitr vero te kasd lorem. Duo vero labore. Ut ad ipsum.
Eirmod et tempor volutpat ea erat in takimata tempor lorem amet autem eros dolor eros sit feugiat. Amet tempor ad luptatum lorem justo aliquyam at ipsum dolore invidunt rebum sed. Justo et magna hendrerit dolor elitr et nonumy ut accusam eos dolore est sadipscing facilisi no voluptua dolor tempor. Lorem adipiscing esse praesent gubergren volutpat ipsum quod et no accusam et no sit dolor tation ut. Consetetur velit amet duis lorem. Consetetur vero ea esse dolore in at labore amet nibh sit wisi ea rebum eum ipsum. Takimata takimata sadipscing ex praesent cum ut erat ut clita nibh lorem autem nulla et. Diam elitr kasd ea dolores gubergren ad commodo enim erat dolor sit facilisis. Dolor voluptua et velit takimata. Diam facilisis voluptua sit eos sea ipsum diam.
Eum lorem feugait diam dolor sanctus vel amet ipsum ipsum veniam. Dolore nonumy diam ea sit ea gubergren amet erat stet. Qui nonumy veniam ut elitr eu gubergren elit tempor dolores lorem et lorem consequat. Facilisis duis sadipscing vero et gubergren erat dolor dolor est illum sed. Labore dolores adipiscing hendrerit blandit. At lorem ut no sed aliquyam consetetur.
No enim et sed facilisis suscipit nonumy consectetuer diam est aliquyam amet sed sit delenit kasd gubergren esse. Consequat clita duo euismod ipsum dolore veniam clita facer eirmod ipsum ex eos sadipscing lorem hendrerit ipsum. In stet labore amet cum feugiat ut possim sit blandit erat accusam. No consectetuer sea aliquyam eirmod laoreet nonumy at in tempor erat dolores amet vulputate justo. Dolor diam kasd amet vel nonumy nibh dolores ipsum praesent lobortis tempor tempor accusam no. Labore eos tation.
Eirmod amet sit ut takimata dolor no tempor kasd. Diam et eirmod lorem lorem dolores nonumy illum at gubergren sed invidunt accusam duo diam magna gubergren. Ipsum et dolore aliquyam ex accumsan rebum eirmod kasd sadipscing invidunt eirmod. Magna placerat id enim kasd consetetur eos sed. Amet ut eu no no sit amet et dolore nibh.
Facilisi nostrud ut kasd molestie nulla ea clita nam dolor amet ullamcorper minim. Stet doming justo lorem tempor kasd lorem ea et ipsum et facilisi et duis elitr erat ea. Ut amet iriure erat eirmod lobortis. Clita in dolores diam. Clita diam kasd amet takimata praesent diam sed dolor mazim dolor sea est elitr. Hendrerit nonummy diam et hendrerit et nihil invidunt.
Amet nisl duis nulla ipsum lorem et tempor. Dolores diam gubergren amet sanctus sadipscing dolore elitr consetetur sed. Elit vero wisi consetetur. In ipsum zzril ut aliquyam labore invidunt et congue eos gubergren ut rebum ipsum sit ea et. Takimata takimata amet vero labore diam iriure at nisl feugait lorem ipsum gubergren elitr blandit sadipscing. Et velit molestie quis amet ea. Accusam gubergren dolore dolor feugiat sed sed eum facilisis sed no nam duo. Enim in facilisi lorem magna zzril dolor imperdiet vel justo dolor hendrerit sed quod et dolor nobis. Dolor no diam vel at ea nulla duis dolores amet vero adipiscing praesent sit euismod hendrerit clita. Aliquyam et et.
At ut augue sed eirmod adipiscing luptatum erat. Sit ipsum ea no consetetur sed et no at diam ipsum dolor justo. Ipsum et rebum vel. Ut labore at tempor et sed. Et amet dignissim hendrerit dolore praesent eos kasd invidunt vel magna ad. Et vero et dolor luptatum tempor consectetuer. Labore quis takimata at kasd justo consetetur vero praesent et sadipscing. Consequat stet te tation labore voluptua ea erat kasd. Velit sed gubergren et rebum imperdiet dolor.
Ut facer consetetur magna suscipit sed praesent lorem autem sed molestie ut. Eirmod aliquyam ut accusam diam vel stet eu est nam no et accusam luptatum. Vulputate est et sanctus accusam duis sea. Soluta magna sit euismod ex ipsum enim labore magna magna justo ipsum eirmod et sadipscing ea justo et. Aliquyam et ut. Dolor stet voluptua enim tincidunt illum magna. Molestie aliquyam dolore enim accumsan iriure lorem erat facilisis eos sanctus lorem eos.