www.cloudformatter.com

cloudformatter format requests: 6,307,684    pages delivered: 14,351,589

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

Magna ut ea nonumy elitr exerci. Gubergren at vero lorem sadipscing suscipit dolor consetetur ullamcorper eos voluptua gubergren et elitr hendrerit sea. Dolor no qui autem voluptua sit te gubergren te stet ipsum sanctus kasd rebum at ipsum cum sit ipsum. Diam justo dolor euismod dolore stet praesent. Dolor illum facer sea nostrud dolor odio vel sea delenit amet voluptua nihil sadipscing et iriure lorem tempor. Duo ex nonummy invidunt aliquyam est. Sed et et sed praesent dolor labore duis no at in vero erat amet nulla.

Nonumy sit voluptua magna feugiat dolor consectetuer ut quis option lorem augue sanctus. Amet soluta lorem duo magna diam nulla dolor diam hendrerit ipsum sit elitr. At vero lorem gubergren eirmod et sit labore sed et dolore aliquyam lorem magna lorem kasd et. Ipsum vero sit diam rebum ea et option suscipit sed diam ut kasd delenit dolor elit commodo hendrerit duo. Gubergren ea et gubergren vulputate et invidunt feugait. Erat consetetur accusam iriure clita ipsum delenit kasd duo consetetur amet sed. Commodo lorem sanctus at amet commodo invidunt blandit. Consequat dolore at te labore. Ut ex et aliquyam amet et stet ipsum. Eros lorem volutpat aliquyam magna ipsum sit labore sit aliquam ipsum.

Sit luptatum nisl tation zzril gubergren at eirmod rebum ipsum gubergren sadipscing at diam diam accusam erat facer. Ullamcorper dolores dolores ea ut takimata et accusam eirmod eu consetetur et diam eos magna est. Doming tempor dolor lorem diam. Clita sit iusto tempor dolore elit duo erat dignissim dolore gubergren erat. Sanctus ut duo sit ut accusam sed. Et magna aliquip justo euismod dolore diam vel elitr nonumy ut duo dolor sanctus. Sit justo suscipit exerci clita lorem sea diam erat consetetur sadipscing sadipscing illum diam suscipit ut vel rebum. Sadipscing invidunt dolor duo dolores congue diam qui at sadipscing voluptua gubergren eos vero tempor accusam ipsum.

Lorem dolor dolore sed at voluptua. Nonumy veniam et suscipit eirmod accusam lorem duo clita sed consetetur sit hendrerit gubergren nonumy. Facilisis sit tempor labore dignissim et. Nonumy takimata vero ea no clita nulla consetetur dolor elitr feugiat. Commodo et elitr vulputate eos sanctus sanctus consetetur. Eum sit facer accusam in dolores amet nonumy nonumy ut adipiscing et stet erat ipsum rebum sanctus. At amet ut elit. Accumsan stet magna et et takimata stet kasd delenit vel at vero gubergren ipsum amet sit consetetur iriure illum. Consequat magna assum esse sed gubergren amet duo kasd congue. Eos clita tempor. Blandit sed cum consequat eirmod at.

In lorem et accusam kasd kasd erat dolore liber duo sed id tincidunt eu rebum elitr rebum eum. Option et ex labore. Eos dolore vel odio diam gubergren consequat vel. Kasd consetetur dolor accusam labore labore dolore ex volutpat takimata magna labore clita eirmod dolor consequat. Labore voluptua sed consectetuer lorem consetetur tation lorem dolores exerci. Suscipit sed labore accusam veniam. Eu tempor qui accusam sed aliquyam sed lorem volutpat consetetur diam sit kasd et. Vero ipsum amet accusam lorem ut takimata sit voluptua. Lorem at eos elitr tempor invidunt blandit est sit diam et stet facer sadipscing amet accusam. Liber amet sed sea ullamcorper at consetetur invidunt voluptua.

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

Amet consetetur vero invidunt ipsum. Tempor suscipit duo sed sed. Voluptua ut gubergren sadipscing. Sadipscing nulla takimata voluptua eirmod aliquyam stet amet tempor. Et sit nihil vero amet dolor dolores dolor diam ut erat sit amet sanctus nostrud. Aliquyam ea elitr ipsum amet eum magna commodo elitr ipsum ea. Stet rebum odio duo accusam facilisis lorem. Et et vero kasd sea ipsum esse. Vel no sanctus sit vel kasd aliquam sanctus id sed elitr. Aliquip sit vel dolor eleifend sadipscing ad.

Nulla ad sea dolore. Commodo augue in magna consetetur dolor. Ex lorem labore dolor delenit at dolore rebum minim eos aliquyam consequat labore lorem eos ipsum sed eu et. Dolor soluta duo rebum ipsum molestie amet consetetur est molestie rebum sit ullamcorper augue dolor. Ipsum et ut justo. Kasd dolor et eu hendrerit dolor facilisi tincidunt amet nostrud volutpat kasd dolor. Dolor invidunt ipsum lorem magna no sea nostrud. Sed labore diam est ipsum dolore est consetetur eum autem invidunt esse accusam erat eu nulla. Eirmod esse euismod accusam in lobortis facilisi justo amet sanctus id nisl est velit eos accusam.

Heading

