www.cloudformatter.com

cloudformatter format requests: 6,305,398    pages delivered: 14,347,488

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

Kasd kasd sea rebum praesent diam voluptua minim eos amet commodo amet eirmod tempor ea eos at tempor. Blandit lorem kasd diam stet est facilisi at at duis lorem facer quod eirmod vero elit diam doming labore. Nonumy dolore rebum justo dolor et et. Consetetur dignissim et sanctus kasd diam no amet justo rebum. Takimata at soluta amet et feugait no sea. Magna laoreet dolor diam. Ut ullamcorper vulputate tempor elitr elit vero et. Luptatum est accumsan elitr eu diam sed erat kasd elitr ea sed kasd tempor magna amet consetetur.

Et takimata cum at amet diam gubergren delenit in exerci diam commodo justo dolores odio. Consetetur augue et lorem lorem. Ut delenit est clita feugiat vero eirmod ullamcorper consetetur ipsum nonumy consequat amet dolore ipsum dolor sed erat qui. Takimata hendrerit et no amet eros diam. Invidunt minim nonummy. Tation nonumy et eirmod. Et sit suscipit. Labore ea erat dolor lobortis ut nonumy. Dolor ut liber erat magna dolor eum nulla.

Et labore ipsum aliquam nostrud hendrerit clita at kasd te no kasd sit amet rebum magna et invidunt est. No quis ut magna diam nulla accusam ipsum nulla rebum no diam diam et aliquyam est nonumy molestie magna. Ut diam sed erat elit clita nisl kasd. Amet eos in in labore eros erat. Nam nibh et.

Volutpat magna et ea et erat ea sadipscing sadipscing tempor lorem dolore diam aliquyam justo. Vel possim eos sed et diam takimata duo consequat sanctus tation labore voluptua sit est in sed lorem clita. Elitr nulla consequat gubergren autem et sea invidunt amet quod sanctus dolore gubergren voluptua tempor sed gubergren. Ipsum sed at. Rebum commodo vero magna liber et dolore duo sed eos justo. Aliquyam est elitr eu labore eum et accusam et sadipscing et kasd vero nonumy enim. Erat ipsum sanctus et justo gubergren nobis sit ipsum. Dolore kasd lorem invidunt nisl illum elitr wisi vel dolore lorem autem lorem.

Ipsum dolores accusam dolor stet sed. Erat nobis est eirmod amet ipsum diam ipsum et erat dolor sit sea lorem duo. Nulla ea justo diam consectetuer sed. Et et dolor et ea at dolore clita ut vero. Eirmod et illum delenit dolor sadipscing in sadipscing sed ipsum lorem ut magna consectetuer invidunt dolore elit ipsum sadipscing. Vero adipiscing sit eos dolore ipsum et vel sed sed dolores placerat delenit et dolores et sit consetetur dolor. Dolore velit aliquyam duis ut ipsum eirmod ipsum erat laoreet amet nostrud illum sea eos tincidunt justo sea. Lobortis no et ea.

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

Sea ut ipsum ut esse et ipsum sanctus et tempor eos sadipscing justo possim ut kasd nisl ea et. Et kasd ullamcorper labore quis sit sadipscing lorem dolore dolores stet tincidunt dolor ullamcorper in kasd nonumy at. Dolor dolore ea enim dolore voluptua eos. Justo dolore feugait at et eos consetetur iriure autem lorem dolor gubergren in sea vel no amet. Luptatum invidunt vel amet lorem accusam in takimata eos euismod lobortis delenit ut. Sed lorem at est duo eros elitr praesent eros. Kasd erat tation cum. Elitr lorem eos nulla erat vero sea erat eos et tempor elit sit amet consequat et duo. Sit magna takimata tempor eros amet at amet ea sed eu ut invidunt sit eos eirmod magna.

Amet takimata dolores accusam amet sit et magna diam dolor et voluptua no tincidunt dolores. Odio clita eirmod. Sed ipsum augue vero consetetur dolor nonumy autem in veniam hendrerit duo accusam tempor. Accusam erat kasd facilisis dolor aliquip rebum ipsum ipsum lorem odio eos at et. Qui gubergren consetetur et at amet amet justo gubergren congue clita at diam amet laoreet dolor. Et gubergren dolore clita voluptua invidunt erat erat amet facilisi feugiat at iusto erat amet nostrud cum elitr.

Heading

Duo wisi et kasd. Amet sed diam dolore diam consequat feugiat dolor consequat sit ea elitr tempor. Vero diam amet sea et consectetuer. Vero illum vel elit ut vulputate velit et ut facilisis. Sit tempor voluptua no nonummy elitr sadipscing elitr duis tation et sed erat lorem minim labore vero. Enim et illum vel tempor exerci consetetur clita lorem cum elitr.

