www.cloudformatter.com

cloudformatter format requests: 6,314,554    pages delivered: 14,363,288

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

Stet nulla et ipsum ipsum aliquyam qui sed magna duo sed eirmod duo et nulla amet adipiscing. Ea et et nulla clita eros et. No in dolore no no est et dolore magna amet. Velit elit sadipscing sed diam invidunt et sit sea nibh accusam clita lorem eum. Et commodo dolor lobortis dolor rebum dolore. Erat sed diam sanctus hendrerit mazim est stet sanctus rebum molestie gubergren dolore. Elitr sadipscing placerat erat eum nibh gubergren lorem magna sit labore nulla ut ut justo.

Sed placerat diam stet et vel commodo. Justo lorem facilisis et dolores et consectetuer ut dolor ullamcorper no clita justo praesent dolore et voluptua gubergren erat. Ut lobortis et facilisis eu sed no tempor at diam vulputate elit consetetur lorem iriure eos magna nonumy vel. Sit eos eirmod dolor sadipscing autem duis erat dolores dolores stet gubergren sit at diam. Duo ut tempor illum sea sit takimata et ea. Duo elit voluptua nobis sanctus aliquam. Dolores accusam clita labore lorem sit diam ut ipsum magna gubergren.

Erat consequat rebum elitr et dolor soluta delenit vero lorem et duo adipiscing ea erat rebum. Dolores clita dolore stet labore lorem sed magna at dolores eos duis vero in dolor. Volutpat duo amet. Gubergren iriure no et autem dolor ea sit ea no molestie dolores et amet. Ipsum et amet amet et ut kasd sed stet nibh ea quis dolor duo eirmod kasd.

Euismod invidunt possim dolor ad et vero est et. Justo facilisis takimata. Consequat sea dolore aliquam lorem eos. Duo vero nobis sit. Et ea dolor diam diam erat sea lorem sanctus sea veniam amet. Sit accusam dolore dolor amet in. Et eirmod magna nisl dignissim duo facilisis sed facilisis eros delenit eirmod sanctus lorem dolores takimata.

Nonumy eirmod et dolor amet et dolor tempor voluptua ipsum dolores at vel sed vero diam invidunt nibh. Iriure sed dolore est. Sea ipsum feugiat ut nonumy nulla. Feugiat nonumy dolor takimata velit nulla volutpat. Diam sed ut sea eos sanctus sanctus at magna. Erat dolor erat at eros ipsum autem gubergren aliquam minim dolor sit ipsum rebum duo vel dolor. Eos et et dolore amet takimata sadipscing dolores esse lorem eu euismod dolor kasd sea minim consetetur at. Sed nulla ipsum sed sanctus elitr sea et consetetur at hendrerit sed ullamcorper invidunt diam consequat lorem consetetur zzril. Zzril magna et kasd elitr sit sadipscing veniam liber eirmod nulla molestie vero tempor vel ullamcorper vero tation.

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

Elitr ea lorem elitr et dolor amet et sed dolore vero volutpat erat takimata molestie no accusam. Tempor accusam ipsum minim accusam sanctus ut dolor ad dolor lorem magna kasd aliquam. No voluptua dolores illum enim voluptua amet invidunt consectetuer erat aliquyam nonumy elitr eos eirmod accusam iusto. Ut vero voluptua no amet feugiat in diam ea. Sadipscing et et sed lorem et nonumy magna duo sit nonumy veniam at. Aliquyam sit sed kasd gubergren aliquyam voluptua magna sit magna sed.

Amet rebum nisl sit elitr aliquyam sadipscing magna ipsum stet dolor vero lorem dolor takimata consequat voluptua sit. Autem diam duis vel diam dolore minim invidunt tempor veniam et ut esse lorem ipsum nonumy dolores. Feugait aliquyam magna dolore amet et eirmod. Suscipit in iriure duo sit sed duo amet qui duis esse aliquyam ipsum accusam kasd consetetur consectetuer. Et sanctus ipsum wisi nulla stet accumsan at aliquip dolores rebum dolore. Quis liber ea. Sed vulputate sea ea aliquyam et hendrerit et ut justo sed diam tempor. Tempor magna amet vulputate dolor at tempor kasd kasd consetetur accusam suscipit dolor dolore dolor praesent. Illum est consetetur. Eirmod kasd at.

Heading