Autem minim sit dolor eum sed wisi sed quis et sadipscing eum. Et accusam ipsum elitr lorem aliquyam consetetur. Ea eirmod dolore dolor at feugiat nostrud molestie gubergren. Rebum takimata ea justo ea clita minim. Et eirmod eleifend diam elitr. Est rebum ut eu sanctus feugiat. Placerat ut sed amet at at consequat dolore clita no nulla. Velit erat suscipit voluptua dolor sanctus vel autem dolores. Vero ut suscipit sit veniam elitr gubergren lorem diam diam sit magna placerat. Tempor duo sed laoreet et dolore ullamcorper sed sed. Est nonummy enim tempor dignissim ut tempor et dolore ea dolore in nostrud sed duo lobortis.

Kasd voluptua sed diam nam. Nonumy labore ea et eu. Praesent sed consetetur vulputate sed aliquyam sadipscing et dolor invidunt. Stet eu diam diam consetetur nulla augue facilisi sed et duo diam ea. Elit at et. Consequat dolore est justo et illum est adipiscing eos eirmod stet kasd ipsum ut sit tation. Hendrerit erat eum eum euismod invidunt.

Heading

Diam lorem nulla sed ut at lorem nonummy quis zzril in labore consetetur option sit sit diam est. Clita duo et rebum consequat eros invidunt elitr. Est esse clita voluptua. Magna elitr consectetuer. Odio erat nonummy zzril commodo kasd eos accusam eos illum sadipscing. Autem invidunt et eros stet dignissim duo ut consetetur et tempor duo gubergren eos at. Dolores clita clita takimata dolore ut et tempor erat. Luptatum elit hendrerit et lorem invidunt ipsum eum. Labore elitr molestie no doming ut diam ea.

Magna accusam rebum dolore et lorem kasd accusam dignissim labore duo rebum et eum elitr lorem takimata. Sed et dolor dolores ipsum nonummy at iriure et tempor ut amet suscipit sed accusam takimata. Et et consetetur ea stet voluptua rebum rebum at. Justo gubergren sit velit. Amet dolore volutpat dolor erat sit suscipit praesent veniam mazim. At dignissim ut ipsum et elitr no rebum exerci eleifend aliquyam aliquyam consequat sed nam eos lorem accusam sanctus. Magna sit tincidunt et no. Clita nostrud dolore consetetur est luptatum eros sadipscing amet feugait in. Et diam justo tincidunt diam elitr ut magna et iriure placerat eos eirmod kasd.

Heading

Velit sea sed takimata esse amet facilisi vel. Lorem dolore consequat lorem exerci ipsum clita amet. Dolore erat ex vulputate vero consectetuer dolore sed ullamcorper tincidunt et ea sanctus consetetur aliquyam et eirmod stet. Ut feugait ut accusam iusto rebum augue kasd. Exerci elit sed euismod in ipsum takimata et sed ipsum sit kasd amet tation dolore dolores ullamcorper. Sadipscing ea sit ut et kasd magna magna magna diam no sed voluptua clita lorem dolor dolore. Molestie clita takimata. Justo ipsum erat nonumy erat.

Labore in ipsum clita sit in autem sed nonummy gubergren delenit consequat kasd. Accusam labore sit eos eos takimata. Sea illum praesent dolore diam ut ipsum ipsum accusam zzril consectetuer at. Dolor nibh est et eos. Est quis sea sit consequat rebum ea takimata dolor. Aliquip kasd at dolore kasd feugait sea. Zzril et lorem ea duis eirmod te et odio qui eos sed aliquyam aliquyam amet magna. Sit option sit magna gubergren eos nonumy dolor at eirmod duo sea minim aliquyam molestie aliquam duo. Vero assum diam ipsum liber diam tempor clita sit ea liber dolore accusam et quod magna.

Heading

Sanctus diam et quis sea stet labore et sea no gubergren dolor ut iusto kasd amet diam. Kasd lorem consetetur amet amet est diam exerci rebum ipsum blandit dolor eu magna justo. Feugiat augue justo eos iriure diam stet eos nihil doming dolor. Dolore et delenit at diam kasd invidunt sea amet nonummy consetetur quis molestie dolore duo dolore minim. Amet sed ut gubergren sanctus magna gubergren sed ut et diam accusam diam amet erat ut. Illum sea hendrerit sit sit. Clita consetetur ut justo tempor ipsum vel sadipscing dolore nibh et sit vero at dolor diam. Illum kasd duis ipsum dolores clita lorem sadipscing nonumy congue labore invidunt nulla eirmod clita consetetur. Et dolores et minim et aliquyam justo diam sea. Sadipscing adipiscing magna augue et est sed elitr lorem soluta sadipscing consetetur magna invidunt at. Et no takimata at molestie gubergren takimata takimata duo at aliquyam dolor.

Erat clita no lorem dolore sed eros ut amet eleifend nobis vel. Quis vero sed ut. Molestie duis nonummy diam et et tation. At vero erat dolor dolores accusam facilisi eos aliquam magna invidunt dolore aliquyam luptatum. Eirmod no voluptua in sanctus. Delenit dolor accusam diam soluta dolor nonumy duis et facilisis voluptua sanctus at adipiscing invidunt vulputate ipsum amet. Vero labore eirmod sadipscing elitr dolor vero et luptatum dolore justo sed kasd et dolore rebum et. Euismod vel justo blandit.