www.cloudformatter.com

cloudformatter format requests: 6,316,843    pages delivered: 14,367,099

Pass-Through XSL FO Styling

xportability LLC

Pass-Through XSL FO Styling

http://www.cloudformatter.com

Note:

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 ...

Keeps of Various Kinds

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 page
  • keep-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 page
  • keep-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 page
  • keep-together.within-line: set to "always" and used to keep a span of content glued always together in a single line

The following shows some demonstrations of these capabilities.

Keeping Together Within a Page

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>...

Et nonumy dolores in consetetur nibh sed ipsum ea ut facer ipsum diam dolores dolore accusam ea. Et ut est eum no sed invidunt eos odio et consetetur. Sed sanctus lobortis eu duo sit sit at assum ipsum dolore nonumy sanctus voluptua sea. Rebum accusam et ea consetetur iriure sed sea facilisis kasd erat nisl lorem. Accusam et no magna iriure dolore no nibh autem magna in ut clita sit sed kasd ipsum erat consequat. Erat adipiscing amet nihil justo augue diam option. Facilisi accusam iriure lorem nibh.

Delenit est veniam no eos vero sed diam. Ipsum elit sed amet. Diam elitr ut justo minim accusam sit kasd dolor dolores nisl no. Sanctus no feugait takimata lorem tempor accusam nobis. Kasd duis delenit sit sed nihil volutpat gubergren aliquyam lorem eirmod lorem dolore erat no. Rebum kasd diam dolor ipsum consetetur dolore rebum eu molestie aliquyam justo facilisis rebum accumsan sit. Accusam magna elitr aliquyam. Diam ipsum voluptua justo stet et doming eirmod esse magna lorem eos diam diam et.

Sit elitr illum. Sadipscing duo ut lorem vel at eirmod ut dolore. Ipsum amet vel sit sit. Sit vero delenit lorem erat sit amet ipsum. Et sed aliquyam et lorem aliquyam sit ipsum esse et. Facilisi amet ut diam at delenit sanctus dolore eos sea in veniam.

Sit diam kasd ipsum dolor dolor labore lorem sit facilisis kasd vero takimata sed ea clita sed consetetur eleifend. Justo et eos duo aliquyam veniam sea dolores et rebum dolor accusam rebum erat molestie tempor nonumy. Et ut tempor quod ipsum est lorem et at. Nihil clita tempor ex gubergren invidunt duo et et consetetur sit iusto nulla. Sed praesent ex diam gubergren erat invidunt amet aliquyam praesent takimata zzril sadipscing amet ea. Vel clita justo erat eirmod gubergren sadipscing vel amet nostrud clita esse. Delenit sanctus vel. Et ea dolor vero ea vero dolor est erat consequat vulputate nulla rebum. Lorem justo sanctus nihil nonumy eirmod sed clita duo nostrud qui amet wisi labore.

Et diam gubergren et eos erat consequat sadipscing eu nonumy sadipscing vero takimata sed. Nonumy magna accusam aliquyam magna no duo. Consequat et sea ipsum diam. Justo eros clita ipsum amet lorem tation. Kasd ipsum eros velit clita aliquyam amet sanctus. Est et vel veniam ea amet sed amet diam autem. Doming diam ea consequat.

Thus all of this content from the header through this paragraph is together on a single page.

Keep Heading with Para and Table

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.

Heading

Delenit magna aliquyam facer clita sed rebum vero dignissim justo duis magna dolor eirmod dolores. Et dolore et et sed lorem illum labore lorem consequat sit luptatum eirmod takimata. Kasd duo esse et ipsum at ea euismod erat nisl invidunt sed. Dolores dolor eu doming consetetur dolor sea congue voluptua dolor et no amet dolor clita vel feugiat. Tempor clita eleifend ut augue gubergren et stet dolor magna hendrerit dolor ea. Doming est dolore dolor takimata tincidunt. Et amet nonumy invidunt et possim at ipsum erat facilisis. Illum sed eirmod wisi doming dolore assum clita vero aliquyam lorem eros est vel minim et.

Dolor ea diam lorem vero dolores stet exerci dolores ut esse rebum. Laoreet ipsum sea nostrud diam. Aliquyam gubergren amet illum accusam amet sed. At et takimata. Eos sea suscipit sit feugiat magna aliquyam esse ipsum nisl labore. Clita minim ullamcorper ipsum sit at wisi ut ut qui justo ex duis. Ea lorem ea sit eirmod. Kasd ipsum wisi lorem tempor et sea nonummy. Sed no doming voluptua dolor. Sed sea at quod lorem vulputate et sadipscing eirmod.

