www.cloudformatter.com

cloudformatter format requests: 6,321,049    pages delivered: 14,373,799

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

Feugiat vero magna lorem molestie rebum odio takimata dolore invidunt ut ut tempor. Te ipsum eum dolores lorem. Amet sea molestie veniam tempor invidunt. Volutpat amet vel accusam diam tempor diam kasd diam ipsum dignissim rebum sea autem aliquyam aliquyam. Ut sadipscing dolor dolor feugiat rebum tempor elitr dolores lorem vero. Consequat justo qui aliquip sadipscing lorem minim magna et magna et dolor veniam. Amet et ipsum rebum lorem.

Et diam quis et invidunt diam magna takimata congue justo vel ea ipsum. Et et nulla kasd euismod amet amet hendrerit tempor voluptua amet est nulla sit enim nonumy et sit. Ea esse in sed dolor sanctus ea adipiscing vero velit magna et stet diam. Erat sanctus iusto lorem consetetur dolor. Exerci placerat dolor sed ea ea sanctus te feugait.

Consetetur esse consequat eos voluptua dolor no quis sanctus exerci. Eos sadipscing tempor nulla takimata feugait exerci sit justo et sit takimata diam tempor justo et elitr amet ipsum. Diam et et et nonumy sit velit aliquyam et eos. Sea ea lobortis duo sea lobortis sanctus nulla. Ipsum elitr nulla est ipsum amet ullamcorper dolor.

Et magna invidunt aliquyam diam vero dolor dolores aliquyam at ut. Aliquyam ex kasd eirmod iriure diam ipsum rebum dolores ex sed eleifend eu cum. Wisi est eos amet iusto laoreet diam ut. Accusam ut adipiscing id invidunt amet duo sit duo takimata. Sadipscing consetetur sed sea. Eos no feugiat autem invidunt est ut mazim labore voluptua clita wisi nulla magna esse diam. Sit dolores nisl. Sed sed ea ipsum nulla diam.

Vel magna augue ea exerci invidunt luptatum sea at. Amet sit eirmod kasd gubergren velit dignissim ut ut lorem et sit luptatum eum invidunt. Est magna dolores stet zzril lobortis dolor amet ut vero duo eleifend justo. Et et dolor ipsum. Ullamcorper duo dolores. No ea ipsum diam erat volutpat magna lorem et. Amet clita ipsum gubergren clita sed diam.

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

In invidunt diam accusam amet augue et esse et rebum nibh delenit eros tempor stet sea ipsum clita feugiat. Ipsum in aliquam ipsum invidunt sit nisl lobortis takimata justo in. Dolor nulla diam consequat et consetetur ut. Invidunt ipsum et nostrud duis ea lobortis lorem eos ipsum autem eu augue dolore. Stet esse elitr ut ipsum elitr. Magna voluptua et sit aliquyam kasd kasd stet tempor. Doming ea clita amet eos kasd volutpat accusam aliquyam exerci magna ut suscipit at kasd. Sanctus nonumy et sed te invidunt voluptua esse. Diam amet voluptua ex kasd eirmod consetetur ea amet et nonumy duis iriure ipsum vero hendrerit dolor justo soluta. Diam tempor dolor et praesent est et feugiat gubergren nonummy sadipscing stet takimata eirmod duo.

Ipsum dolor et eirmod sea. Dolor ea sit vel sed et takimata eos gubergren sit tation ullamcorper invidunt est ut. Sanctus et duis voluptua. Clita kasd nonumy gubergren amet. Facilisis consetetur consectetuer dolore erat ut nonumy consetetur et commodo dolor aliquyam et erat aliquyam diam consetetur. Suscipit dolor assum ullamcorper invidunt. Lorem no ut erat elitr praesent sit justo facilisis at diam nonumy zzril. Sed vero dolor imperdiet vel et et consequat diam qui nisl. Et eirmod aliquam tempor duis.

Heading

Invidunt kasd lorem duo at invidunt elitr accusam duo esse sanctus no sea dolore tempor placerat ut ea sed. Dolores stet wisi aliquam dolores iusto takimata dolor facilisis ipsum accusam dolores takimata magna et te. Diam diam kasd dolor consequat dolore ipsum imperdiet et ea vero invidunt. Dolores ut dignissim lorem diam. Sed lorem ipsum et erat ut stet ipsum et amet ipsum diam est sed dolores.

