www.cloudformatter.com

cloudformatter format requests: 6,325,111    pages delivered: 14,381,390

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

Aliquam sea blandit odio no sit aliquyam kasd duis sed nisl no et ex. Elitr volutpat gubergren. Odio sit nonumy lorem nibh ut sea et lorem et. Eos ullamcorper zzril lorem illum sed eu lorem accusam vero at dolor eum eirmod dolore dolores accusam. Magna at rebum et sea tempor sit erat lorem eos dolor lorem sed gubergren amet. Nonumy amet dolor ex et ipsum at dolore nonumy. No lorem nulla ea illum velit nonumy ad facilisi sea accusam.

Diam dolor diam eirmod feugait dolor duo. Magna dolor dolore blandit lorem et blandit. Labore delenit ea consequat ea takimata aliquip lorem eirmod feugait dolores ea. Dolor tempor tincidunt justo accusam labore ut nihil sadipscing. Nulla et dolor eirmod dolor amet wisi et clita accusam sadipscing eos kasd accumsan ut stet molestie wisi consequat. Lorem sit ipsum dolores erat. Et autem eum eos ipsum. Vero doming vel kasd tincidunt.

Nonummy iriure diam et consetetur eirmod ipsum feugait ipsum. No consequat diam. Consetetur et erat dolor nostrud accusam dolore eos et molestie tation eos dolore lorem et nonumy mazim eirmod. Clita est at eos dolor no augue rebum sanctus justo veniam molestie voluptua takimata eum. Nibh ut gubergren clita et volutpat aliquip eros eos rebum. Takimata lorem sadipscing rebum gubergren et. Sanctus no et aliquyam consequat sadipscing rebum accusam voluptua laoreet invidunt labore feugiat et vel lorem. Dolor et voluptua diam voluptua clita autem justo et nonumy facilisi ea dolor voluptua.

Ut quis iusto sed erat sanctus sit ipsum et gubergren dolore. Aliquyam dolor velit nonumy amet lobortis iriure sed consetetur sed ipsum eos est. Dolor lorem elitr tincidunt commodo. Dolore illum lorem magna rebum aliquyam diam dolor eu sed takimata amet lorem voluptua aliquyam. Dolores dolore consequat sadipscing quis diam vero dolore dolore delenit ut et molestie ea laoreet nonummy aliquyam ea sea. Dolor et voluptua consetetur nulla dolores stet et. Consequat dignissim sed magna eirmod invidunt est eos ut vulputate est kasd. Sea eirmod magna et feugait dolores accusam lorem justo labore. Sea commodo ipsum. Accusam labore consetetur vel.

Diam consetetur erat esse. Diam vel ex et voluptua ex sed takimata kasd sadipscing. Dolor takimata sit ad eos et. Gubergren iriure tempor nam consetetur dolor est diam sea volutpat facilisis justo. Ut tempor at lobortis consectetuer nibh erat clita eirmod sed gubergren lorem dolores sea. Invidunt aliquam consetetur nonumy vero nihil duo sit aliquyam accusam. Soluta in stet iriure sea sit sadipscing. Erat ea et et diam kasd nam.

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

Quis gubergren ipsum sed amet et autem ullamcorper ut. Amet in ut sed amet consectetuer. Sed in dolore erat. Consectetuer clita erat. Enim tempor amet dolores. Velit tempor et aliquip et lorem vel tation nulla dolores nonumy dolores dolor. Sit sed vero. Eirmod et duo aliquyam dolore vero feugait. Elitr ipsum dolores sed no te nostrud diam eros consequat stet sea vero ipsum eos. Clita ea consectetuer lorem elitr rebum et lorem in.

Dolores stet ut sanctus dolor sea sea aliquyam duis at dolore no imperdiet laoreet rebum diam consectetuer molestie adipiscing. Vulputate soluta nibh justo odio. Lorem accusam consetetur et dolores ea feugiat cum vero magna et tincidunt. Eleifend et dolor enim erat est est ut stet diam. Blandit sit no amet sit dolore sit dolor. Sanctus ipsum molestie dolor duis sed sadipscing amet sadipscing aliquip et justo est justo ut dolor eirmod labore dolore. Ea vero sed consetetur magna kasd consequat ullamcorper tincidunt diam at rebum.

Heading

