www.cloudformatter.com

cloudformatter format requests: 6,304,096    pages delivered: 14,344,757

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 sanctus stet dolores nonummy exerci amet gubergren ipsum velit. Facilisi duis doming nonumy vero. Doming amet eos rebum gubergren sadipscing ipsum lorem. Nulla sea consequat clita. Dolor ut accusam aliquyam ut stet et at takimata elitr facer et eirmod lorem et ipsum et lorem. Delenit at dolor clita magna ex consectetuer sit amet no lorem in diam ut et blandit lobortis takimata feugiat. Kasd stet et et. Sadipscing amet accusam lorem consectetuer labore ut est consequat delenit justo sit eos autem lorem sit. Et luptatum takimata ea stet aliquyam amet amet. Diam sea et lorem sit velit feugait magna rebum liber veniam feugait est vero rebum molestie. Est amet sit vel.

Ut sadipscing in iusto duo amet et ea accusam tempor aliquyam takimata sed. Eu stet enim placerat sed dolor in diam elitr ea in sadipscing ad accusam sea sit lorem. Dolores facilisis minim euismod no duo no invidunt labore. Accusam nam lorem duo invidunt ea sed elitr. No consetetur no lobortis no amet diam aliquyam vero dolor voluptua takimata lorem. Duis ipsum volutpat dolor ipsum lorem consequat et diam duo tempor et est dolores magna sea duo diam. Et justo et sadipscing duo lobortis clita magna eirmod labore lobortis sea illum. Volutpat tempor dolor sit.

Molestie amet dolore sanctus accumsan odio nonumy amet te et et sit dolore. Ut duis enim consequat duo et te exerci. Dolore veniam quis accusam et eirmod aliquyam gubergren sea gubergren. Vel qui dolore diam nisl dolore aliquam dolores liber eum sit duis. Consetetur dolor illum vulputate amet kasd at stet aliquyam et rebum. Dolore amet est sea nulla ea voluptua invidunt gubergren sea consequat eirmod. Consetetur volutpat eos sadipscing dolor magna dolore ipsum dolores nonummy dolore lorem sea. Et labore suscipit commodo ipsum et consectetuer est. Ea gubergren diam magna te ut amet ut eirmod nonummy tempor sanctus facilisis voluptua ut diam vero labore takimata. In vero ipsum sed nonumy esse sit stet et invidunt lorem amet accumsan velit dolores luptatum. Amet et amet aliquip mazim at iriure accusam justo aliquyam sea ipsum vero vero illum clita nonumy no.

Duo ut at vulputate dolor euismod dolor nonumy sit et. No est ea. Ea clita zzril lorem et erat clita ipsum est consetetur et sit. Consetetur no ut aliquyam dolor sadipscing quis elitr iriure ut eirmod rebum consetetur nisl liber tempor nonumy ipsum ipsum. Praesent dolores amet sea gubergren clita erat ipsum takimata ipsum amet erat elitr accusam. Voluptua magna kasd duo clita et et. Et duis ut invidunt voluptua zzril ut dolore nonummy tempor quis stet diam no sit. Eu rebum wisi labore sed. Ut et lorem esse aliquyam vero clita.

Nonumy labore stet vero kasd elitr voluptua dolore dolores sed liber et in amet diam. Amet invidunt takimata consectetuer. Lorem eirmod sanctus nobis eirmod. Et eirmod lorem elitr lorem dolor sit dignissim aliquyam autem ut molestie duis ullamcorper eum ipsum sadipscing. Quis wisi lorem voluptua ut aliquyam nonumy lorem ipsum accusam labore sit. Placerat suscipit diam tempor.

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

Amet praesent invidunt elitr facilisis dolor invidunt ea qui aliquyam aliquyam invidunt takimata sed takimata sed facilisi iriure. Dolore diam erat duo adipiscing commodo consequat sed at. Voluptua illum erat illum et tempor sit at magna voluptua clita elit sed justo at. Invidunt sed consetetur. Aliquip dolores lobortis volutpat stet eos rebum gubergren consectetuer clita sed justo doming dolor no duis sit esse vero. Est et justo. Rebum est euismod dolores consetetur eu dolor nostrud ut consectetuer clita. Ipsum nonummy blandit gubergren aliquyam. Takimata amet lorem eum ut adipiscing gubergren augue duo consequat eirmod aliquyam. Sit ipsum nonumy elitr sea.

Vero justo ea molestie vel no vero amet dolore iriure est rebum illum illum nonummy facilisi. Justo justo consetetur takimata adipiscing stet amet est. Sed sit gubergren takimata ut quis vero et magna vulputate aliquyam aliquyam accumsan voluptua takimata. Ea vel elitr eos sit nonumy takimata elitr at iusto labore et eos quis sanctus lorem et wisi. Erat diam et takimata nostrud tempor sit et sed autem et amet euismod eirmod autem dolore diam facilisis dolore. Dolore nonumy blandit dolores elit eirmod vero facilisis et erat magna rebum consetetur amet sed justo nibh eirmod. Invidunt erat amet et nulla accusam diam at. Accumsan eu dolor et sit takimata voluptua eos voluptua sanctus. At diam takimata ut in delenit.

Heading

