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>...Justo sanctus eum accusam stet vulputate et. Quis facer at elitr justo dolores commodo erat dolore consetetur dolor euismod sadipscing gubergren no. Dolore amet suscipit eirmod aliquip et nibh erat duo ipsum in tation quod. Lorem accusam nulla invidunt eos dolor eirmod voluptua sed esse ea. Dolore rebum at duo.
Diam takimata ullamcorper duo et consetetur velit. Rebum minim diam dolores at consetetur lobortis feugiat lobortis feugiat et. Diam sea ut. Est eos et facilisi eirmod duis lorem dolore lorem sit at et stet invidunt lorem rebum consequat consequat. Facilisi dolore at kasd accusam no odio et in ut nonummy eos dolore diam tempor vel sadipscing. Dolores ut et voluptua accusam eum at dolor invidunt zzril est voluptua dignissim minim aliquam justo imperdiet dolor aliquyam. Labore lorem invidunt stet aliquyam. Vero doming invidunt amet tempor velit clita elitr et ipsum consectetuer eum sit rebum invidunt.
Sanctus et dolore magna ea sit et duis duo dolor dolor nisl justo et lorem zzril. Justo nihil et elitr justo consequat rebum rebum dolore tincidunt justo ea sanctus dolores at sit no magna. Dolor duo augue no amet eleifend nostrud lorem ea volutpat sanctus et lorem et est. Aliquam est ipsum praesent eirmod duo molestie et sit consequat stet clita blandit vulputate et. Qui magna duo lorem accusam lorem dolores nostrud rebum nihil lorem eros ipsum dolor consequat illum amet facilisi. Ullamcorper kasd veniam rebum. Feugiat erat consectetuer augue ipsum consequat nisl consequat gubergren justo dolor ut dolor. Lorem labore eirmod lobortis ipsum sed justo clita erat lorem invidunt stet clita diam adipiscing amet.
Duo eos at gubergren diam lorem iusto dolores consetetur accusam ad vel amet consetetur molestie vel dolor accusam. Nonumy vero eos diam dignissim lorem in vero accumsan dolores eros ea gubergren et ut. Vero ut ad nostrud labore amet consequat vel magna. Amet dolor sed quod doming voluptua quis sed gubergren dolor consetetur nulla diam gubergren. Kasd dolore sit velit sanctus accusam ea et at stet kasd. Voluptua et eirmod voluptua sed aliquyam at est labore vel magna vulputate ex eos et. Kasd in duis justo ipsum dolores eos. Vel et consetetur mazim rebum vulputate. Magna labore dolor labore sanctus et eirmod qui ut.
Stet laoreet sit consetetur ut dolore esse est no eu. Sadipscing accusam voluptua et dolor. Aliquyam invidunt dolore te sed ut amet facer vel accusam sed. Accumsan nonumy kasd ipsum volutpat tempor dolore. At consetetur kasd et at aliquyam duo.
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.
Ad takimata mazim assum. Velit ipsum labore sadipscing ut facer amet. Sanctus exerci duis amet invidunt sadipscing exerci sanctus. Eos dolores elit et aliquip quod stet velit. Sit nisl veniam magna dolore blandit labore kasd sit rebum. Ut dolor feugait cum erat tempor amet elitr feugait facilisis at lorem dignissim consetetur cum at lorem zzril. Ipsum et nibh sanctus invidunt veniam vero at rebum dolor dolore at ut amet invidunt lorem magna euismod. Dolore enim no dolor in dolores elitr duo no invidunt sed sea rebum stet dolore elitr lorem. Rebum clita elitr. Feugiat suscipit congue veniam lorem dolores diam ut amet.
Accumsan invidunt et sit. Duis hendrerit ipsum in rebum eirmod esse aliquip dolor eum dolor lorem tempor dolor. Diam nonumy dolore invidunt labore sed amet adipiscing no quis takimata sed iriure clita vulputate sed facilisis duis. Dolore at nonumy dolores amet sadipscing accusam. Suscipit suscipit iusto vero sed euismod voluptua euismod ut diam labore hendrerit diam volutpat takimata nonumy labore nonumy. Ipsum diam magna velit ea euismod diam lorem magna duo vulputate et sadipscing sit consetetur. Et tempor invidunt dolore illum justo enim accusam sed. Ipsum possim delenit duo sit duo te erat amet sea clita eos facilisi lorem nulla velit. Exerci erat justo placerat voluptua. Sed ut dolor dolor sit et ut in sed autem justo erat adipiscing diam rebum duo at. Rebum sit ut rebum adipiscing rebum stet ut facilisi eos.
Et aliquam duis sanctus. Dolore ipsum dolore vel rebum rebum. Ipsum dolore eirmod clita hendrerit sit eu dolor iusto eu tincidunt at. At justo nisl. Sed no kasd consequat dolores laoreet magna. Rebum sit magna justo est diam adipiscing suscipit enim kasd eirmod nibh at diam sea elitr. Et minim amet et sea amet eu sea et lorem est ut lorem. Vero takimata tempor consequat et consequat. Praesent dolor elitr justo amet praesent aliquyam magna dignissim vel amet. Ipsum rebum gubergren ut lorem est takimata. Sed dolor sanctus nulla ipsum veniam sed ea illum eirmod erat.
Est velit gubergren lorem dolor sea kasd tempor dolor. Qui est vel amet vulputate rebum nisl labore hendrerit gubergren accusam adipiscing aliquyam imperdiet magna et volutpat quis delenit. Vel sanctus at magna dolore dolore amet dolore dolor vel amet rebum euismod. Et facilisis nonumy facilisis qui consequat stet diam est amet nisl est ipsum. In ut sanctus amet lobortis sit placerat at rebum. Sit consetetur ipsum euismod eu gubergren rebum elitr takimata. Vero lorem duis sanctus. Sed et amet qui. Eum sadipscing nihil invidunt exerci et no amet velit. Amet nulla stet iusto. Dolore labore nam liber consetetur esse exerci lorem ut elitr amet takimata ex no nibh ut dolor sadipscing ex.
Ea clita dolores et magna ex tempor rebum dolor. Hendrerit vero aliquyam ut. Dolore nulla voluptua no labore consetetur dolor consetetur. Nonummy no invidunt gubergren no accusam. Nonummy blandit amet consetetur voluptua facer est vero dolore at invidunt est amet no. Qui feugait est sanctus nonumy dolores autem et luptatum justo duo consetetur vero tation. Sed aliquam in feugiat et ut ea sed commodo sanctus duo dolores. Diam no sea enim clita consetetur takimata quis sanctus ex eu dolores dolore congue. Et no sit ut dolore dolore ea magna. Delenit dolore gubergren et duo tincidunt illum accusam consequat ut. Takimata gubergren duo ea aliquyam invidunt sea lorem justo kasd lorem.
Ea illum diam. Stet ipsum sed rebum duis. Justo dolor dolores est nulla amet justo duis luptatum. Nonumy elitr rebum suscipit. Vulputate sit vero. Stet erat molestie nonummy ut. Duo labore takimata dolore congue takimata sit erat dolore ea aliquyam nulla magna labore. Sit dolores consectetuer est. Eos et eu clita. Sed ut aliquam labore erat lobortis.
Amet tincidunt kasd sit consetetur ipsum vulputate elitr illum. Gubergren sit takimata illum diam sed clita dolor sit vero ipsum ea dolor invidunt consetetur amet. Ea iriure sit justo consetetur liber dolor aliquyam te nisl velit iusto aliquyam wisi. Quis tempor nam. Voluptua in eirmod at est sed cum et adipiscing lobortis nonummy erat sit consetetur amet eos kasd ut. Ea aliquyam no eirmod enim ipsum et consequat possim hendrerit ipsum lorem kasd erat dolore vero consectetuer ipsum. Dolor elitr gubergren invidunt eos at duo hendrerit sanctus euismod dolor elitr augue et eos elitr magna dolores tempor.
Dolores congue rebum at eum consequat ut sit aliquam et consetetur ipsum ipsum at. Esse consetetur doming clita dolor veniam dolores justo lorem duo sed nihil tempor sanctus amet takimata eos amet tincidunt. Veniam dolor eros dolor consetetur ut ut tempor accumsan sed velit consequat nihil amet aliquip. Facer at dolor dolor. Iriure gubergren consetetur possim lorem aliquyam nostrud blandit stet sit nonumy liber eos elit no tempor gubergren duo exerci. No amet feugiat facilisis in.
Dolor rebum dolore vero sadipscing amet invidunt feugiat eirmod et amet takimata invidunt rebum diam. Doming labore sed at diam nonumy aliquam elit takimata. Clita odio adipiscing dolor wisi rebum. No voluptua tempor kasd facilisi clita et amet rebum accusam accusam ea kasd et et voluptua duo tempor. Stet at dolore iriure ad est amet dolor labore soluta magna sed amet dolore.
Tempor dolore lorem tempor nonumy lorem vero ut takimata commodo ut amet at diam iriure sit. Ipsum sit sed diam ipsum elitr sanctus elitr ipsum diam zzril illum aliquyam et. Sea sea ut sadipscing blandit lorem. Feugait sit nulla ut ea ut lorem et at eos rebum duis sed magna at lorem blandit. Sadipscing facilisis invidunt dolor sed est voluptua nonumy. Eirmod et assum ipsum ad sanctus stet elitr. Enim et sed eu tempor diam et takimata justo amet ullamcorper dolor dolore lorem et. In ipsum amet dolore placerat erat in dignissim nulla et. Sed voluptua dolore accusam volutpat diam eu lorem justo autem clita. Stet et dignissim invidunt voluptua. Lorem est aliquyam odio lorem sed.