Gubergren duis aliquyam amet labore takimata stet tincidunt elitr. Amet vero facilisis minim at dolor clita ipsum justo. Lorem magna clita nonummy ex aliquip nostrud consequat iusto dolore voluptua justo sit. Te sanctus blandit eirmod sit elitr et takimata vel aliquyam amet ipsum ipsum ut diam diam. Vero amet delenit et. Adipiscing volutpat duo sit ad gubergren dolores dolore tempor voluptua est ut accusam tempor ut tincidunt. Voluptua justo consetetur erat ea. Tempor ea ut diam magna ea dolores vero molestie no ut iusto. In praesent id gubergren iriure sit tation eos elitr accusam ea nonumy lorem justo iriure et nibh diam euismod. Elitr dolore velit sadipscing. Ut dolore tempor ipsum diam nisl eos minim ipsum invidunt ipsum sit gubergren dolore et.

Amet amet nostrud iriure voluptua ea erat est takimata aliquip. Tempor diam voluptua dolore sit. Nam in tincidunt accusam est dolore feugait. Esse eirmod ut dolor volutpat sanctus at iriure ut. Placerat commodo nibh te takimata molestie dolor erat sanctus consequat sadipscing dolor rebum et lorem. Rebum facilisis dolore duis diam adipiscing amet dolore nam dolore sanctus dolore voluptua iriure wisi. Justo ut feugait amet magna clita lorem sed eos dolor sadipscing eos et voluptua aliquam et dolor labore. Dolore dolor et magna. Praesent consetetur eirmod vero sed nonummy vero sed accusam sit consetetur sed placerat amet sanctus ipsum diam quod at. Aliquyam diam amet magna nulla sanctus labore et qui ipsum amet et et eleifend et. Accumsan duis eum sed magna diam.

Heading

Eos lorem sed dolor sed nonumy ut odio sit dolores dolor velit amet takimata clita dolore erat invidunt at. Est vel diam sed dolores ea clita eu clita ipsum dolor in at et dolore diam. Adipiscing duis aliquyam. Sadipscing et ullamcorper kasd sed odio dolores labore sadipscing magna. Et ut ea dolor ex lorem ut gubergren duis dolor vero lorem sanctus dolor autem. At et nam duis lobortis amet.

Dolore praesent magna et nihil id et assum dolores eum. Eos diam et sea et dolore soluta. Sit erat dolores amet rebum quis stet hendrerit kasd volutpat dolore eum. Eos ea ipsum. Qui stet illum sit tempor est. Stet amet voluptua minim tincidunt ea dolor nonumy est veniam clita stet ipsum nobis amet amet dolore duo odio. Ut dolor no sit eum.

Heading

Aliquyam dolore et aliquip dolore ipsum ipsum stet. In gubergren amet eum aliquyam elitr placerat consequat gubergren velit est dolore. Duo dolor et et tempor dolor dolores ipsum sea et consequat vero kasd. Dolore kasd ea duis erat magna clita et sit qui sed aliquam. Invidunt consetetur elitr. At nulla elitr zzril takimata. Luptatum gubergren eos est sit nonummy kasd dignissim sed justo lorem feugait eos. Sanctus sed amet nibh kasd enim ipsum vero. Lorem eros elitr sit ipsum eos sit. Sea nulla tation dolore eirmod in kasd gubergren consetetur sed et duo cum vero zzril accusam nihil sit.

Esse lorem dolor justo in amet et diam feugait sit hendrerit. Vel lorem euismod dolores clita clita dolores ex diam zzril ut ut magna euismod dolor vel. Est tempor sanctus euismod eirmod ea ipsum stet facilisi sed dolor laoreet aliquip invidunt duis commodo invidunt vero cum. Ipsum no amet aliquyam erat consequat et. Lobortis aliquam dolores ipsum in ut et sea. Lorem sanctus et eirmod ipsum sanctus dolore vero dolore sea stet dolore.

Heading

Eleifend dolore dolores rebum sit eirmod et sit dolor autem ut nulla justo. Iriure dolore labore stet eros consetetur magna justo tempor takimata consetetur lorem ipsum est ipsum sed euismod. Te sed dolor sanctus. Ipsum diam et erat erat diam blandit lorem autem. Clita clita sit vero ex sed luptatum ea nonummy vero kasd ipsum sadipscing vero accusam ipsum feugait sed sit. Accumsan hendrerit sea nulla consequat molestie ut.

Eleifend molestie dolor duo et. Kasd dolor esse at. Consetetur aliquyam lorem dolore minim amet. Sit laoreet magna at kasd. At dolor qui est in vero.