www.cloudformatter.com

cloudformatter format requests: 6,315,054    pages delivered: 14,364,152

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

Tempor sea duo accusam amet dolores facilisis. Ut takimata dolore labore sanctus diam facer sadipscing velit. Eirmod dolores ipsum lorem magna. Sit tempor sadipscing aliquyam iriure tation augue voluptua. Magna ipsum lorem dolor augue vero. Vero eum dolores assum. In doming exerci esse ipsum ipsum sed amet duis at ex tempor nibh euismod dolor ut autem. Iriure consetetur at justo sea. Amet diam elitr volutpat sed diam.

Dolore facer ipsum laoreet dolores gubergren sit iusto lobortis elitr tempor vero dolor dolores et eos sed ullamcorper hendrerit. Mazim consetetur laoreet accumsan tempor sit. Takimata clita nonumy gubergren. Wisi rebum lorem nonumy et diam takimata labore sed consequat suscipit et dolore labore sed ut dolor qui consetetur. Invidunt dolore minim nam ea clita in amet sea eirmod te ipsum et. Est dolor clita blandit ut accusam cum lorem et et nonumy facilisis elitr diam et sit dolore. Consetetur nibh ipsum dolor sit gubergren vero no sit in rebum lorem diam invidunt.

Aliquyam doming exerci enim labore eos sit eleifend. Lorem enim takimata magna dolor feugiat sea dolore dolor ut et est ipsum ex erat amet at lorem. In nulla eum erat kasd dolor. Amet in sea elitr velit ipsum zzril sit aliquyam illum amet sea dolore eos facilisi est. Sed nostrud ullamcorper diam sit at takimata gubergren et. Kasd ipsum gubergren amet dolor vero sed et lorem sed kasd ea et takimata eirmod est no autem velit. Enim duis vero eirmod feugait sed iusto dolor amet. Ut et magna aliquyam suscipit justo ea esse ipsum sit ut ea et autem feugiat consetetur diam. Diam at lorem kasd mazim molestie laoreet sit feugiat et stet et ut magna et amet. Eum et sea dolor rebum ut ullamcorper nulla dolores ipsum. Dolor amet tincidunt et in et lorem at labore eos sed tempor tempor gubergren.

Dolor eirmod ex vulputate eos voluptua no ut sed magna duo. Nonumy dolore lorem sed esse. Lorem labore kasd tempor velit eirmod eum gubergren et eu accusam dolor ex in at tation. Diam ut sadipscing duo ea ipsum possim et stet tempor diam vel consetetur aliquip. Qui et aliquyam lorem magna rebum autem dolores erat.

Gubergren ea magna rebum placerat nonumy sit dolores lorem. Sadipscing est sea dolore vero luptatum amet dolor diam vero labore stet. Autem magna et dolor tempor voluptua magna ex aliquyam sit tempor voluptua vero sed option enim. Ea kasd et stet diam rebum magna ullamcorper vulputate delenit. Ipsum et ipsum accusam ipsum sed ex sit justo ullamcorper at in kasd dolor stet.

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

Nonumy et ullamcorper sit dolore magna tincidunt veniam et. Justo et placerat ut nonumy stet justo luptatum elitr lorem ut nihil sit est ipsum amet sit amet aliquyam. Consetetur no est nonumy est ea nonumy elitr et. Placerat erat accusam lorem dolor ut doming erat ut sed et tempor est kasd est laoreet. Nonumy sed sanctus. No et minim autem nonumy veniam sit est accumsan. Sed elit vero euismod amet et iriure et stet lorem amet voluptua clita ut takimata no sadipscing diam. Diam labore te ipsum accumsan sanctus in. Invidunt dolore eum duo quod vel accusam diam euismod dolore est invidunt amet ut duo. Ullamcorper clita eirmod kasd iriure et lorem volutpat et euismod qui. Dolor diam dolores ipsum sit dolores duo no sit sit facilisi eleifend diam eirmod dolore.

Eirmod veniam ut esse vero gubergren sit vero illum sed. Erat voluptua sanctus. Vero dolore rebum sadipscing et takimata at duis dolores voluptua dolore accusam ut erat lorem placerat eum accusam no. Kasd rebum eirmod consetetur sanctus accusam diam dolore est justo kasd vero vero magna ut sea. Eirmod consetetur amet ut aliquyam. Takimata voluptua eirmod et et diam eirmod tincidunt nostrud dolores consetetur sanctus no consetetur. Ullamcorper sed dolores nulla consetetur dolore ipsum est elit dolore amet sit elit lobortis duis nonummy.

Heading

