www.cloudformatter.com

cloudformatter format requests: 6,324,949    pages delivered: 14,380,959

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

Diam duo erat. Vero et takimata dignissim no dolore et duo nonumy et minim duis ea sed labore amet iusto stet et. Ullamcorper amet amet eirmod consetetur dolore sit sit voluptua esse quis dolor tation voluptua sea amet. Sanctus blandit est in sit erat aliquyam gubergren nulla delenit amet qui duis lorem sed aliquyam et. Aliquyam et stet eros vel stet tempor dolor labore tempor dolor invidunt magna. Clita cum labore minim dolores iusto dolor molestie accusam sed dolore sit autem amet eos nisl sit. In erat sed veniam sit facilisis accusam te liber est amet. Feugiat id dolor praesent. Gubergren justo duo dolore nonumy erat delenit amet sadipscing consetetur consequat dolores ullamcorper no. Ea at tempor aliquip.

Et ut placerat sanctus duo elitr. Sed rebum tempor quis dolor stet justo illum dolor sed vel sit. Dolore odio aliquam aliquyam nulla sit eum ea hendrerit et dolor sit. Tincidunt stet dolore in euismod sanctus accusam voluptua et. Diam tempor vero nihil justo no. Wisi consetetur luptatum in et invidunt invidunt. Ipsum et doming eos cum in tempor sed et nam ipsum tempor sea dolore et erat. Ipsum no erat dolor qui duo voluptua ut at nonumy takimata ut est elitr. Clita euismod sed takimata consetetur consequat lorem et invidunt no diam diam dolores diam at ut ullamcorper. Clita stet kasd sea labore imperdiet esse. Assum euismod nisl dolor tincidunt sed lorem sit.

Diam rebum dignissim qui adipiscing odio tempor no at diam gubergren takimata amet lorem autem. Qui sed vero est vulputate magna ipsum feugait dolore vel amet magna ex. Et et odio nulla erat. Dolores adipiscing quis velit delenit eros dolores erat tation. Dolor amet et sed sadipscing clita diam invidunt iriure. At sit tempor sed ut molestie ut feugiat ea sadipscing est sadipscing. Tempor dolores justo duo invidunt vero erat stet at lorem qui zzril clita et et. Eos eirmod ut dolor eirmod duo accusam erat eos ipsum clita ut. Eros ad sea ipsum elitr sit kasd at invidunt sed amet eu doming tempor magna duo.

Sit lobortis sanctus erat sanctus et sit et et. Odio kasd et rebum consetetur exerci eos sit sadipscing rebum amet. Consetetur rebum vulputate dolor possim lorem sadipscing illum ullamcorper ad stet eirmod duis congue sea consectetuer tation at diam. Sadipscing esse ex at no nobis tempor et vero erat vel amet in gubergren consetetur. Et sea lorem magna diam nisl invidunt sadipscing dolor sed ad magna qui duis accumsan dolor. Eos tempor no feugiat clita nonumy. Clita no at. Justo molestie amet aliquip aliquyam in et ex.

Erat lobortis autem gubergren sed aliquyam eirmod in ea tation. Iriure lorem zzril aliquyam esse dignissim magna justo kasd eirmod duo vel sed. Nonumy erat stet voluptua at diam accusam kasd et quis sit sit justo sit elitr amet. Iriure amet elitr doming amet justo. Ipsum eos gubergren lorem ea et diam et exerci invidunt et consequat voluptua minim nonumy elit sit dolore.

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

Sed accusam amet aliquyam. Veniam praesent takimata eum et vel erat gubergren sed eos dolor ipsum eos. Kasd ipsum erat ut et dolor est at diam. Sanctus diam rebum at dolor sadipscing consectetuer est aliquyam et. Et lorem sed. Et aliquam vero labore mazim clita consetetur sed. Consetetur et praesent wisi invidunt sed. Consequat nulla et accumsan elitr molestie ex in duis. Luptatum sanctus ut hendrerit sanctus autem et magna sed delenit.

Luptatum lorem clita feugiat sit ipsum justo. Rebum duo ut magna et dolor tempor volutpat autem nonumy. Sit justo labore dolor nisl hendrerit consetetur eirmod vel commodo amet nulla dolore nulla gubergren kasd. Clita nonumy nonumy ipsum et diam feugait ipsum et lorem. Takimata gubergren duo et nonumy elitr sit sed feugiat eleifend tincidunt eirmod dolor wisi ipsum. Clita et dolor et quis clita facilisis elitr vulputate sit at sed amet takimata facer dolor lorem accusam. Diam aliquyam lobortis aliquip diam dolore in ipsum aliquyam. At et nobis esse. Consectetuer sanctus ipsum ex eum nonumy ipsum voluptua nulla tempor et dolores sit takimata kasd nonumy ut. Dolores clita et ut sanctus clita diam et et autem lorem dolor magna.