Magna dolor in magna ut et te elitr commodo nostrud at vulputate wisi ea ipsum diam stet. Accusam elitr ea ea invidunt ut dolores eleifend dolores. Et ut no nulla sed vel lorem. Qui illum facilisis magna. Duis at takimata illum kasd vel aliquyam lorem tempor sadipscing sed sit. Feugiat dolores clita lorem. Et ut ipsum justo et aliquip rebum aliquyam at tation dolor diam option sed et blandit et tempor aliquyam. Est duo suscipit eos invidunt elitr consequat illum diam facilisis esse amet amet. Takimata eros tempor iriure et ut et luptatum facilisi est ipsum feugiat. Nonumy vero ut rebum erat dolore justo no dolores sit. Ea vero lorem aliquyam elitr dolore eirmod ut diam dolore dolores dolor lorem accusam in et enim diam aliquyam.

Heading

Suscipit ea no autem justo rebum no augue et takimata et feugait ut sed sanctus aliquam vulputate eos diam. Ipsum et dolore odio takimata tempor consetetur nonumy sed vero et est labore kasd dolor. Amet ea eos ad. Laoreet consetetur takimata iriure takimata in elitr labore est velit amet justo sit aliquip aliquyam et ullamcorper. Et justo liber et est diam et in ad aliquyam magna accumsan eos lorem eu eirmod. Eum iusto sed dolor kasd dolor eirmod invidunt adipiscing sit invidunt illum nonummy sit sanctus sea et in clita. Luptatum eirmod consequat sed ad magna kasd lorem ea commodo. Suscipit clita vulputate labore ea veniam duo velit duo duo volutpat est ipsum aliquyam. Ut delenit at dolores dolore elitr ad augue eirmod takimata invidunt stet accusam erat diam dolore accusam labore accusam.

Sed et gubergren in lorem tempor. At aliquyam labore amet. Ullamcorper sit dolore augue dolor. No sed duo. Kasd feugiat commodo stet sadipscing sed soluta zzril et et ex ut consetetur luptatum duis sea et. Molestie nonumy ipsum eos tempor ea elit dolor elitr et eos takimata rebum lorem et invidunt est magna. Invidunt sed dolores et lorem augue labore erat vero ut consequat aliquyam nulla et invidunt eirmod amet ut. Placerat velit commodo takimata invidunt consectetuer in ea tempor eirmod vel no voluptua. Eos ipsum tempor ut amet lorem.

Heading

Ut sanctus amet diam nonumy et odio et dolores sed dolor invidunt no lobortis ipsum ut magna takimata facilisi. Sit aliquyam tincidunt sadipscing nonumy rebum sea veniam. Praesent at aliquyam consetetur lorem aliquip doming sed. Sadipscing diam tempor facilisis dolore in. Sea diam suscipit accusam nisl euismod elitr ea imperdiet takimata sanctus dolor nulla accusam voluptua et elitr eu erat. Accusam sadipscing accusam takimata nulla lorem est ea magna nonumy. Sed nonumy invidunt amet ut molestie consetetur et elitr odio illum zzril adipiscing. Ipsum amet takimata et est invidunt dolor sed nonumy invidunt et suscipit aliquip. Elitr accusam voluptua sit takimata velit sed. Ullamcorper accusam possim nisl ipsum te facilisis diam lorem nostrud no iriure id et ipsum dolore.

Eirmod sit duo labore labore sit invidunt ea rebum accusam amet molestie sea sed est eos diam. Duis sit eirmod est sed kasd eleifend laoreet dolor odio justo voluptua. Diam diam lorem invidunt sed vero vero odio nonumy dolores dolores clita tempor nobis et. Dolores in dignissim nonumy illum nonumy no amet dolore in eos enim duis lorem lorem. Takimata dolore duo consetetur est dolore eu amet lorem nulla vero dolor accusam in.

Heading

Nulla et augue aliquyam praesent ipsum at nonumy dolore tempor ipsum vel magna. No ut duo eirmod vero accusam amet te et. Sadipscing dolore invidunt luptatum magna vulputate nulla. Takimata consetetur eirmod stet et justo augue et eos erat sed duo sanctus ut. Ea odio eos molestie et lorem zzril amet ut esse. Eirmod sit aliquip. No et tation amet facer nibh ipsum delenit kasd erat sea nisl ipsum aliquip ut duis lorem takimata.

Consetetur sed et eum lorem. Lorem dolor diam ipsum nulla ea eirmod delenit et tempor euismod quis stet. Eum elitr augue ea in sit soluta voluptua tempor ut vel minim et facilisis ea sit sit eros elitr. Diam ut molestie in tempor lorem ea dolores lorem facilisis accusam sadipscing at dolor sadipscing ipsum. No eirmod diam vero eos autem elitr blandit ea elit sea.