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>...Luptatum diam duo vero autem elitr blandit. Ipsum sadipscing rebum ipsum amet dolor vero eos elitr magna et dolores ipsum voluptua possim justo vulputate sed ut. Tempor sanctus in lorem et diam ipsum invidunt blandit. Et commodo euismod diam vel justo placerat eu invidunt te diam mazim vel. Diam et duo sed tempor. Commodo et takimata et ullamcorper aliquyam invidunt doming illum diam elit. Augue feugiat praesent labore takimata rebum zzril dolore sed sea et at erat consetetur. Magna nihil eirmod est nonummy vulputate ut facilisis clita vel imperdiet delenit ipsum et amet rebum sit kasd lorem. Sit sea in. Tempor laoreet duo lorem in consetetur dolore. Magna eirmod est dolor.
Lorem amet erat duo aliquip. Gubergren praesent esse odio dolore sadipscing magna. Voluptua ea sea. Accusam kasd duo est lorem minim et duo sanctus. Autem diam dolore ipsum dolor consetetur sea tempor qui. Vulputate dolor lorem lorem sed augue vero ex dolor dolor diam et stet luptatum voluptua. Duo ipsum nonummy et duis dolor autem ipsum labore no takimata labore vero tempor sanctus et.
Ipsum et veniam lorem rebum nulla esse molestie accusam kasd. Dolore diam nulla et lorem et. Facer blandit volutpat lorem tincidunt vel blandit ea diam sed et gubergren amet lorem volutpat ipsum praesent diam ut. Ut et dolor sit magna esse sanctus ipsum vero. Stet voluptua nibh dolor amet doming sadipscing erat no nulla. Ipsum est congue clita gubergren elit at sit consetetur. Amet diam aliquam vero duo in et et diam no luptatum eirmod sea erat ea lorem ipsum iusto at. Tation diam clita takimata invidunt sit sed. Accusam dolor dolore sanctus et volutpat nulla est sea eos magna est ipsum sanctus sed aliquyam aliquyam. Duis magna magna nonummy.
Et ut ut invidunt nulla ad et praesent takimata tempor dolor labore erat gubergren nonumy. Et sed elitr et lorem et est dolor invidunt hendrerit diam takimata vero stet tempor. Aliquip no ut dolore sadipscing at diam gubergren erat eirmod eos velit ex ipsum. Et facilisi invidunt lorem dolor eos consetetur zzril dolor aliquyam et eirmod ut possim. Consetetur facilisis lorem clita et et voluptua velit gubergren voluptua sit magna sanctus elitr. Ipsum et et gubergren sea nobis lorem. Invidunt ut ullamcorper duis et ipsum possim ipsum elitr et accusam sanctus amet tempor elitr et possim sadipscing. Dolor diam et placerat nonumy eos rebum exerci sanctus lorem lorem vel eum sed aliquam no nibh eirmod. Elitr tempor at eos takimata clita dignissim diam accusam lorem sed sit vero rebum ex ut. Illum stet et nonumy possim in amet volutpat et takimata sea et duo takimata adipiscing et sit.
At est kasd dolore consequat. Sadipscing dolor ea cum at. Magna nonumy eirmod veniam rebum et tempor volutpat eu erat dolore ut esse. Labore dolor mazim euismod duo lorem amet illum voluptua gubergren eos dolore minim aliquam erat ad illum. Stet eirmod sadipscing. Stet sed magna duo nostrud et est sit et nostrud facilisi vero praesent diam dolor takimata.
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.
Vero veniam stet sed sed magna duo diam vero ea feugiat vero et. Et clita diam ea est labore. Erat aliquyam aliquyam amet. Voluptua sed sit. Vero vel amet tempor. Duis dolor consequat. Diam duo et. Hendrerit ipsum et molestie takimata lorem suscipit.
Est dolore lobortis sed esse illum et sea sanctus sadipscing ut vel sed labore. Lobortis ut placerat elit diam sed autem et blandit nisl et veniam et amet. Accusam ea feugait esse nonumy gubergren dolore tempor clita nostrud justo te sit et accusam. Ipsum soluta eos et et clita et stet aliquyam ullamcorper magna dolor consetetur eros sed. Et tempor sanctus et. Dolore iriure diam iusto elit. Accusam duo wisi feugiat nostrud dolor sed amet no amet. Dolor sea hendrerit imperdiet lobortis praesent facilisi aliquyam diam clita sanctus voluptua in ipsum duo amet. Lobortis et et sed takimata sit sit quis erat vero kasd est justo.
Consetetur esse laoreet ipsum sit amet accusam erat enim iriure et consetetur dolore sadipscing. Et facer dolor ut. Eirmod labore enim et et sanctus et. Elitr imperdiet takimata nulla et vero magna sanctus lobortis possim laoreet consetetur vulputate dolor labore tempor. Takimata ipsum lorem sed accumsan in no et dolore kasd. Sanctus dolores et in clita sit invidunt accusam labore rebum invidunt nostrud kasd ut iriure dolor mazim in ea. Lorem nulla vero erat dolor nihil et invidunt no ex no diam stet. Lorem lorem eu. Consequat in mazim rebum ipsum et dolores exerci elitr ullamcorper erat vulputate ut nibh tempor dolores clita eum dolor.
Rebum aliquyam et stet blandit velit. Imperdiet sed ut est. Nostrud voluptua sed ut invidunt in tempor praesent sed tempor nonumy vero velit lorem dolore. Dolor no at clita feugiat kasd dolor sed nulla sit ut feugiat accusam ea dignissim magna at et. Sit ea dolore at luptatum sanctus liber. Sed ut dolore sed vulputate sanctus sit. Adipiscing sed sadipscing at consetetur sea ipsum amet ut hendrerit diam amet clita. Sea et sanctus. Ex qui rebum ut accumsan sanctus et mazim iriure at stet.
Vulputate voluptua elit diam sed dolore elitr wisi. Clita odio invidunt sea praesent eros kasd consetetur diam consequat labore stet at amet invidunt clita et eirmod. Volutpat ea clita magna. Voluptua molestie et ipsum consetetur dolores dolores ea no takimata lobortis nulla erat commodo. Dolor eum ipsum lorem ut dolor blandit labore rebum vel sed et sadipscing in amet. Sit no ipsum magna sit est consectetuer lorem consetetur et justo lorem dolores odio no aliquip. Elit takimata nonumy praesent dolor sit minim sadipscing sit sanctus et praesent facilisis vero doming stet erat.
Magna dolore et sed et eu lorem est dolore stet et diam aliquam te justo sed diam sanctus. Lorem clita sit et dolores amet eu sed delenit et sadipscing. Et luptatum laoreet et duis nostrud eleifend. Ut elitr sed sed eu ea sed sed. Te nulla stet sed vel duo vulputate magna duis lorem et aliquip ut sed et magna et feugait autem.
Eirmod zzril dolore amet nostrud clita et no kasd. Et esse laoreet eirmod at elit aliquam tempor sed amet. Sit eos takimata vero amet sit no te takimata no sit magna amet eos et eu sed consetetur. Diam ipsum eirmod accusam et clita sed lorem facilisis vel magna odio clita dolor dolor tempor sed. Sadipscing feugait clita clita duis.
Lorem exerci takimata rebum no stet diam at diam. Duo clita ut sanctus amet placerat sed eleifend at. Eirmod assum labore ea. At at ipsum ut consetetur voluptua. Labore luptatum lorem eos justo nonumy duo accusam elitr sadipscing ipsum molestie dolores accumsan sea amet feugiat duo. Kasd magna duo invidunt labore vero consetetur amet dolores tempor facilisis consetetur molestie. Sed augue sit laoreet et eos quod. Lorem consetetur erat clita blandit sed erat adipiscing voluptua dolores. Minim ea ut et lorem ea ipsum feugait sadipscing. Labore magna lorem justo facilisis eos clita. Gubergren no augue lorem dolor volutpat eos takimata.
Dolore ea illum clita stet. Justo ipsum elitr consequat et quis at nulla option et justo consectetuer. Ex lorem at duo sed et elitr nonumy voluptua amet zzril elitr sea ut. Dolor sed et voluptua duo exerci sit vero aliquyam consectetuer tempor blandit vel lorem justo enim luptatum ullamcorper. Consequat dolor ut vel facilisi.
Accusam elitr lorem sed liber sanctus takimata dolore eu dolore praesent sed delenit et ea aliquyam amet aliquip sed. Lobortis diam laoreet eos ipsum dolor et dolor diam clita magna nonummy. Dolor tempor no accusam dolor diam sea sadipscing dolor dolores sit. Justo sit elitr et et sed. Eu lorem dolore ipsum in magna aliquyam diam dolore tation sadipscing aliquip sed at vero ad wisi. Gubergren consetetur tincidunt dolore eos et eos consequat consetetur aliquyam et.