Heading

Lorem in molestie voluptua accusam tempor zzril sed vero delenit amet duo dolore invidunt dolores tempor eirmod sadipscing te. In kasd tempor sed rebum diam ipsum eirmod diam. Velit sed dolores et duo esse consetetur et accusam luptatum. Ut clita et. In sadipscing ipsum dolore ex duo dolores euismod magna sit sadipscing eirmod consetetur elit autem eos eros dolor.

Eos sit lorem. Consequat consetetur dolor est consetetur nostrud no amet dolores amet vero consequat qui sanctus accumsan ut facilisi dolores. Et at dolor labore sea elitr sea et wisi erat consetetur. Aliquyam consetetur dolor dolores liber dolore amet adipiscing consequat lorem sadipscing et gubergren nam dolor lorem accusam sea nonummy. Et autem sed ipsum cum kasd sadipscing rebum praesent et sea diam et. Aliquip nisl et eirmod ipsum elitr at dolore labore dolores magna voluptua accumsan dolor sanctus sanctus amet.

Heading

Euismod rebum laoreet et et. Autem nonumy feugiat dolore sit facilisis tempor praesent aliquyam. Enim amet vel at. Ullamcorper sanctus facilisis kasd et diam accusam sed no nonumy vero duo possim sit. Erat vulputate diam voluptua laoreet ipsum sit amet. Nonumy consetetur facilisis in amet takimata takimata vulputate kasd amet. Nulla kasd lorem kasd ipsum. Ipsum iusto erat et dolore gubergren volutpat magna et aliquyam diam sanctus dolores labore nostrud takimata takimata eos. Ipsum vero invidunt dignissim justo invidunt.

Magna diam duo dolore sea justo nobis lorem takimata stet illum kasd kasd est consequat diam sadipscing erat magna. Eirmod eirmod aliquip est eu. Sit wisi nulla tempor et tempor at sea vulputate lorem est. Ipsum et ea sit eirmod sadipscing facer iriure clita erat. Dolor diam vel ut invidunt facilisi elitr in dolor dolores consequat justo invidunt aliquyam eirmod delenit congue. Blandit amet sadipscing et eum doming delenit et lorem labore tation et invidunt.

Heading

Invidunt et in nonumy adipiscing nonumy tempor stet. Tincidunt delenit justo minim aliquyam amet amet no elitr sed. Ipsum et vero feugiat ipsum no ipsum assum no invidunt rebum aliquyam dolor dignissim. Sit sed at duo dolor ea et rebum. Dolor in ipsum ipsum tempor cum consetetur sed vero justo possim zzril est stet diam. Ut dolores est consetetur quis et dolores elitr dolor. Accusam hendrerit at magna ipsum clita takimata kasd. Sea sanctus sit sit vero elitr.

Illum magna ipsum erat et ut rebum erat dolor zzril nonumy illum ea vero kasd. Sit diam esse kasd imperdiet lorem in feugait nibh aliquyam dolore nulla duo ea lorem aliquip et sed labore. Consetetur in tincidunt aliquip sed. Amet magna consequat id blandit. Nonummy dolor illum hendrerit lorem quis eros erat stet minim amet dolor ipsum elit consetetur. Amet tempor at cum in eirmod clita dolore sea justo consequat te laoreet imperdiet eos invidunt autem.

Heading

Accumsan ipsum facilisi ipsum aliquyam justo eirmod nulla eleifend sanctus et ea sit sea labore ea delenit magna amet. Magna magna et qui ut vulputate et at accumsan possim dolor. Vulputate duis nonumy augue tincidunt nulla dolores duis. Accumsan magna et justo esse diam amet aliquyam feugiat sadipscing aliquyam. Sea erat sea et tempor rebum vulputate ipsum stet lorem clita diam diam ea. Ipsum suscipit vero sed consequat labore est lobortis justo takimata et blandit lorem ipsum tempor sed. No stet eu sed dolore nonummy ipsum nonumy eros sit suscipit vero justo autem. Clita feugait ipsum et sea duo sanctus clita ipsum ea sea dolor accusam nibh sanctus vero diam iusto.

Ipsum dignissim tempor elitr diam nobis sit iusto eirmod ea autem amet. Nibh eos sed lorem tempor ipsum sed tempor sit nulla rebum et no aliquam illum justo placerat. Ipsum aliquip dolor dolor eleifend. Et sanctus takimata voluptua labore mazim ut amet takimata lorem quis. Consequat at feugait duo dolore et sit sanctus justo invidunt diam et aliquyam. Dolor aliquam facilisis rebum sit elitr.