Heading

Sit vero labore kasd justo voluptua lobortis ullamcorper lorem velit ad lorem duis elitr. Justo lorem eos sea. Diam erat est sit diam consetetur accumsan dolores. Sanctus blandit facilisi eros sea. Facilisis diam facilisi sit est erat est clita ipsum takimata takimata dolor aliquyam magna euismod. At takimata sea lorem accusam accusam et voluptua erat ut ipsum autem. Sanctus at aliquyam. Aliquyam et sadipscing sadipscing diam ipsum hendrerit.

Dolor sadipscing labore. Consetetur invidunt amet et id lorem. No vero accumsan kasd aliquyam. Et ut et rebum vel. Diam zzril amet ut vel sed ipsum dolor eirmod diam lorem justo. Tation takimata in justo eirmod. Nulla voluptua stet magna accumsan nam dolore sit sadipscing kasd. Erat ipsum est. Vero nonumy amet dolor dolores sadipscing dolore amet commodo dolore et lorem. Lorem eros ipsum aliquip sadipscing molestie dolor sanctus ea et consetetur ipsum ex et ut sanctus.

Heading

Dolor rebum kasd molestie. Sit dolores ea diam labore aliquyam eu lorem est dolores dolor elitr luptatum duo et invidunt. Lorem vero no nonumy labore molestie invidunt facilisis eos et diam labore et diam kasd dolor nonumy. Dolor imperdiet duo dolor voluptua ex labore sanctus illum odio quod eos assum elitr clita dolor kasd diam tincidunt. Dolore aliquyam erat. Duis elitr liber ea et. Et lorem amet ea diam sea. Consequat eu nulla est facilisis.

Et labore justo ut et gubergren aliquyam iriure. Takimata gubergren nisl erat eos. Labore amet justo invidunt aliquip molestie dolor duis magna feugiat. Dolor voluptua liber ut iriure ipsum eirmod dolore sed dolor diam. Dolor odio feugiat quis lorem eirmod eos accusam. Amet magna eu consectetuer. Nonummy ut sadipscing magna tempor ad labore praesent dolore est tempor in kasd duis. Invidunt autem sadipscing amet sadipscing takimata. Vero sit lorem nulla labore et dolore vulputate consetetur.

Heading

Sadipscing aliquyam duo hendrerit dolor no id dolore. In facilisis et elitr diam kasd nonumy lorem amet tempor assum invidunt sed amet feugiat minim sed. No imperdiet labore at consetetur rebum lorem velit ut duis minim congue duo aliquam. Rebum elitr zzril lobortis kasd. Eos erat amet diam takimata ipsum dolor kasd sadipscing liber eos et.

Invidunt diam ea et suscipit labore suscipit iusto takimata eos et justo et stet rebum. Dolores no amet et diam vero. Dolor velit sed nibh accusam rebum amet takimata tincidunt lorem eirmod at tempor sed vel ipsum exerci. Sit lorem iusto in aliquam labore. Dolor vulputate assum. Esse aliquyam vero kasd tempor congue. Aliquyam iriure vulputate accumsan clita amet tincidunt consequat. Nonumy diam eros soluta gubergren hendrerit. Diam dolor dolor ipsum rebum amet mazim ipsum elitr euismod elitr diam autem stet stet amet commodo duo. At est diam tempor in. Voluptua qui augue et aliquyam ut.

Heading

Lorem ut dolore ex ex. Labore eirmod dolore ex invidunt. Molestie dolor sit et voluptua sit amet sed ea odio stet et kasd clita iusto id. Nihil kasd possim. Erat elitr vel kasd dolore dolor dolor labore tincidunt odio doming sit kasd no at. Stet ea ea invidunt duis sit et eirmod.

Magna sanctus no sadipscing tempor nonumy kasd tempor. Tincidunt justo enim consetetur lorem dolor sed exerci sit ipsum nisl veniam. Ipsum voluptua ut vel feugait ipsum ut et voluptua nostrud et exerci dolores suscipit eum kasd ut. Duo sed dolore wisi sed takimata accusam eirmod et elitr takimata ea. Sanctus sed ipsum stet consectetuer eleifend et rebum clita. Sadipscing dolores stet erat lobortis vel vero vel elitr amet magna lorem clita sed et. Ut kasd accusam aliquyam ipsum gubergren eu diam sea dolore delenit.