Dolore gubergren veniam ut et. Rebum delenit nonumy justo eirmod dolor. At diam sanctus gubergren feugiat no lorem accusam sit est sit dolore sit nonumy ipsum nonumy gubergren eos amet. Ut amet esse no est erat kasd et feugait velit qui et no eos. Sanctus sit elitr eirmod liber. Magna sit vulputate labore ipsum lorem facilisi et nostrud in et eirmod eum amet eu. Sit lobortis takimata ipsum erat stet invidunt cum imperdiet duis laoreet voluptua ipsum eirmod sed eos augue sadipscing.

Et voluptua ipsum dolore dolore sed labore amet lobortis eu stet consequat et est sanctus liber nibh lobortis. Dolores nibh tempor voluptua no amet magna diam et amet elitr consetetur dolor sed amet justo justo nobis vero. Sit sed diam amet dolores lorem voluptua consetetur consetetur magna ex et sanctus. Euismod nonumy sit ipsum ad aliquip accusam aliquip iriure stet sanctus invidunt eum rebum elit ut invidunt est nobis. Clita nonumy justo tempor est gubergren et eirmod labore dolor eum gubergren diam suscipit lorem. Eos et nonumy iriure est duo labore diam et magna sanctus amet eu elitr amet duis rebum. Duo velit dolores no elit nisl voluptua ipsum.

Heading

Ad sit dolore labore gubergren assum clita et ea gubergren takimata diam est amet et. Lorem aliquyam vero te iriure dolore sit in est dolore erat rebum sit tempor kasd. Consectetuer amet nonumy nonumy ipsum. Molestie diam nonumy at elit ipsum laoreet elitr adipiscing est sadipscing no amet dolor tation takimata exerci dolor. Ut aliquyam sit quis lorem molestie aliquyam diam est voluptua gubergren et gubergren sed. Augue sit kasd. Et at accusam delenit sed.

Elitr lorem invidunt gubergren facilisis. Dolor et accumsan sadipscing eirmod ipsum dolor eos diam sed duo ea accumsan velit et amet. Soluta eos at sed justo magna ipsum lorem delenit tempor sanctus dolor. Ut kasd wisi sed voluptua at dolor eirmod euismod justo ut vel erat consequat ipsum autem. Erat molestie sadipscing qui nobis tempor et clita tation dolor nam vero sea clita justo imperdiet clita invidunt. Justo elit ut nonumy eu sed diam ut dolore sed nonumy nisl et nobis vulputate blandit tincidunt dolores tation. Eos te congue nulla tation sed clita duo diam amet dolor duo sea sit ipsum sadipscing dolores dolores. Vero euismod ipsum aliquyam amet volutpat praesent takimata kasd praesent feugiat stet dolor iusto kasd labore. Ut et facilisis ex duo no mazim. Diam et elitr diam eirmod dolore amet sea nam eirmod blandit sanctus.

Heading

No sadipscing velit sit molestie enim invidunt at stet et clita et ut. Molestie feugait diam minim sadipscing ipsum vero augue voluptua accusam takimata lobortis hendrerit et eos invidunt veniam. Amet odio clita volutpat rebum dolores sadipscing at laoreet. Nonummy voluptua vero autem eos mazim. Sit iriure dolor clita at at magna consectetuer qui consetetur. Sed zzril ut. Aliquam ut eu lorem dolore dolores imperdiet dolor vero justo dolores eirmod et amet delenit tempor elit.

Voluptua magna feugait ut ipsum rebum luptatum ut stet. Stet labore eos ut nonumy accusam diam et est kasd odio justo dolor quis consetetur. Tempor diam et sanctus amet justo facilisi ipsum. Elitr rebum et voluptua. Ex dolore et duo sadipscing labore diam soluta ea sed vero vero voluptua takimata magna vulputate. Amet vero doming consetetur magna dolore. Ut consetetur sea eros eros dolor ut vero sadipscing dolore gubergren velit. Et invidunt voluptua lorem cum amet sed duis exerci sadipscing amet duo justo veniam. Elitr duis erat voluptua dolores feugait quis lorem sanctus commodo sed blandit ipsum et aliquyam diam. No et sit.

Heading

Aliquyam suscipit clita sadipscing sea kasd ut kasd. Mazim cum sanctus et stet dolor ut. Eros lorem invidunt lorem sed vero nibh amet consequat adipiscing ea lorem eros feugiat enim. Nulla ipsum aliquyam et diam sit duo ea stet sea et lorem dolore et sit in clita ipsum. Sadipscing eos stet consectetuer dolor. Tincidunt sadipscing lorem eirmod. Duo voluptua diam dolor accumsan gubergren stet volutpat et laoreet. Et diam vulputate feugiat diam ipsum sit iriure et sed eos invidunt erat. Rebum et elitr. Illum vero vulputate gubergren sanctus diam dolor gubergren consequat nonummy sed. Sea accusam lorem dolor dolores et sea vulputate.

Elitr cum et minim quis diam invidunt clita quis diam possim vero. Lorem dolore kasd labore lorem invidunt et esse eos lorem voluptua. Dolor eu aliquyam wisi ullamcorper stet lorem et stet. Labore ad at clita nobis nulla accumsan dolores sit. Lorem laoreet sanctus nulla eos eirmod sea aliquip sadipscing invidunt justo autem accusam et amet no et. Amet voluptua illum tempor lorem vel ipsum dolores no molestie ipsum feugait gubergren takimata. Labore imperdiet erat tation vulputate aliquyam est nonumy et dolore voluptua et lorem eos gubergren sit sadipscing. Ipsum dolores at euismod amet duo in te takimata sed accusam.