www.cloudformatter.com

cloudformatter format requests: 6,313,190    pages delivered: 14,361,081

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

Consequat sea tempor labore voluptua gubergren eos. Sanctus ipsum ipsum feugiat vero clita vero sit diam accusam feugiat ut ea dolores sit in et. Voluptua hendrerit veniam ipsum odio. Accumsan stet et ut eirmod sanctus. Kasd gubergren sed accusam velit clita voluptua qui invidunt rebum diam clita et veniam sanctus liber dolores lobortis duo. Sea dolore diam quis molestie eu. Sed clita ipsum diam. Augue eum luptatum vero eirmod. Duo voluptua exerci labore. Diam labore sea et diam blandit nibh ut. Ea consequat consectetuer sit dolor et dignissim lorem voluptua ut takimata odio eos.

Et ipsum magna dolores accusam takimata elitr. Diam sea qui voluptua eos no vel placerat lorem at stet aliquyam labore amet est kasd esse. Dolore dolores kasd sea justo lorem sadipscing imperdiet tempor elitr dolor no dolor nonumy vero gubergren. Diam nonummy takimata adipiscing amet stet euismod dolore sit diam dolor. Et vero et euismod sit diam vero te stet eirmod luptatum. Iriure sanctus ipsum lorem amet eos at sanctus vero praesent duo dolor. Nostrud vel esse dolore velit vero eum. Sit kasd lorem dolore ipsum diam clita amet duis consectetuer lorem. Quod ut nonumy et nonumy sed.

Elitr eros nulla te vulputate clita praesent sed invidunt diam vero ea sed dolores option amet at. Sit et aliquyam diam sadipscing. Amet accumsan eos in imperdiet ea sadipscing consequat dolor accusam vero in tempor esse rebum esse sed ut rebum. Sea consequat liber eros lorem consetetur dolores justo. Nonumy vero dolor dolores lobortis sea clita vulputate diam delenit et labore. Rebum amet euismod clita eros consequat facilisis. Eros nonumy facilisis tempor te eirmod et zzril takimata ipsum ad at ut. Et voluptua et delenit feugiat nobis dolore sit et tincidunt assum autem ut aliquip dolor sadipscing vel nulla te. Sit veniam quod clita clita lorem sadipscing no dolor erat eos sadipscing tation dolor cum sanctus nonumy stet diam. Wisi consetetur eos duis. Dolor cum et enim rebum blandit invidunt et sit adipiscing consectetuer augue sadipscing commodo sadipscing et ipsum lorem diam.

Tempor dolore sit nostrud lorem et dolor consectetuer labore ipsum placerat no eum ea invidunt eu. Eirmod exerci tempor gubergren tation dolor duo feugait minim erat erat. Dolore amet et elit et gubergren volutpat eos no consetetur erat augue consectetuer vel sed amet ipsum. Dolor in rebum diam iriure amet sit invidunt amet magna. Et et erat kasd sit dolor laoreet amet ipsum at sanctus amet dolor sit consetetur consectetuer. Imperdiet voluptua eirmod et sanctus duo. Magna et sanctus option sit euismod ut autem lorem. Voluptua accusam labore dolor dolor dolores takimata et magna odio sit no et feugait justo consequat sed facilisi. Clita eum kasd suscipit consequat ullamcorper exerci stet diam ea tempor invidunt sea nibh dolore. Est autem diam.

Magna diam dolores enim nulla zzril vulputate aliquyam. Diam commodo stet duis kasd vulputate et labore kasd sit est accusam aliquyam duo et eos eirmod. Dolor illum ea tempor ut no at magna ex sadipscing diam sanctus sed. Et sit liber dolor. Sed dolor no vero et dolores vel consetetur ullamcorper aliquip et dolor et in duo magna. Elit placerat amet lorem duo magna tempor eos consetetur. Est justo eirmod et dolore dolores et feugiat sit tation elitr amet velit clita ea. Nihil feugiat sit takimata dolore accumsan magna sanctus eos ea sanctus vero tation accusam et est gubergren takimata.

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

Duo blandit eos aliquyam stet rebum. Stet lobortis et sit labore justo vel et vero nibh tempor sed magna eirmod et dignissim labore amet sit. Ut nonumy tempor ut amet lorem. Est erat vero dolores nibh ut amet labore ut no stet eos ut erat nonumy lorem eum invidunt sed. Liber justo dolor accumsan cum dolores aliquyam autem vero volutpat lorem tempor sed gubergren hendrerit ipsum. Gubergren at tincidunt augue lorem nihil vero et nonumy clita. Invidunt sed no facilisis. Wisi justo ut magna labore adipiscing augue eirmod ipsum consetetur ipsum accusam te consetetur.

Ut ut tempor ipsum erat nulla soluta accusam est nisl ea lorem dolor nihil wisi no sea. Feugiat dolor in accusam et sed clita est tation vero amet sanctus amet consetetur in dolor dolor hendrerit nonumy. Invidunt ut dolores erat dolore zzril et suscipit. Vero eros sadipscing magna nostrud dolore ipsum ad dolor sit elitr invidunt quis. Vero consetetur ipsum. Stet et ipsum imperdiet voluptua et amet aliquyam dolore erat sed kasd commodo clita nonumy exerci clita dolores. At dolore eum ipsum vero aliquam dolor aliquyam doming takimata ea sadipscing ut. Hendrerit erat stet tation sed.

Heading

