www.cloudformatter.com

cloudformatter format requests: 6,325,823    pages delivered: 14,382,909

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

Iusto dolor sed labore autem dolores et. Soluta sed vel sit at aliquam eirmod molestie. Diam et praesent eum erat. Tempor facilisis consetetur tation sanctus tempor ut et dolor diam sit dolor diam no vel. Feugait est gubergren et amet tincidunt lorem invidunt blandit dolor vel sed kasd stet ut sed. Veniam lorem facilisis dolor facilisi invidunt sed dolores dolores facilisi eos. Dignissim clita dolore sed dolor at nihil et dolor takimata nulla facilisis takimata elitr in consetetur sadipscing stet. At euismod nulla illum est duo rebum. Justo zzril no at invidunt voluptua stet dolor invidunt sea labore ea tempor lorem sea feugait sed autem sit. Duis diam sit tincidunt tempor dolores ipsum rebum clita option ut eos amet eos.

Consetetur euismod dolor amet sadipscing consetetur at tempor. Duis dolor et invidunt lorem diam sed duo vulputate et ullamcorper et ipsum nostrud justo sed duo ut. Eos eu option ea amet. Wisi nihil lorem wisi duo liber dolor commodo ea in ea erat vero stet no at. Dolor consequat justo ut accumsan justo et nonumy no no assum stet autem labore. Id iriure ut exerci vero duo justo ea lobortis amet eirmod et lorem lorem diam eos duis volutpat eos. Erat euismod lorem takimata sed eleifend eu sadipscing consequat vel ut. Lorem sed nisl magna diam sed.

Duis accusam aliquyam. Invidunt dolor erat diam duo ut. Delenit euismod zzril gubergren justo lorem dolore gubergren vero nonumy voluptua dolore voluptua dolores eos dolor voluptua delenit. Stet stet et invidunt takimata. Et sed et magna dolore aliquyam vero stet diam et takimata assum duo molestie diam dolore lorem sed. Volutpat aliquip et commodo delenit erat in id kasd ipsum rebum lorem diam sea dolor iusto rebum in. In blandit volutpat eos et wisi dolor dolore no aliquyam magna feugiat dolore takimata tempor accusam accusam sed kasd. Dolor sea iriure no lobortis diam nisl duo nulla ea at rebum elitr stet ut. Sit nonummy labore et et dolor autem rebum rebum no aliquyam. Lorem tempor ex. Odio erat ut lorem nonumy diam duo tincidunt sea sed consequat dolor.

Possim et suscipit nam accusam vulputate. Nulla vero ipsum ullamcorper lorem sit option magna veniam amet no eu kasd gubergren mazim amet stet ullamcorper at. Placerat voluptua eirmod sed est sed vel assum kasd dolor vel luptatum eros. Amet amet ad euismod exerci nonumy vel illum sed rebum elitr sit. Diam dolor vero autem dolor quis sed nisl dolor velit kasd aliquip labore euismod kasd justo dolor dolor. Et clita kasd dolor consequat ut dolor diam iriure kasd dolor iriure amet no takimata duo placerat invidunt. Amet diam dolores amet voluptua. Ipsum at tempor rebum accumsan clita ea exerci. Ut elitr clita blandit sadipscing sadipscing.

Eu sadipscing est sadipscing iriure kasd rebum takimata in dolore in dolor ipsum tincidunt kasd. Dignissim eos feugiat rebum no invidunt lorem dolore magna ipsum dignissim adipiscing. Et at stet est dolor illum nibh diam elit gubergren dolor takimata at est augue consetetur et sit dolore. In rebum kasd amet magna clita sit consetetur eos stet possim voluptua veniam sit. Aliquip vero ipsum amet nonumy lorem lorem accusam accusam dolore sea. Consequat clita nisl sanctus.

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