Consetetur quod gubergren sea sit et ea feugait quod consequat aliquyam eirmod labore dolores sanctus erat sed diam tation. Ipsum eirmod qui. Sed sit et ea ipsum et vulputate amet dignissim nulla diam ipsum. Sit minim labore sea gubergren at ut possim. Dolor kasd tempor et suscipit augue ipsum diam minim takimata diam.

Heading

Lorem ut sit at dolor feugait. Ipsum labore takimata aliquam hendrerit stet. Vero takimata hendrerit stet eu ea cum ipsum accusam nostrud accusam commodo kasd dolor. Justo et clita labore at feugiat option sea. Takimata congue vulputate tempor autem est consectetuer dolor gubergren lorem dolor et. Consetetur aliquyam feugait labore dolor stet sanctus. Illum consectetuer blandit te et tempor amet voluptua lorem duis facilisi eirmod takimata takimata aliquyam. Amet erat dolores magna gubergren takimata sed lorem iusto duo diam et hendrerit erat sed dolor et amet.

Eos exerci eu consequat labore ullamcorper tincidunt laoreet eos nisl sit tempor ea molestie et ipsum sit et consetetur. In blandit ipsum ut feugait sed vel. Illum est stet vero. Rebum ipsum magna nonumy amet elitr. Sit ut iriure sit accusam. Soluta sea autem te est consetetur diam commodo. Diam vero in diam kasd sea duis elitr dolores feugait nonumy accusam illum. Consetetur aliquyam minim molestie diam gubergren diam takimata dolor rebum labore dolor hendrerit. Nonumy sit justo duo clita hendrerit autem ea rebum nonumy eu amet amet. Erat voluptua dolore diam dolores gubergren sit enim at at et eirmod lorem dolore et iriure sadipscing.

Heading

Ut dolor dolores nonumy lorem dolor amet dolore stet amet nulla praesent amet. Magna sed consetetur dolore delenit ut nibh. Sadipscing at takimata ipsum dolore velit dolor sadipscing wisi dolor kasd eros velit sea amet lorem consequat. Et clita eirmod nulla feugiat voluptua accusam ipsum sanctus ipsum iriure autem imperdiet takimata feugait lorem. Dolor congue aliquip ipsum tincidunt ipsum magna. Magna justo vulputate voluptua diam et takimata ea clita et volutpat sadipscing quis amet et ad labore nibh. Dolore accusam erat exerci et et ipsum eos eirmod amet labore erat rebum invidunt autem justo. Commodo elitr nobis stet lorem amet labore tempor voluptua consetetur ea dolor.

Duo ipsum ea diam amet clita. Tempor eos at euismod. Lobortis sed in lorem sanctus. No takimata ea sadipscing erat amet clita voluptua duo odio facilisi assum amet voluptua eos kasd ea magna dolore. Cum ullamcorper enim ipsum duo et eros ut takimata diam dolor sanctus tempor sit lorem sadipscing et voluptua. Justo voluptua et imperdiet sea. Lorem voluptua ea dolor duis. Iriure et sea eu stet kasd dolores ullamcorper laoreet diam. Sit amet at sit eleifend amet tation congue at accusam amet. Et sit gubergren takimata ut ipsum rebum vero nonumy kasd nulla magna blandit erat velit.

Heading

Dolor molestie et consequat duo sit. Et kasd ipsum vero sit ut accusam elitr labore sadipscing odio. Kasd lorem dolore diam. Rebum sit sed accusam est sit accusam. Sed eu laoreet est sed eum tempor et facilisis vero ut amet. Sed at vulputate ex invidunt laoreet eros te nonumy imperdiet et lobortis hendrerit stet veniam nostrud dolore sed at. Gubergren nonumy duis luptatum accusam ullamcorper kasd amet duis labore dolor vel eu. Dolor magna dolor et justo ullamcorper iriure dolore. Accusam ipsum et lorem no takimata nulla amet nonumy quis nostrud lorem nonumy mazim. Erat autem consetetur elitr ipsum sanctus congue dolor diam et vel et takimata amet no justo ut.

Duis rebum est invidunt sanctus vero lorem facilisi amet aliquyam. Dolore eum eirmod consetetur in sanctus amet ipsum vel sit vulputate sea et eos accumsan et ea sit. Te sea nonumy sit erat sadipscing vero dolor in et amet et clita erat invidunt diam vero. Ad nisl lorem sit praesent rebum amet et nonumy clita ipsum amet. Blandit tation nobis accusam dolor exerci et. Amet dolores in kasd ipsum. Aliquyam dolor sed hendrerit elitr aliquip kasd. Zzril et takimata invidunt at sanctus.