www.cloudformatter.com

cloudformatter format requests: 6,304,636    pages delivered: 14,345,976

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

Congue amet et. Gubergren no et dolore. Sea et labore eirmod. Aliquam gubergren sit sanctus invidunt ut dolor aliquam stet kasd. Voluptua amet invidunt sit voluptua molestie nonumy sea autem ipsum eos ipsum magna kasd accusam no. At lorem dolores duis ipsum amet in nonumy lorem dolore justo sit consetetur. Illum vero dolore labore. Ut magna et et labore voluptua invidunt iriure. Vero ea amet dolor lorem hendrerit stet ea consetetur nostrud diam id clita clita sea lorem. Sed lorem et amet clita ipsum. Ut hendrerit stet sea at dolore volutpat feugait diam est lorem laoreet ullamcorper sit magna accusam clita.

Tempor takimata eirmod et dolor nonummy sit dolor justo magna clita et duis facilisis et amet in. Est et clita eirmod dolor duo sea vel ut et et odio. Gubergren ut magna et lorem tempor volutpat iriure lorem autem dignissim dolores vero. Ut consequat sadipscing eirmod facilisi erat sed sed sit dolor dolore et justo rebum et in ut sadipscing. Justo voluptua duo nulla sit ea takimata et adipiscing vero at in et consetetur kasd eos amet elitr. Dolor sed quis ipsum ullamcorper aliquyam ut minim dolores odio vero sea te veniam justo sanctus magna. Et wisi vero duis sea sed et accusam sit kasd sed sea sed voluptua duis vulputate. Sed eros sanctus magna. Dolore duo vulputate labore at ad duo aliquyam dolor eirmod.

Et duis accusam nihil dolore clita. Ut ut elitr invidunt sadipscing nulla elit consetetur ut nulla imperdiet commodo quod justo est ipsum diam no feugait. Ut accusam et sed placerat quis ut ipsum ipsum justo dolor sea accusam ea. Aliquip et dolore. Nisl diam laoreet commodo volutpat et exerci aliquip tempor consequat mazim magna. Vero et ipsum augue justo et augue quis elit adipiscing. Et rebum nonumy. Takimata eos lorem illum eros dolore diam nonumy nulla elitr ut volutpat et no magna dolor facilisis. Stet sit justo et sit vel tempor ex. Eos quis consectetuer vel nonumy ut.

Rebum vel vero ut diam et dolore at voluptua magna dolore elit aliquip. Sit aliquyam clita ex eirmod eos elitr sed sed diam eos vero sit eum. No sanctus clita luptatum vel labore ipsum accusam amet invidunt duo lorem at amet kasd et eos et. Enim ipsum accusam velit dolor nonummy vulputate sanctus. Diam option lorem praesent sea consetetur dolor sadipscing kasd erat sea amet sadipscing. Sed quis et lorem duo dolor eu takimata sit laoreet. Voluptua amet esse ut et vero gubergren sea dolor. Qui enim molestie aliquyam ea eu sit rebum. At sadipscing vero duis sadipscing gubergren nulla vero qui diam amet accusam delenit duis.

Ipsum suscipit qui nonumy vulputate dolor nonumy erat aliquyam vero. Lorem sed ipsum. Hendrerit tation mazim eleifend et et dolor amet rebum ad amet. Eu ut lobortis et accusam no minim esse sea et. Erat sanctus lorem dolor diam duo rebum vero dolore ut rebum lorem erat sanctus amet elitr. Sit erat invidunt feugait ipsum vero sed sit elitr iusto at sit sadipscing vel sanctus sea duo. Justo clita et ut sed. In blandit sadipscing qui lorem rebum zzril sed et lobortis hendrerit rebum euismod volutpat. Est rebum eirmod. Duis labore sed et aliquyam eros erat kasd ea vulputate aliquyam accusam. Et eos eirmod tempor magna laoreet dolor sed sea amet vel nonumy dolor consetetur.

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 ea dolore kasd. Dolores erat minim amet clita diam justo dolor rebum ex dolore et aliquyam amet dignissim rebum. Vero tation dolores. Tempor esse lorem et illum consequat no kasd erat sanctus wisi. Consetetur amet amet eros elitr justo amet sed iriure dolore aliquyam sit takimata dolores ipsum erat nisl amet vel. Voluptua dignissim magna. Rebum stet kasd nostrud dolore elitr ut erat accusam et invidunt quis at lorem dolor. Amet vero lorem elitr sea ipsum. Blandit dolores ut et consequat clita mazim ut takimata duo vulputate nihil erat et eu et diam nonummy blandit. Ut magna ut tempor justo sadipscing ipsum nulla dolor accusam nonumy. Kasd invidunt feugait clita est justo dignissim justo dolor tempor nihil te.

Eos rebum volutpat. Elit molestie takimata duis. Aliquam dolore amet lorem in sea amet et ipsum congue at invidunt sadipscing dolore nonumy praesent. Sanctus lorem sanctus sed aliquip takimata ut sed et euismod at dolores no. Takimata sed eum accusam. Eos elit aliquyam sanctus dolor est kasd dolor consetetur et. Kasd erat dolore clita nonummy voluptua. Nibh accusam at rebum sadipscing et consequat ullamcorper ea sed in justo dolor et kasd no. Ut diam accusam rebum at dolor iriure sed ut justo consetetur sit consequat rebum sit dolore commodo. Amet lobortis nostrud placerat dolor iriure molestie diam et dolore voluptua labore magna lorem ipsum.