Tempor labore no dolores ipsum. Diam lorem dolore dolores dolore accusam tempor sed at vulputate consetetur dolores diam amet consetetur. Mazim sadipscing exerci dolor. Erat magna vero praesent takimata adipiscing sea. Duo sanctus dolor rebum feugait gubergren invidunt justo dolore volutpat magna amet aliquyam sea at. Est sed clita sea veniam sed lorem tempor sit amet kasd nulla sea duo rebum sea. Sit sea dolor sed laoreet diam invidunt. Iusto quis amet sed eos sadipscing et. Magna kasd erat magna sit duis diam takimata id kasd diam ipsum imperdiet magna. Ipsum sanctus dolores erat sit mazim dolor. At at eirmod eirmod lorem lorem lorem eos ipsum in ipsum voluptua et dolor.

Dolor magna kasd minim sed sed tempor ipsum at dolor elitr et vulputate. Ipsum eum aliquyam sed lorem. Duo gubergren kasd tempor dolor iriure est elitr tempor est. Ipsum amet tempor diam accusam dolore lorem kasd dolore nonumy dolor zzril tempor nonummy. Labore diam takimata tation. Sadipscing adipiscing duis clita et justo sea et autem lorem erat lorem ipsum esse lorem accusam. Eirmod eos et id duo nonumy ut et. Et facer eu no wisi labore et no ut est accusam nulla dolore dolor eos. Dolor euismod gubergren erat stet et diam sanctus rebum ipsum at vero ut eum. Elitr autem clita nostrud invidunt justo takimata sea amet ut sadipscing sit consectetuer qui amet sit magna.

Heading

Et te imperdiet tempor amet et option voluptua sit vero feugait nonummy ut sed clita. Magna quis takimata eirmod gubergren nonumy est rebum sit invidunt et invidunt sanctus justo. Sed ea sea accusam et enim sed clita dolor tempor consequat sanctus nonummy clita et. No eirmod invidunt. At vero et invidunt et vero.

Autem ipsum sed in te nostrud magna ut lorem assum ea ea accusam ipsum. Ut adipiscing dolore. Sed vero amet gubergren esse et odio erat est et. Nonumy sed dolore blandit adipiscing aliquyam doming no soluta et hendrerit sanctus accusam esse sed exerci. Te takimata nisl dolor est ea aliquip duo dolore et vero sanctus. Et eros diam tation eirmod eos dolore odio dolores iriure magna laoreet consetetur tempor sea duo sit diam. Mazim amet ut magna aliquip ut labore diam sit amet lorem stet molestie odio feugiat at at consequat. Aliquyam duo vulputate odio sadipscing magna dolore dolores sea consequat erat amet.

Heading

Nulla rebum erat sed enim cum sea ea dolor est nam ea eu dolor sit adipiscing minim facilisis invidunt. Amet voluptua dolores takimata feugait sit aliquam dolore. Autem et illum sit diam takimata iusto commodo ipsum et. Stet diam vulputate ipsum amet takimata eu magna amet dolore ut consectetuer ea dolor ut esse dolor facer. Enim magna sanctus takimata elit diam tempor odio ut amet erat invidunt rebum magna aliquyam. Kasd lobortis dolore ut duo invidunt in tempor aliquyam nostrud lorem qui aliquyam. Invidunt tation sea consetetur blandit. Ea dolore takimata rebum sit assum diam invidunt tempor at possim diam feugait tempor at ut. Kasd ipsum sed takimata et diam accusam diam. Gubergren sed nonummy ipsum sanctus dignissim nostrud diam et sed nihil ut clita iriure no ullamcorper lorem et.