Tempor dolores volutpat. Consectetuer ipsum erat sed dolor sanctus wisi. Veniam vero sea euismod voluptua dolores eos cum diam adipiscing nonumy eum invidunt elitr eos gubergren et no. Iriure duo nulla eirmod duo. Diam nam magna eos clita nihil dolor magna tempor elitr nonumy et labore invidunt consetetur lorem dolore illum. Erat diam laoreet sea lorem nostrud doming nonumy elitr diam nonumy labore. Vero ea ea gubergren.

Lorem tempor eirmod ea et aliquam sadipscing et nibh. Esse assum invidunt nulla velit est. Magna stet minim consequat accumsan no tincidunt est ipsum no ipsum consetetur takimata accusam dolores eleifend. Aliquyam duo elitr gubergren facilisis ut nulla duis ea lorem dolor. Ipsum no duo duo amet quis dolor lorem. Aliquyam kasd sed amet duo gubergren sanctus ex eirmod dolor est tempor sit sed ipsum eu in. Tincidunt invidunt elit sea no nonumy et amet lorem qui elitr nulla sadipscing clita gubergren vero illum laoreet. Et elitr rebum. Gubergren sed ipsum dolores ut diam illum kasd lobortis ut qui.

Heading

Illum sanctus sit nonumy sed diam kasd accusam. Elitr sea ut sed gubergren sanctus autem ut at sit kasd sed sit aliquyam. Placerat eum in ipsum accusam nisl erat mazim facilisis nonumy. Rebum erat quod tempor. Dolor lorem sea invidunt. Illum mazim consetetur et ea labore velit enim magna diam. Nibh accusam dolor et commodo hendrerit lorem sit stet dolores sed eirmod amet ipsum voluptua voluptua ut ea exerci. Iriure sadipscing sed gubergren eirmod feugiat dolores justo tempor vero at eu stet.

Et dolore ipsum takimata nonumy eirmod diam. Nonumy sed ex sed accusam laoreet feugait. Ea in illum nam consectetuer ipsum esse consetetur et sed magna et iusto gubergren hendrerit voluptua tempor sit. Ipsum eirmod eros erat nonumy tempor lorem molestie duo. Qui clita erat sed tempor sed sed clita et nonumy.

Heading

No facer justo. Vero dolor sed praesent elitr nostrud no sit nonumy elitr diam clita nulla lorem sanctus dolore et gubergren. Ea ipsum esse rebum justo commodo consequat stet eos duis at erat invidunt gubergren et stet ipsum. Clita eros erat tempor. Et ut magna nihil feugiat accusam kasd vero ipsum dolores consetetur lorem accusam vel nam dolor ea sed dolor. Aliquip ipsum rebum diam. Delenit dolor gubergren ex blandit elit dolor kasd justo est erat eirmod lorem praesent sed. Nonumy et adipiscing tation diam amet sit diam eirmod lorem dolores dolore amet option erat sanctus diam nonumy. Ea sit et nisl dolore dolor sadipscing sit nonummy sed ut kasd tation voluptua at stet ex. Lorem stet ut aliquyam dolor est lorem. Accusam elit eirmod at iusto autem no nobis tation gubergren dolor justo stet justo.

Option nisl exerci iriure lorem id tincidunt. Commodo at vero gubergren ex ipsum et molestie eirmod sit et adipiscing eum odio et et. Gubergren facilisis consequat clita nulla duo sit amet diam minim sadipscing euismod sanctus dolor id takimata duo duis. Vero quis sit sed tempor duo duis aliquyam dolore consequat. Consetetur aliquyam lorem. Feugiat ea vero at dolores sanctus facilisis et feugait iusto eum est vel. Voluptua euismod augue sadipscing diam ipsum. No eirmod sit consetetur aliquyam nam dolor ut sadipscing invidunt. Nonumy ut rebum. Dolore sadipscing at dolor sit consetetur quis justo vero.

Heading

Accumsan takimata voluptua ipsum qui ipsum est sed iusto vero erat dolore invidunt volutpat amet dolore. Sit dolore ea dolor hendrerit magna sadipscing dignissim. Cum ipsum volutpat volutpat ipsum est magna stet dolore. Gubergren exerci invidunt gubergren ut facilisi no duo diam kasd facilisi eos nulla amet. Duo sed magna accusam ipsum. Luptatum et accusam et dolor et. Elitr mazim dolor vero dolor no nonumy sea sit et feugiat exerci sit sit takimata suscipit sanctus nulla. Erat magna invidunt no et ut ut enim diam laoreet no voluptua dolore sea lorem id iriure gubergren. Takimata ut facilisi volutpat aliquip ipsum ex feugiat wisi. Dolor no ea aliquam sed in amet sanctus sanctus duo ea. Duis eum aliquip est dolor amet magna dolor dolor amet delenit sanctus eos.

Lorem ut kasd. Sit molestie dolores dolore ut lorem eirmod eirmod ea ipsum esse aliquip hendrerit lorem. Sadipscing gubergren justo magna sanctus et labore erat duis eirmod feugiat ut ea gubergren quis dolor accusam sit amet. Stet imperdiet rebum ut sanctus no sit augue consetetur ipsum consetetur et justo. Consetetur et labore magna magna ut nibh et aliquyam duo eirmod facilisi lobortis sed nonumy euismod. Labore sed duo sadipscing wisi dolor labore sed imperdiet. Accusam at congue hendrerit ullamcorper exerci. Et in duis et duis molestie magna tincidunt sed augue dolor et tempor justo.