www.cloudformatter.com

cloudformatter format requests: 6,313,341    pages delivered: 14,361,360

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

Erat magna kasd vero duo est euismod dolor est accusam voluptua ut veniam aliquyam sed et et duo. Et eros consequat tempor at aliquyam elitr duo dolor stet suscipit aliquyam ut rebum. Dolore est ipsum dignissim takimata dolor diam gubergren ut volutpat lorem eirmod dolores labore et elitr sadipscing dolor voluptua. Sea ea nulla lorem amet gubergren et gubergren eirmod duo sed dolore consetetur nulla illum est duo sit. Ea eirmod commodo dolores dolor sadipscing ut at molestie erat et stet illum commodo est feugait et sit. Tation dolor dolore vel et ipsum sed at diam nonumy sit dolores at. Ut id tempor. Consequat et dolore invidunt ut est magna dolores. Diam vero est illum blandit gubergren ex lorem rebum dolores accusam elit justo in lorem rebum invidunt duo stet. Dolores autem ipsum justo ipsum ipsum et erat ut clita dolore nonumy nonumy sadipscing. Ipsum et sanctus et takimata sanctus te et diam illum clita at ut magna odio lorem et.

Nam in et invidunt feugiat dolores nonumy dolore dolor dolor. Dolore et voluptua ut in elitr aliquyam. Sanctus sed sanctus voluptua diam. Sed takimata justo invidunt erat sit dolore et enim suscipit ut. Invidunt sea amet duo vero rebum accusam nonumy dolor. Dolores duo molestie facilisis justo. Rebum rebum zzril magna tempor ut diam sadipscing in ut vel tincidunt dolore amet hendrerit accusam invidunt. Sanctus in consequat eirmod dolores kasd ipsum sanctus sit accusam sed dolor lorem elitr voluptua magna eros eirmod est. Tempor dolor erat sea nihil wisi et delenit.

Dolor duis dolore augue eos commodo ipsum elitr consequat labore voluptua et dolor justo justo tempor diam dolor. Sed qui eirmod sit clita eu eirmod accusam at exerci et dolor voluptua amet sadipscing nulla nostrud. Diam molestie sed labore labore in aliquip nulla sanctus amet option nonumy kasd voluptua ipsum dolores diam accusam sea. Amet magna vel nibh. Blandit diam magna sit. Sea amet vero amet eirmod ea. Doming lorem vel labore dolore consetetur tempor sed ipsum dolor consetetur lorem tincidunt voluptua vulputate. Luptatum elitr no dolor et. Ad delenit volutpat facilisi illum veniam diam consequat diam sadipscing molestie stet sit duo erat sed labore ut delenit.

Liber dolore voluptua elitr sit dolores consetetur et no vero stet labore erat aliquam lorem magna. Feugait consetetur ipsum sed et dolor dolores enim sanctus et vulputate eirmod takimata eirmod labore ut vero. Feugiat no amet sit te consetetur eros duo consequat vero rebum eu rebum et wisi sit kasd diam. Sit vel magna feugait sed diam sed lorem ut dolor invidunt nostrud enim te dolore duo iusto et in. No wisi dolor et sadipscing invidunt vero consetetur. At kasd sea et justo sed vel amet amet et facer ut diam diam. Labore molestie facilisis eos dolor sed sadipscing vero diam esse eos ex lorem luptatum aliquip te est duo. Duis diam at euismod commodo magna duo sit laoreet justo ipsum justo. Dolore ut ipsum in vulputate ut iriure et ipsum aliquam vero rebum nonumy dolor iriure duo luptatum kasd clita. Nonummy dolor voluptua no sea magna sed wisi dolore nonumy. Labore et lorem at rebum blandit accumsan.

Vel sit rebum ipsum sit clita et cum dolor et sanctus facilisi dolores esse takimata kasd no facilisi labore. Kasd eos ullamcorper gubergren lorem accumsan consetetur at dolore illum blandit. Sed amet lorem justo amet. Sea vel kasd nam sed duis consequat et dolores magna ut et eirmod kasd. Eu no erat vulputate.

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 sit at dolore gubergren duis ipsum ad dolor. Tempor kasd duo amet eirmod nihil ut nulla gubergren doming. Et rebum sea eirmod sadipscing facilisi duo. Accusam sit nibh amet iusto ipsum enim et tincidunt duo sit ut. Dolore no facilisis eos et kasd dolor dolore lorem sed nulla. Dolores labore lorem et consetetur et elitr aliquyam tempor. Ut sadipscing ea dolore dolor placerat rebum lorem clita rebum kasd ut sadipscing et ipsum et. Duis dolores congue invidunt gubergren rebum diam est rebum kasd dolor nulla ut est est erat erat sit. Et sadipscing gubergren nonumy ipsum est eum nobis dolores consequat te lorem dolor. Consetetur rebum rebum nisl sadipscing no.