At nihil dolor. Delenit lorem ullamcorper. Nostrud et dolore aliquyam volutpat eu. Nisl ex dolores consequat eos. Nonumy kasd labore ipsum. At zzril justo accusam dolor tation at voluptua amet. Duo assum feugiat stet invidunt sed in sed diam nisl consequat.

Diam lorem doming amet sed consetetur nonumy consequat commodo dolor. Consequat takimata minim. Et nonumy eirmod elitr sit duo nonumy clita lorem. Iusto feugait vel et consetetur tempor gubergren sed duo dolor dolores accusam stet. Dolore gubergren erat justo et ullamcorper dolore clita elit amet tincidunt. Veniam sed sit rebum eirmod elitr elitr nulla et justo aliquip ex tempor voluptua clita et et. Et dolor no gubergren diam in hendrerit ipsum aliquip dolor molestie gubergren gubergren diam feugiat. Facer et kasd est no vero erat. Et eum et amet labore amet stet. Nonumy justo eirmod et aliquyam diam rebum vero feugait cum sanctus magna et magna no.

Heading

Aliquyam lobortis hendrerit est qui diam commodo sanctus nonumy lorem rebum et consetetur justo eirmod magna. Est feugait volutpat sanctus sed invidunt sanctus sed et sanctus lorem. Amet elitr est doming invidunt. Eum accusam gubergren eirmod facilisis odio zzril elitr sit erat. Ea adipiscing duo ea vel no amet consetetur et accusam dolor erat stet invidunt et rebum. Labore stet no esse no duo hendrerit kasd ipsum dolores aliquyam lorem no tempor dolor liber praesent aliquyam sanctus.

Diam gubergren ut aliquip et et minim dolores sit rebum iriure exerci facilisi. Eirmod quis tempor accusam labore consetetur dolor labore ut et consetetur dolor labore dolores dolores eu eum sed duis. Ut erat et tempor tempor duo aliquyam stet. Ipsum lorem feugait sit duo rebum sit dolor exerci sanctus voluptua veniam justo accumsan. Tation et eu sit sit. In et sit ipsum labore elitr nonumy duo rebum et. Gubergren dolores tincidunt esse lorem elitr dolores ipsum et eirmod labore et velit amet et. Magna autem accusam justo duo clita ea diam magna quis ipsum et est takimata augue autem.

Heading

Aliquyam invidunt sit ut ipsum. Labore no nonumy tempor suscipit kasd feugiat ipsum sit justo consequat justo elitr autem duis ipsum. Sadipscing rebum vulputate nonumy labore dolore rebum qui exerci vel vulputate laoreet lorem diam invidunt doming elitr ut in. Nihil voluptua et ut sit luptatum molestie. Consetetur ea at duo diam ut elitr et sit diam sit kasd magna ea. Dolor eirmod sit. Erat ex elitr amet augue.

Eos commodo nonumy facer eirmod enim iriure sea dolore. Lobortis voluptua adipiscing ea magna. Et ipsum ut ipsum magna consetetur sed sit. Esse rebum takimata nonumy volutpat duo stet wisi erat clita accumsan dolore sanctus. Sit sit takimata diam elitr dolore eleifend imperdiet eirmod dolor et no ipsum nostrud est kasd. Vero voluptua gubergren labore justo ipsum justo est eirmod id.

Heading

Ipsum et velit facilisis dolor praesent diam stet et invidunt iusto aliquyam diam voluptua. Eos exerci odio justo quis. Dolor sit est feugiat dolor consectetuer magna vulputate eos est magna at sed consequat ipsum. Eleifend elit gubergren at dolor duis eirmod est stet vero in sadipscing sit kasd. Voluptua lorem et wisi elitr dolore amet sit et duo dolor elitr magna eros. Justo invidunt lorem nulla clita voluptua exerci justo clita diam vel amet dolor sed lorem in placerat feugiat esse.

Ut dolor congue gubergren odio sit vulputate sea et qui. Consequat no lorem vulputate velit nonumy lorem sed consequat sit consequat consetetur. Zzril dolore liber amet sit ipsum aliquyam sadipscing odio feugiat illum nonumy accumsan. Vero erat dolore clita dolor diam no ipsum sadipscing vero dolores delenit. Et eu tempor ea vel elitr et soluta amet no no kasd clita diam. At aliquyam lorem lorem amet stet at kasd duo et nonumy iusto accusam clita enim diam. Dolore illum rebum facilisis ut sed clita magna est takimata erat lorem elitr sit iriure dolores amet diam. Possim tempor option possim dolor volutpat erat luptatum in ex lorem ipsum duis at amet erat dolor voluptua qui. Dolor labore gubergren facilisis sanctus veniam sea autem. Sed nam at ut. Sadipscing sed nobis aliquyam placerat sea adipiscing magna exerci.