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 ...
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 pagekeep-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 pagekeep-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 pagekeep-together.within-line: set to "always" and used to keep a span
of content glued always together in a single lineThe following shows some demonstrations of these capabilities.
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>...Eos aliquam vel sit kasd sed dolores nibh. Molestie iriure facilisis amet ipsum consetetur gubergren at blandit eirmod voluptua adipiscing erat accusam. Id takimata id sea accumsan dolor sadipscing lobortis eleifend. Quod gubergren sed sanctus magna takimata nonumy et ipsum lorem vel rebum ipsum no kasd consequat nonumy lorem diam. Magna vero dolore sit lorem lorem ipsum feugiat dolores quod vel elitr. Nostrud diam ut justo. Ipsum at iusto at dolore eos et adipiscing est illum dolor sit est et. Et sadipscing magna eum sit amet exerci sanctus. Est dolor lorem at eirmod sea.
Sed lobortis ipsum. Dolore eirmod nulla rebum veniam gubergren. Blandit dolore facer esse at duis dolor qui duis te diam ipsum voluptua duo gubergren facilisi kasd. Sea sadipscing veniam ut et ut justo volutpat stet est nonumy invidunt aliquyam ea diam minim. Veniam dolore sit aliquyam amet sed esse sit ut tempor invidunt sed sed sit veniam justo. Et amet nisl erat iriure est justo euismod dolore takimata eum quis magna et clita feugiat erat magna. Kasd eos rebum. Elitr wisi ut magna labore ipsum ea aliquip no duo justo tincidunt sed gubergren dolor labore sed magna justo. Accusam sed diam lorem clita eos magna duo lobortis lorem sed iusto sea vel te ipsum.
Labore invidunt justo sit odio eum rebum et eirmod odio voluptua aliquyam eum eu amet dolores. Amet diam magna. Consetetur exerci aliquyam amet vulputate voluptua aliquyam labore nonumy duo consectetuer voluptua lorem sit velit kasd dolor nonumy blandit. Aliquyam volutpat vero vero at no aliquyam. Sed in tation sed diam diam ullamcorper sit. Lorem ut gubergren dolore lorem dolore lorem nostrud est hendrerit consectetuer eu sanctus tation elit dignissim sed est.
Ipsum voluptua nonummy erat. Sadipscing autem takimata ipsum eos rebum voluptua. Et rebum lorem et sadipscing magna ipsum vero duo ipsum dolores ipsum at ut ea magna stet. Labore sit et clita minim et vulputate gubergren diam justo. Ullamcorper et diam sea iriure gubergren clita sed sit ipsum vero accusam at. Et gubergren magna sed takimata amet exerci nonumy. Minim est nulla accusam stet quis dolore.
Wisi consetetur nulla magna invidunt liber nobis. Tempor lorem clita sea consetetur aliquyam diam vel. Lorem suscipit autem eos aliquip qui praesent aliquyam magna sanctus amet sit te nulla. Nulla et tempor dolore diam et tempor consetetur dolore eirmod et et diam cum est elitr. Ut aliquyam lorem autem eos clita ea. Rebum volutpat sadipscing eleifend et takimata exerci elitr iriure kasd clita consetetur vero imperdiet. Sed clita rebum amet sea dolor velit tation at stet et kasd facilisis dolore lorem mazim et et vero.
Thus all of this content from the header through this paragraph is together on a single page.
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.
Consetetur sadipscing lorem magna ex congue et elitr consetetur. Vero ut ea. Labore elitr duo laoreet kasd elitr gubergren sit consequat illum sit et diam nonumy justo sed. Tempor magna amet. Dolor ea diam ipsum dolores takimata erat amet et no consequat veniam amet accusam zzril accusam. Feugiat ea facilisis vero elitr zzril sit dignissim laoreet consetetur vero justo. Assum esse assum lorem et sed volutpat ut amet labore quis sit volutpat vero gubergren invidunt magna eu est. Euismod et dolores et in diam. Dolor justo consetetur rebum sit magna diam nonumy ipsum voluptua sed vero. Sit eu lorem wisi. At possim sanctus vero ut dolor amet justo lorem aliquam zzril et esse adipiscing takimata erat ut et.
Ipsum velit eum lorem clita sed diam quod. Ipsum sit lorem labore nonummy zzril suscipit tation facilisi labore accusam duo consetetur magna diam. Sed et eu duo nibh sit. Diam sed est est no accusam stet sea dolor dolor. Dolor eos clita erat elitr. Qui blandit dolore. Stet tempor accusam. Vero nulla et eirmod facilisis facilisis. In ut duo diam sed amet duis. Clita at justo et tempor ipsum dolores eum at et ad ut eos rebum nulla.
Vel illum ipsum vulputate aliquyam et eos amet voluptua nisl et consetetur et ut velit et stet. Takimata consetetur et sed nonumy takimata labore nonummy vero dolores no sit. Accusam exerci ea takimata stet sed amet dolore est dolor velit dolores vel sit. No amet eos in erat voluptua et elit ipsum sanctus. Sit sanctus dolor kasd lorem esse vero amet amet sit sit amet hendrerit augue erat suscipit sit vel. Iriure hendrerit gubergren amet erat consectetuer consetetur duo placerat justo gubergren dolore eum amet et erat. Aliquyam ad vero est elitr et dolor. Ut amet magna magna ea hendrerit laoreet autem dolor nonumy duo tempor at ipsum erat consequat sit.
Et ea tempor. Et kasd tempor. Nam elitr stet ex eos ad ipsum elitr feugiat stet lorem elitr erat. Duo facilisis lorem eos vero invidunt kasd. Diam lorem gubergren eum magna dolores et sanctus kasd. Stet rebum et vero diam tation. Sed diam veniam kasd labore magna feugait dolor et sit at diam zzril possim vel.
Ea gubergren tempor. Dolore magna dignissim laoreet sit suscipit augue. Sed sadipscing hendrerit erat sed volutpat. Ea sit dolore eos sit dolor gubergren ea sit et augue consetetur at erat sadipscing. Magna dolores consectetuer tincidunt facilisis sanctus et consequat consetetur kasd magna consetetur sea lobortis kasd in duo vel. Velit lorem invidunt nibh dolores justo ea feugait vero sanctus sanctus et kasd labore. No amet delenit sadipscing elit minim.
Duis nonumy dolore ea sea ullamcorper est voluptua no labore nonumy eos accusam consetetur diam magna eirmod. Dolore praesent sed dolore hendrerit lorem sadipscing vero sit et vero at stet dolores. Tation at molestie justo. Tation lorem justo magna dolor ut consetetur dolore minim dolore sanctus dolores. Dolore erat no sit delenit ipsum dolore dolor illum. Vulputate ut molestie accusam est eum veniam et eirmod sed magna.
Elit magna aliquyam sanctus sanctus stet nonummy rebum gubergren nibh stet luptatum lobortis accusam tation. Hendrerit eirmod et velit lorem sanctus amet velit ea. Invidunt ipsum stet dolores aliquyam in sanctus et. Et ut voluptua voluptua diam eirmod ex veniam feugait rebum in amet iusto lorem. Eu diam ea tempor kasd est ut vero diam et voluptua ipsum. Tempor eirmod quis nonumy.
Facer sadipscing rebum kasd takimata consectetuer ipsum feugiat stet justo. Odio et consetetur erat ut ipsum eros et lorem eirmod labore suscipit ut elitr. Diam congue et suscipit aliquam gubergren dolore diam illum et. Aliquyam eros justo sea eos dolore eos quis imperdiet. Est lorem elitr vero tempor sea dolore suscipit takimata cum. Justo est duis eos consetetur ea ipsum. Sed sanctus magna in sit labore lorem sit aliquyam ea qui invidunt iusto rebum nonumy invidunt duo. Feugiat consequat ut amet invidunt at autem est kasd molestie eos cum congue et ut quis stet.
Gubergren sed dolore tempor sea sanctus id esse duo. Et ea sea. Aliquyam justo aliquyam dolor dolore justo voluptua diam autem vero dolor diam exerci sit sit sit aliquyam consetetur. Duis tincidunt justo sanctus sit et nonumy. Accusam no rebum liber et. Enim duo duis rebum nulla est clita justo justo. Commodo vero dolore stet gubergren invidunt et eum elit dolore sed amet diam. Elitr dolor sadipscing diam ut doming adipiscing velit at enim ipsum dolores invidunt accusam ut. Vel sadipscing liber sea. Iusto vel dolor et labore illum duo voluptua vulputate ipsum aliquyam vero eirmod accusam stet.
Molestie sadipscing et et dolores dolore kasd elitr amet eum at in wisi hendrerit sed dolore et. Sit dolores tempor aliquam rebum stet gubergren illum zzril dolores tation eu illum facilisi. Justo hendrerit stet voluptua vero est. Clita sed sit labore sadipscing dolor sanctus nulla ipsum dolore ea et stet quis ea ea nonumy. Velit et odio ea lorem justo sed dolor magna aliquyam augue ea. Ipsum amet sadipscing est invidunt labore. Clita sea diam eirmod ea kasd dolores vel consetetur dolor takimata diam duo nisl justo. Accusam ipsum suscipit et sanctus ullamcorper dignissim te nulla tempor est praesent et et. Consequat aliquyam et duo eu justo praesent amet hendrerit dolores. Exerci ut et ut dolor labore commodo diam placerat sed aliquyam lorem takimata iriure est. Sed sed sanctus blandit ea vero.