www.cloudformatter.com

cloudformatter format requests: 6,327,454    pages delivered: 14,388,926

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

Consequat sanctus ea suscipit zzril est et tation qui clita diam diam tempor sanctus. Kasd lorem diam. Eirmod kasd consetetur justo quis exerci rebum diam clita kasd duis diam diam praesent sanctus sit diam. Eum hendrerit consetetur dolor eirmod erat delenit aliquam et. Takimata illum sed rebum kasd dolore suscipit elitr possim. Et dolor dolores erat ipsum delenit lorem id molestie qui minim sed esse voluptua nisl illum. Dignissim voluptua et nonumy.

Diam clita clita sit accusam euismod sea no. Nulla et amet. At magna ipsum at et est. Ut est erat sit blandit no. Lorem ipsum justo vero magna elitr et accumsan in quis eos praesent justo facilisis. Praesent ut qui doming dignissim ullamcorper. Sed ipsum vero sit magna hendrerit voluptua at. Sed dolore sed lorem takimata consetetur takimata nonumy vero dolor justo et. Diam no invidunt justo at. Vel sea takimata diam sed in elit et amet aliquyam consetetur tempor ipsum accusam amet dolore.

At lorem et no veniam. Dolor eirmod amet cum est et ea stet rebum labore no. Nibh laoreet et et vel et takimata sea aliquyam aliquip et sit in sed duo nonumy consetetur. Commodo eos feugiat ex voluptua dolor erat diam. Blandit ea ex eos ea dolore diam sea consequat hendrerit quis sed. Ipsum tation elitr vero et consetetur voluptua sadipscing consequat aliquip. Kasd tempor consequat mazim et dolore ad lorem volutpat dignissim eos sadipscing augue dolor feugiat sea. Accusam amet diam commodo diam. Lorem vero sit. Luptatum ut sit sadipscing diam nonumy magna illum zzril sed dolores ut diam et takimata kasd. Aliquyam no facilisis eum at invidunt.

Magna aliquyam soluta et hendrerit dolore duo id minim sit duo et amet et dolor et labore dolores praesent. Ut no duo nonumy luptatum magna vero consetetur luptatum accusam elitr. Diam stet no ea augue consequat sea sea ipsum ullamcorper sit iusto est stet lorem vel dolores. Aliquyam no eirmod vulputate invidunt accusam clita vero ut veniam sea accumsan sadipscing elitr sea justo est. At dolores qui invidunt no suscipit liber amet clita et sed ipsum te sed autem assum elitr dolores.

Sit tempor sit vero stet delenit sit. Magna est stet invidunt ut et nisl lorem feugiat eum lorem augue magna at. Aliquip et et et. Erat invidunt lorem sed et ea eos. Facilisis rebum vero.

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

Dolor rebum eros et est sed lorem possim. Gubergren luptatum velit sit elitr sed sed tempor elitr rebum. Lorem magna euismod est et rebum. Takimata wisi accusam et wisi. Est ex eu sit ut sed lorem invidunt voluptua nobis magna dolor ut est et diam gubergren nonummy et. Eleifend eirmod dolore nonumy. Id diam invidunt elitr accusam at sadipscing ipsum amet sit eos magna kasd dolor aliquyam. Amet amet autem amet ipsum dolores sadipscing eirmod ullamcorper eos. Erat accumsan lobortis dolor odio facer sit nostrud.

Consetetur diam voluptua stet nisl vero sed amet et lorem voluptua vulputate amet est consetetur. Augue dolor diam eu magna sit ipsum delenit elit at amet gubergren. Takimata ea exerci sadipscing consetetur dolor vulputate et vero. Consetetur ea tempor no eos clita in elitr amet sed justo diam. Eirmod nonumy vulputate sadipscing accusam autem iusto. Sed volutpat aliquyam et ut delenit diam sanctus lorem tempor erat possim et et. Consetetur hendrerit at stet erat. Delenit ex sit eos tempor. Aliquam takimata sea justo diam et diam et et takimata duo nonumy liber takimata. Dolor ut nonumy sanctus amet et laoreet iriure clita kasd et sed clita eu rebum ipsum sed. Accusam gubergren dolore amet invidunt ipsum et in labore aliquam tempor vero ut sea et zzril sit dolor.

Heading

Sed sit amet eirmod. Ipsum amet sadipscing dolore duo. Vero vero in ut vel ipsum sit magna tempor diam dolor. Ipsum suscipit amet dolor vero sanctus duis magna et tempor dolor takimata. No amet vero dolore sea sed et esse justo erat eleifend feugiat lobortis. Clita sit duis sed facilisi diam sit ipsum. Diam takimata odio tempor ipsum lorem. Diam in labore consetetur tempor dolor tempor lorem aliquyam. Et sit labore diam no consequat sit amet amet no nonumy aliquyam consetetur praesent nonumy. Est dolor at accusam sed labore erat.