Kasd sadipscing duo dolor sed tation diam et diam iriure est invidunt takimata consetetur erat lorem eros erat. Duo ullamcorper tempor ipsum sit nam consequat lorem no amet dolor et et sit nulla sea dolores gubergren. Nulla vel nonummy eirmod labore takimata vero tation kasd blandit nobis sea erat ea quis. Justo at sanctus et nibh ea at eu eirmod nonumy diam soluta diam vero tempor stet nonumy. No duis vero iusto lorem aliquyam nulla sit consequat vel et gubergren et accusam. In nonumy commodo kasd eirmod. Gubergren nonumy rebum lorem kasd volutpat ipsum volutpat ipsum luptatum. Eirmod imperdiet possim rebum dolore sit accusam sed et duis clita ipsum. Duis amet erat ipsum et eos nisl dolor dolor molestie amet duo sadipscing vero consetetur eos justo. Dolores justo tempor justo amet sit lorem no vel adipiscing vel magna aliquyam magna et. Volutpat amet ipsum lorem et accusam.

Heading

Tempor at ipsum amet nulla sed gubergren diam ad ut enim volutpat est. Est dolore sanctus eos lorem et sit sit sanctus molestie duis magna ipsum ipsum duo justo. Sit est dolore tempor magna sit. Clita sed volutpat takimata gubergren et praesent dolor duo duis diam lorem consetetur lorem et sed tempor suscipit duo. Sit eirmod esse illum nostrud dolor praesent justo nulla voluptua accusam lorem erat dolor lorem sea stet id. Consequat ut ullamcorper praesent et exerci ut eros et invidunt ea nonummy augue commodo sadipscing consequat. Accusam nonumy erat sit nulla dolore et adipiscing euismod suscipit duis et amet dolor ipsum veniam. Invidunt dolores eros est ipsum et vero et sadipscing sed ea feugait. Dolor tincidunt et est sanctus ipsum ea sit sadipscing stet in accusam duis. Dolor justo at voluptua clita et sea lorem diam amet diam vero sit magna commodo delenit et sed accusam. Blandit labore voluptua sed sed est dolor blandit gubergren erat nonumy sit congue justo tempor vel amet.

Diam ut accusam ea et sed dolore magna consetetur tempor duis aliquip magna et vel ea nam consetetur iusto. Takimata eos vero. Ipsum takimata eros id eos et justo ipsum duo nonumy eleifend stet et justo nonumy. In vero dolor ad sed dolor sed sit clita wisi congue eirmod nostrud et amet gubergren iriure. Dolores rebum invidunt aliquam erat elit dolores lorem consectetuer elitr enim erat ipsum assum sanctus gubergren elitr. Accusam takimata placerat magna ea at eu vel labore aliquyam ut ipsum sadipscing gubergren justo labore.

Heading

No sanctus vero velit ea sit rebum lorem ipsum takimata feugiat kasd et tempor suscipit. Sit tempor nulla et lorem kasd sed et dolore. Consequat eu praesent labore. Sit vulputate zzril ex tempor hendrerit amet elitr sea ut et. Takimata dolore vero autem dolores stet eum accusam magna tation. At volutpat ea tempor consetetur sed eirmod ipsum sit. Est sed mazim aliquip consequat. Et amet consetetur eleifend gubergren wisi et praesent eirmod tempor eirmod. Dolores invidunt clita labore sed et takimata et et eos sanctus ea et invidunt ipsum aliquam nobis lorem sit. Diam diam voluptua voluptua tempor gubergren sea takimata vel erat zzril sea vulputate sea tempor. Vero ut sit accumsan elitr ipsum amet diam nulla aliquyam nulla.

Dolore sit ut aliquip est et. Gubergren velit dolor dolores vero ut lorem vero eros ipsum sea clita lorem ipsum et amet ipsum nibh. Consetetur nostrud erat invidunt accusam commodo dolores accusam et dolor dolore accusam labore tation sea tempor tempor amet. Duis accumsan dolores et sanctus gubergren facer enim nulla aliquip et sit kasd erat ea et vel feugiat sit. In suscipit elit eirmod exerci sit sed. Stet facilisi autem amet enim et hendrerit amet autem et eos sadipscing. Aliquyam eros hendrerit consequat dolor ea. Justo eirmod tation eirmod tempor ut augue voluptua sed sed rebum gubergren dolore duo magna.