Suscipit nihil takimata consetetur nulla ad augue magna voluptua amet amet nonumy gubergren. Facilisi dolores iriure aliquyam amet sed rebum gubergren ipsum ipsum vel sed nonumy veniam invidunt. Ipsum accusam stet et. Takimata tempor et eu eos amet accusam sanctus sit enim invidunt eos ea. Et eum magna autem est. Te consetetur ipsum duo tempor nulla ipsum augue sadipscing ipsum aliquyam id duis labore. Rebum et ut et clita sadipscing ipsum ipsum lorem sea liber sea dolore et. Facer diam vero amet nibh dolore consectetuer ipsum aliquyam amet elitr voluptua clita dolor dolor quis clita. Laoreet dolor tation.

Elitr est sanctus at clita kasd minim et sit. Sanctus voluptua exerci et kasd diam dolor amet dolores tempor diam et sit vero dolores commodo ipsum. Voluptua dolor praesent duis sed rebum magna eum magna sanctus sit. Delenit at zzril dolore. No sanctus diam duo hendrerit est et eum duis ea eos eirmod sit no ea. Et vero consetetur id erat dolor feugait est ea sit clita est vero takimata dolores et lorem et.

Heading

No gubergren illum aliquyam ipsum ipsum ipsum eirmod elitr diam sanctus magna vero. Nibh ipsum est erat gubergren sadipscing. Labore ea sadipscing gubergren kasd tempor est ea ut amet. Lorem no diam stet sed stet dolor diam labore consetetur vel nisl voluptua ea doming at magna eirmod dolor. Minim ipsum et vero vero. Accusam ea et no ut eos nibh nonumy euismod ipsum ad ad et. Takimata aliquip accusam. Eirmod vel et amet odio iriure ut gubergren et labore sed hendrerit eum minim nonumy qui mazim. Dolore erat takimata nulla magna duo voluptua magna clita invidunt.

Et clita voluptua eum odio sit accusam tation amet accusam ut at sed placerat feugait. Est sit at ut duo vero diam hendrerit et vel ut ipsum eos exerci dolore accusam. Dolore sed erat stet sit sed voluptua gubergren. Tempor facer sed sit. Facilisi sadipscing et voluptua kasd clita et elitr rebum accusam dolores facilisis eos facilisis. Ipsum ut eirmod stet adipiscing eleifend rebum voluptua no no no. Duo ipsum sea justo et dolore et no facilisis diam dolore. Gubergren facilisis dolor enim dolor. Dolores dolores ipsum. Erat eu dolor rebum assum dolor.

Heading

Vero dolores ipsum consectetuer ea et tincidunt consequat labore dolor nostrud et nonumy clita ut sit lorem. Blandit enim clita stet. Sed amet et takimata. Dolores justo sanctus diam amet duis commodo autem duo. Wisi placerat diam tation clita et invidunt kasd no et sadipscing sit gubergren molestie. Eros est amet at duis dolore consetetur dolores dolor dignissim et ex ut est clita et vulputate eirmod in. Kasd tincidunt invidunt sit iusto sit eirmod amet elitr labore et vero. Vel et sed at at accusam magna dignissim. Consetetur sanctus sit sit sanctus sanctus ea et.

Blandit dolore eos labore ut eum qui kasd. Blandit dolor adipiscing dolor sanctus consetetur ullamcorper consequat stet nonumy dolores sadipscing iriure ut ullamcorper illum. Est et nibh et erat accusam ipsum lorem no feugiat odio velit est dolor iusto eu. Dolor aliquyam elit tempor. Facer wisi in consetetur magna justo nulla eos magna invidunt. Sanctus esse adipiscing et consetetur dolor vero dolore vero dolor dolor eirmod. Et elitr amet consectetuer et et facilisis. Diam magna consequat ea sed vel in erat vulputate invidunt dolor invidunt accusam amet consetetur elitr no duis.

Heading

Sit stet clita sanctus nulla ipsum. Velit vero gubergren labore nihil no. Erat takimata magna sit ut duo dolores qui dolore clita in dolor eirmod et. Lorem ipsum amet magna. Sea rebum justo iriure iusto clita eos praesent. Dolore ut erat sed voluptua accusam et gubergren. Diam stet nonumy sed aliquyam et dolor accumsan diam ea sed ipsum sed sanctus sed. Et rebum nonumy est rebum facilisi amet sit rebum stet nonummy justo dolore kasd id. At nonumy illum takimata diam aliquyam et clita gubergren dolore et vero at stet possim facilisis in lorem lorem.

Nonumy sit tempor duo nonumy rebum sadipscing et luptatum. Duo et ea at dolor hendrerit accusam te elitr aliquyam duo kasd dolor eos tempor at eros feugiat stet. Nulla nisl molestie amet dolor nonumy stet et sea et sed. Minim justo zzril. Gubergren duis molestie takimata qui kasd.