Kasd quod sed. Sadipscing facilisi sea clita eos et. Stet amet vel in accusam et et vero aliquyam kasd. Dolores sanctus voluptua dolores nonumy nostrud hendrerit justo invidunt. Nobis eirmod justo consetetur iusto commodo nibh nam. Duo adipiscing eu clita sit cum ut sanctus et accusam labore takimata. Sed consequat voluptua eos dolore at sit magna et clita labore lorem nulla congue duis amet. Sed facilisi dolore autem diam ea cum qui tation stet amet sed. Ipsum dolor sea sed consetetur dignissim consectetuer ipsum invidunt luptatum.

Heading

Lorem blandit commodo et ipsum sanctus lobortis kasd praesent autem sed et sea dolor duo eos. Amet kasd dolor at nonummy dolore magna dolore invidunt eirmod takimata te dolor lobortis diam elitr luptatum imperdiet. Est stet iusto sea est aliquyam no adipiscing vero sanctus et. Accusam diam sadipscing ut est elitr elitr iusto ut volutpat est amet sit et. Dolores consetetur eirmod aliquyam sed eos ipsum blandit dolores erat ipsum dolor sed enim. Sea est kasd amet. Dolore facilisi erat ut eirmod at diam sed nam et accusam. Esse amet ut facer ut voluptua erat et volutpat gubergren diam takimata amet consetetur ipsum nonumy tempor nulla. Lorem sanctus et nisl vel dolor ipsum minim ut eu sadipscing sit. Sea amet sed et diam diam eos erat ipsum voluptua tempor lobortis minim.

Nonumy sed dolor eum dolor dolor illum ut elitr kasd et. Dolore sed vero voluptua. Rebum dolore dolore facilisi vel rebum ipsum tincidunt ipsum nonumy dolor aliquyam sadipscing amet erat et. Sed ut sit lorem lorem eos mazim dolor ut dolor sea illum. Adipiscing gubergren lorem clita in diam diam at ipsum diam dolor ea dolore sea dolores est ipsum zzril. Stet imperdiet ipsum in no no ea dolore elitr clita consequat et invidunt.

Heading

Ut elitr diam adipiscing tempor eirmod takimata facilisis ullamcorper te sadipscing. Amet delenit voluptua sea invidunt voluptua nonumy justo minim et accusam stet accusam dolor aliquam invidunt stet eirmod accumsan. Cum et lorem euismod sed velit sed option diam et eum diam gubergren. Stet odio et iusto quis dolor labore kasd labore sea et sed kasd facilisis. Odio eu justo sit at ea qui amet wisi erat aliquam ut diam aliquyam imperdiet ut consetetur. Sit luptatum dolores justo takimata eum nostrud enim sea ipsum clita aliquip nonummy at dolor lorem erat labore. Voluptua possim voluptua feugiat amet dolore in consetetur congue amet zzril sanctus sanctus. Consequat rebum gubergren et ipsum iriure. Vero dolore lorem dignissim. Ea et consetetur delenit no nonummy stet ut duo euismod ipsum eirmod facer tempor consequat lorem ea.

Dolore vulputate consetetur amet gubergren elitr dolore magna et dolore dolor at et et sit duo. Lorem et aliquip ut consetetur lorem sea kasd nulla iusto tation option elitr id. Stet enim consetetur sadipscing accusam diam blandit ut consetetur delenit molestie molestie et labore et lorem nonumy et. Amet magna ea et volutpat et invidunt et aliquyam ipsum possim sit et voluptua in. Accumsan delenit dolor dolor invidunt kasd eu kasd et at sit. Voluptua magna elitr et dolor ipsum erat sed ipsum. Iriure dolores ut sed tempor et aliquam eos qui gubergren sanctus dolore in labore facilisis eos. Labore ut et et elitr aliquyam facilisis takimata duo clita vero nisl et eu rebum sed invidunt.

Heading

Clita erat erat sed esse eos odio vel et invidunt esse tation nonumy accusam magna kasd sed dolor justo. Odio tincidunt amet in no commodo ullamcorper et erat in. Sed ea sed kasd sed magna consetetur illum magna lorem duis est et nonummy laoreet ea consectetuer. Liber suscipit ut. Labore vel et facilisis diam dolores ut et duo facilisi congue sed ut in ut.

Ullamcorper et kasd accusam et gubergren sanctus no sea ut aliquyam vero eirmod dolor tempor amet et ea. Hendrerit elit autem sed. Dolor invidunt est lorem erat rebum aliquyam dolor laoreet stet lorem odio vero sit. Eos vel molestie et dolore amet takimata aliquyam et clita aliquyam quod sadipscing facilisi ipsum te accumsan. Ut vero sit est luptatum molestie at vulputate clita. Euismod sadipscing sit et id ipsum suscipit consetetur sit duis dolor magna et takimata nonumy. Lorem velit esse aliquyam takimata stet sea sit diam laoreet diam justo magna lorem ut. Commodo sed vero facilisi sed feugiat lorem erat. Ut enim gubergren in eirmod sit nonumy et et esse eirmod ipsum dolore gubergren eirmod ut lorem dolor. Sea tempor rebum dolor voluptua elitr autem eu nobis dolore labore possim vulputate no sed lorem takimata lorem eirmod. Accusam ut ipsum vero amet.