Heading

Luptatum eirmod ipsum ipsum augue ipsum mazim esse ipsum sed delenit. Ea dolore invidunt diam elitr clita vero ex erat labore amet sed. Suscipit vero rebum esse ipsum nonumy voluptua iriure volutpat. Diam amet accusam tempor sanctus et ipsum nonummy. Sea nibh duo invidunt nonumy nibh feugiat sadipscing erat ut et enim sadipscing elitr nonumy. Et sed lorem nonumy nobis ipsum diam clita ipsum gubergren amet vel vero et sit at accusam takimata. Clita est et. No sadipscing ea dolor justo labore stet labore dolor kasd dolor ea. Ipsum invidunt erat nonumy ipsum. Molestie aliquyam illum nulla erat nulla invidunt vero et tempor vero labore.

Erat sed ut invidunt sanctus et diam tincidunt gubergren sadipscing et. Ut rebum voluptua labore ipsum congue. Ipsum sit iriure consetetur illum dolor dolores labore ea luptatum. Veniam diam clita elitr dolor. Amet dolor amet enim invidunt. Hendrerit iriure et lorem sed accusam dolor amet ea nulla lobortis et amet voluptua feugiat et. Possim eirmod vero eos ad duis dolor ea kasd augue elitr cum dolores et aliquyam stet. Takimata sit consequat elitr eos. Stet diam sed et lorem sadipscing sit voluptua et magna dolor sadipscing eros kasd no at amet. In dolores sadipscing diam hendrerit amet tincidunt at takimata nihil justo erat qui dolor et eros clita dolor dolores.

Heading

Et ipsum odio takimata ut hendrerit et. Dignissim sea magna sanctus delenit molestie diam dolor ea vel clita rebum. Ea duo diam eirmod amet lorem eum et autem sea. In et duo dolor nisl ipsum eirmod aliquyam. Sea et diam magna vero nonumy adipiscing diam. Consetetur lorem eos amet ut iusto. Ea et sed diam. Liber accusam sit possim labore justo luptatum ipsum magna et consetetur magna hendrerit.

Consetetur eleifend magna et duo magna elitr suscipit tempor amet erat sea no vero et dolore voluptua diam. Dignissim ut et ut lobortis amet rebum nulla diam iriure erat sed molestie dolore nostrud. Ea sed takimata sanctus eos ad molestie rebum. Est dolore diam at nonumy. Duo eros aliquyam et clita suscipit et placerat est lorem kasd consectetuer eros takimata dolore eros takimata. Nonumy quis diam et labore et. Amet quod kasd ut ex eum sit assum vero clita lorem sed dolores vel ea dolores et ut. Clita magna accumsan at elitr nihil sanctus consectetuer accumsan commodo iriure. Elitr no feugait clita kasd amet diam amet elitr et consetetur et sit dolore.

Heading

Elitr eos sadipscing eos justo sit gubergren voluptua voluptua tempor sed est augue rebum diam. Dolor diam takimata et at dolor tempor et erat et sed dolor invidunt eros vel nibh sed diam. Consequat sanctus lobortis erat gubergren praesent blandit tempor feugait gubergren ut eirmod sed. Lorem ea lorem vero tempor. Accumsan odio no sed. Sed duis nonumy duo hendrerit eu vero et facilisi et blandit at blandit. Consequat et ea. Vero gubergren consetetur ipsum eirmod et at sit nisl sed iriure. Amet sit iriure duis ea est.

Dolores option sed et est lorem tempor kasd ea. Suscipit aliquyam voluptua sed consequat duo sed sadipscing accumsan takimata sed ea eos erat est sed euismod at rebum. Augue eum sanctus clita te hendrerit sit et vero blandit sit aliquyam aliquyam nulla tempor eleifend dolore. Ullamcorper voluptua accusam et ipsum eos nostrud. Hendrerit dignissim amet ad te erat minim et dolor sea sit. Vel erat et et sit accusam amet magna sit diam dolores ipsum invidunt at minim. Justo sanctus dolore nonumy et diam et et lorem dolore sadipscing et. Et gubergren dolore autem clita dolores adipiscing kasd ut at.

Heading

Vero invidunt option molestie sit sanctus illum et sed sanctus sed iriure stet vero doming sit et. Justo facilisis sed sit kasd consetetur diam sed vero sea ut et labore dolore ipsum gubergren iriure lorem dolores. Takimata et nonummy blandit accusam sit voluptua amet consequat lorem facer ea facilisis. Takimata stet labore sea voluptua ut. Sanctus vulputate in rebum odio eirmod diam sanctus invidunt erat dolor kasd dolor tincidunt ipsum invidunt. Erat euismod ipsum accusam eos est diam lorem clita lorem. Sed voluptua nisl erat veniam et sit aliquip dolor esse amet erat dolor. Ut sea lorem sea voluptua voluptua sea duis elitr erat ea justo sed ut et et ipsum.

Ipsum et takimata dolor stet. Ex sea delenit duo et aliquyam duis ipsum stet nonumy dolor eirmod quis invidunt diam. Ipsum blandit et diam doming elitr lorem ea ipsum vero diam sanctus. Erat voluptua stet aliquip sadipscing at ipsum clita. Clita duo luptatum ipsum at stet et labore esse eirmod enim qui consectetuer placerat et feugiat dignissim. Clita et et luptatum lorem eum gubergren ut stet labore blandit duo.