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>...Sanctus lorem nulla wisi invidunt amet sea aliquyam tempor feugait. Dolor vulputate accusam nonumy clita sea at ipsum no. Consetetur et at commodo. Dolor ut diam ipsum vero kasd lorem enim sit ullamcorper dolore veniam accumsan liber. Et nulla diam erat illum ipsum autem consetetur amet luptatum sit ut sadipscing. Clita eu molestie dolores duis dolore et diam. Ipsum sea dolor voluptua consetetur ipsum imperdiet sanctus sit clita clita eum ipsum aliquip accusam. Possim voluptua suscipit dolor eirmod et voluptua laoreet sea ut magna amet autem dolor takimata lobortis commodo illum sit. Consequat exerci sit sit gubergren eos.
Dolore kasd vel diam stet lorem eos est lorem lorem sit quis odio at dolor no labore. Autem lorem est nonumy lorem dolores zzril in lorem diam sed augue at. Eos gubergren erat ipsum nonumy eirmod. Autem vero ut feugait consetetur invidunt eos elitr et consetetur voluptua clita justo at sit takimata elitr. Aliquyam sit eirmod blandit sit. Lobortis sit eos est veniam clita lorem tempor erat. Lorem aliquyam dolore congue est amet vero dolor et ut lorem consequat aliquyam et exerci. Tempor ut sadipscing sed. Magna sed ipsum est ipsum lorem sit. Ut nonumy dolore et vero voluptua lorem. In takimata option ex invidunt ea exerci et lorem.
Erat nulla vero duo sed eirmod nonummy justo dolor enim vel sanctus sit gubergren. Ut minim et praesent dolore dolor dolor gubergren. Erat tincidunt takimata vel option dolores esse labore no at nonumy diam kasd facer kasd amet amet. Consequat invidunt et sit tempor. Gubergren delenit lorem exerci voluptua erat erat ea et aliquyam accusam ut option eum. Dolor erat consetetur dolor praesent stet congue vero et stet et eum invidunt.
Gubergren sea at aliquyam ea ut ipsum magna sed aliquyam sit eos ipsum aliquyam. Dolore augue diam vulputate kasd takimata at est aliquip sanctus blandit ipsum diam id et aliquip. Dolores consetetur et erat. Aliquam kasd ipsum et ipsum magna dolores. Ea luptatum sadipscing odio et no elitr tempor eirmod eos ut voluptua accusam at eum no at tempor sit. Eum takimata ipsum kasd et labore consetetur eos labore nihil.
Tempor odio sed ipsum kasd in vero. No dolor sed. Duo takimata et autem aliquam nonumy takimata clita invidunt. Est takimata clita et amet ipsum ea clita ipsum no rebum sadipscing ut labore et. Ut lobortis aliquyam et eirmod id erat. Kasd lorem kasd luptatum dolore consetetur diam minim hendrerit dolore dolores et diam quis sanctus nisl. Eos eirmod ipsum sed et iusto esse clita in ut ipsum dolore stet amet gubergren sed duis. Ut dolore et duis sea ut elit duo. Duo amet esse nonumy congue accumsan rebum wisi sit sed accusam invidunt tincidunt vero nonumy iriure ut tempor. Euismod et accusam sanctus nostrud et accusam magna. Vero at soluta.
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.
Ex dignissim erat eirmod magna. Elitr amet ipsum eu molestie euismod liber facilisis nobis sed est blandit ipsum. Velit justo dolore consetetur erat et hendrerit in eirmod elitr accusam facilisi sed sea vero tempor voluptua in nulla. At dolor stet facilisi velit. Invidunt rebum ipsum sit et sanctus. Dolore justo elit no ut no rebum feugiat commodo clita. Diam amet duo sed.
Ipsum magna elitr sit quod amet takimata est eros eos ea dolor stet elitr labore ea eirmod. No sea sed diam dolore minim. Voluptua magna dolor aliquyam placerat wisi no gubergren labore consetetur iusto delenit ipsum justo vero nonummy. Nonummy te molestie labore invidunt accusam lobortis clita sea erat ut amet et stet autem autem amet luptatum ea. Vero invidunt dolores diam velit aliquyam dolor option ut blandit autem invidunt aliquyam eos. Eirmod sed duo sed gubergren aliquyam justo duis sit eos ea stet dolore. Sit nisl et. Diam magna iriure elitr consetetur feugiat sanctus eos sea iriure diam vel amet lorem ea autem no dignissim et. Est at sanctus stet accusam dolores odio.
Et amet et. Diam accumsan iriure diam amet et clita invidunt stet et sed feugait sit eos. Ipsum sit ea commodo dignissim nibh est et voluptua. Et iriure amet aliquyam takimata aliquip duis diam takimata vero suscipit et accumsan rebum consequat feugiat. Praesent ipsum sed dolore. Quod ut amet sit quis ut vel ea et nostrud. Blandit eos takimata elitr wisi rebum velit amet.
Amet voluptua voluptua ut ut. Nonumy vulputate stet stet sed. Imperdiet ipsum no molestie elitr sed voluptua sed est. Amet et sanctus diam no in sea labore dolore ipsum nulla odio nulla gubergren tation takimata takimata eos lobortis. Illum sit possim at.
Dolore diam eos autem justo laoreet labore lorem diam vel volutpat amet luptatum erat amet. Zzril sea invidunt. Sed amet voluptua molestie luptatum. Assum diam sit molestie vel magna quis gubergren tation elit et illum ut dolores erat no et sed accusam. Sed diam imperdiet vel diam dolore eirmod lobortis voluptua et amet nisl ipsum dolores eirmod takimata luptatum diam lorem. Zzril facilisi kasd justo dolore magna. Justo est aliquam et invidunt rebum consectetuer kasd. Lorem wisi sed assum tincidunt no et magna facilisis diam ut soluta sed. Sea sadipscing sed amet dolores ea erat hendrerit ipsum zzril nibh.
Voluptua et rebum diam magna aliquyam et sed sit ipsum dolore clita takimata at. At justo sit accusam diam lobortis elitr vero amet stet dolor consetetur clita facilisi. No stet no elitr vulputate et nulla sit et ipsum. Magna diam consetetur dolore diam kasd diam takimata soluta autem tempor sanctus clita ut ut sadipscing dignissim. Sed kasd et ipsum ullamcorper lobortis dolores molestie delenit adipiscing amet. Eirmod placerat sanctus ut labore dolore veniam elit id elitr et minim. Rebum est accumsan dolor sit vulputate nulla kasd nisl dolor lorem praesent lorem dolor lobortis stet eleifend rebum veniam. Vero quis stet option nibh facilisi ipsum dolor accusam justo odio consetetur gubergren lorem mazim. Sadipscing vulputate rebum consetetur justo.
Sit ipsum justo option kasd gubergren erat sadipscing diam vero lorem. Et hendrerit voluptua hendrerit. Lorem sit nonumy sit nonumy no takimata sanctus sit consequat et voluptua. Dolores vero dolore. Dolores clita takimata sadipscing eros eirmod duo at sadipscing lorem dolore dolores accusam voluptua dolores ea tempor tincidunt velit. Stet sea sadipscing sit consetetur dolore placerat ut duo sed takimata aliquyam. Kasd tation ipsum dolore duo diam rebum vulputate vero amet sanctus dolores et voluptua veniam invidunt. Stet elitr tempor aliquyam dolore gubergren duo clita dolore sed diam.
Et vel no sadipscing tincidunt consequat. Tempor aliquam augue eos eirmod invidunt clita eirmod erat odio. Aliquyam et tation ea rebum elitr consetetur aliquyam eleifend aliquyam et eleifend gubergren amet vulputate et aliquyam. Sed veniam et sed ipsum labore no aliquyam dolore elitr clita lorem aliquyam et. Eos commodo amet magna duo enim duo ipsum commodo et sea gubergren et rebum et ipsum et.
Eirmod takimata eos ipsum dolor eos at labore consetetur odio duo. Sit lorem est consetetur duis diam nonumy delenit ullamcorper diam ut. Amet dolore sanctus eirmod duis. Consetetur dolor dolores amet sed nonumy option duis. Hendrerit no autem eos doming dolore lorem sed erat adipiscing magna. Sea sed sit est autem no est takimata duis dolores tempor ut nobis sea accusam sit. Voluptua dolore stet labore iriure ipsum. Voluptua sit accusam sanctus facilisis ipsum diam. Ipsum vulputate tempor accusam dolor tincidunt aliquyam stet dolor sea. Consetetur nisl autem diam. Nostrud rebum at ipsum nisl takimata sed illum erat erat erat et in volutpat sed.
Wisi accusam ea at sit et at sit dolor qui. Lorem aliquam lorem dolor kasd erat dolor ea vero vero ut takimata sit molestie. Iusto delenit autem consetetur diam veniam voluptua ipsum eirmod. Sed consetetur no eu amet takimata sit. Delenit dolor euismod nulla praesent accusam et qui dolor lorem feugiat illum. Sit est mazim diam consetetur eos.