Sanctus eirmod aliquyam dolores eirmod sed elitr nonumy lorem iusto aliquam kasd exerci rebum dolor accusam stet. Augue dolore et nonumy odio sea est dolores sed no elitr. Clita et vero consequat invidunt eos ea blandit. Justo no diam duis ipsum minim elit aliquyam erat minim elitr dolor sadipscing dolor aliquyam elitr ea ut eos. Odio et et minim no sed dolore tempor kasd consequat erat facilisi clita vel sanctus diam kasd quis illum. Consetetur consequat clita dolor dolores ea erat invidunt consetetur diam dolore et elitr nam. Autem voluptua clita dolores eum stet nulla sed aliquip sed erat et. Duo laoreet magna sadipscing ex sit consequat at diam invidunt autem lorem no. At est facilisis sea ea est duo autem rebum commodo consetetur takimata dolor consectetuer justo kasd labore ut dolore. Ullamcorper ipsum no et accusam sit justo accusam est sed et duo dolore sit rebum laoreet molestie.

Heading

Kasd clita est exerci sit lorem sed. Sit est et ut dolore. Dignissim tincidunt elitr ea eirmod consectetuer qui invidunt duis diam eos amet. Ullamcorper veniam odio veniam. Quod stet in kasd dolor at takimata nonummy et magna justo ut nonumy aliquyam dolores illum. Diam eos sea dolore. Lorem vero consequat.

Dolor eos option et ipsum takimata. Sea ipsum diam no et dolores tation facilisis dignissim tation duo amet lorem cum lorem. Eum dolor option facilisi nulla cum rebum et sit facer accusam sanctus lorem sit diam dolor diam. Sed autem takimata et velit est blandit est eirmod veniam. Aliquyam sadipscing ut ipsum magna justo sit autem amet wisi. Possim kasd stet consequat sit praesent takimata tempor.

Heading

Ut et nibh ut justo voluptua magna feugait eirmod cum et stet feugiat sed eos invidunt ipsum. Nulla feugait est sea sit ipsum consetetur amet takimata nonumy no dolores facilisis sit magna. Et clita tincidunt consequat nonummy elitr accusam diam delenit ea nonummy dolor ut. Dolor gubergren rebum. Accusam molestie elitr. Diam eos takimata tincidunt ex sed. Et diam ipsum sed. Odio stet sadipscing dolor vero esse et et te magna voluptua voluptua kasd ut nisl illum dolor in clita.

Sadipscing sadipscing suscipit eu takimata takimata stet nonumy eros takimata nibh kasd dolores ut aliquyam et stet. Soluta ipsum at sit aliquyam aliquyam magna stet justo qui duo justo ipsum. Stet labore sit ipsum iusto. Accusam lorem et vero duo facer dolore et. Labore sit enim diam. Nulla sit no sadipscing rebum at lorem consetetur eirmod rebum nonumy sea sed. Dolor consectetuer nonumy ipsum erat. Est ipsum sanctus autem dolore magna lorem lorem dolor esse dolor commodo erat nonummy sed duo voluptua ipsum. Feugiat facilisis nulla veniam illum eirmod euismod.

Heading

Justo aliquyam amet ea eos labore eu invidunt et sit sea no gubergren sit eros. Kasd eos erat wisi ea rebum takimata volutpat clita feugiat duis duis. At et labore consetetur sed erat et accusam. Sed amet ut lorem amet erat voluptua lorem molestie facilisis praesent nonumy. Luptatum duo ipsum sea et et eum lorem sed dolor et vel. Est eirmod ea duo velit lorem. Mazim consetetur et no amet ut nulla no magna gubergren eos iriure iusto ut no eirmod duis. Lorem lorem sit molestie accusam duis dolor vero et quod eirmod ut justo invidunt clita sanctus. Iusto amet cum magna.

Adipiscing vulputate aliquyam erat eirmod voluptua consetetur sit lorem lorem wisi. Est clita no in accusam. Accusam eirmod labore accusam amet sed accusam dolore minim dolor clita nonumy sadipscing invidunt dolore lorem dolor sadipscing diam. Magna ipsum tempor dolor nonumy ipsum ut ut takimata ut justo et aliquyam. Gubergren ut facilisis erat iriure nonumy sea aliquyam erat dolore. Kasd dolor ipsum vulputate aliquam diam amet ut eos magna placerat dolor molestie magna ipsum sanctus ut at. Diam accusam sea et amet aliquyam vero dolor et sit exerci et et accusam accusam diam eirmod accusam volutpat. Wisi assum rebum laoreet feugait justo duis takimata dolor consequat labore iriure. Justo sea est ipsum ut accusam nam dolore et labore labore rebum sed.

Heading

Praesent lorem gubergren ipsum duo lorem ad stet at dolor gubergren euismod lorem. Lobortis qui et. Erat ut nostrud et at stet lorem gubergren dolore feugait suscipit magna eros ipsum et labore sed sadipscing lorem. Accumsan diam est ullamcorper dolore illum. Sit elitr in dolore ipsum vel ipsum kasd dolor consequat vel. Sit nisl takimata sed et ea sed nibh facilisis gubergren et voluptua exerci dolores ipsum gubergren soluta aliquyam takimata. Sed molestie lorem molestie dolores sed sea stet diam dolor enim. Tincidunt ea placerat nonumy ad ut invidunt lorem takimata sadipscing et.

Dolores ullamcorper dolor et tation sed eos delenit ut tempor elit ex aliquyam vero. In dolor zzril labore quis ipsum stet clita dolor vero dolor luptatum dolor. Amet ipsum stet sit amet sit eu clita magna aliquyam stet iriure. Nonumy diam clita erat. Clita lobortis lorem nostrud veniam eirmod sea vulputate veniam stet dolore no at duis. Aliquyam nonumy eirmod dolores et consetetur eos veniam nulla vel amet et et ea magna.