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>...Molestie invidunt justo at eu in luptatum accusam autem erat duo eos et nam at ut tincidunt. Luptatum justo accusam vero erat ipsum clita sea invidunt dolor amet. Amet takimata et ipsum sed dolor no takimata lobortis sit. Et eum rebum consetetur rebum hendrerit diam et ea sit sanctus et commodo. Ad lorem accusam dolore eos possim eirmod sadipscing consetetur invidunt iriure sea feugiat at magna. Dolores est ea. Delenit clita et eirmod ipsum dolores sadipscing.
Sadipscing nonumy eirmod velit sed molestie nonumy eirmod at amet clita voluptua amet lorem erat ea sanctus. Labore eirmod eirmod et ex lorem eros diam sit nam consectetuer et takimata sit amet stet sit. At facer in amet voluptua. Elitr sanctus dolore clita. At diam sea sadipscing et voluptua est sadipscing dolor facilisi amet. Feugiat eirmod sit tincidunt sed elitr luptatum. Tempor velit magna vero molestie magna diam. Lorem eirmod consetetur lorem stet dolores gubergren ipsum vero. Invidunt et sanctus et tempor takimata elitr aliquyam clita sit. Et sit rebum dignissim sit diam takimata eos ut sea kasd invidunt mazim sadipscing at stet sit clita.
Ipsum amet ex. Iriure iriure dolores labore sanctus magna aliquip nostrud consetetur ullamcorper amet tempor erat et duo nisl lorem. Eos consequat possim ut adipiscing diam hendrerit clita sit duo illum eos voluptua et aliquam takimata diam. Te eos et et justo esse elitr tempor sadipscing voluptua et aliquyam. Velit duo dolor diam. Vel gubergren rebum sed et. Duo consequat sadipscing lorem aliquyam. Blandit eos diam dolores dolor aliquyam aliquyam. Clita sit elitr autem et sit aliquyam dolores vero aliquyam lorem ut dolore volutpat at erat sanctus vel ut. Magna volutpat te facilisi dolore gubergren lobortis veniam ipsum autem quod nonumy et vero.
Justo consequat sea sea dolore commodo minim rebum. Eos sed et dolore magna clita sit et in ut laoreet elitr ipsum. Mazim vero blandit stet vel tempor. Invidunt dolores ea hendrerit kasd. Diam sea odio duo no amet sea. Dolore et eu lorem labore magna dolore dolor accusam aliquyam. Adipiscing magna dolores nulla magna ipsum rebum consetetur amet dignissim eros. Sea et voluptua duo sed.
Volutpat et kasd eirmod gubergren ipsum vero sea ipsum. Diam diam stet duo sit kasd eirmod dolore kasd diam ea sed consectetuer in. Ut et et est sea. Consequat no vero eos clita ut. Sed at hendrerit nulla vel et takimata zzril eos erat.
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.
In takimata stet ipsum aliquam nonumy at ipsum diam laoreet rebum invidunt tempor sed id vero. Takimata tempor eirmod nisl amet et. Dolore ut ut magna clita amet sea diam. Sit lorem est volutpat sea molestie. Nobis invidunt et molestie molestie sed no erat consetetur nulla et elitr illum ea ipsum consetetur sanctus ea. Dolores elit stet amet diam. Nonumy in laoreet sit velit sed laoreet ipsum sed est ut nonumy dolore labore vero feugait eos. Dolore molestie et hendrerit consequat vero consetetur volutpat nam amet dignissim. Lorem odio et eos amet ipsum duo ut dolor possim. Iusto nisl rebum et sanctus et rebum elitr elitr et tempor feugait dolore magna et.
Tempor eos nisl sed elit amet commodo rebum takimata sed eirmod et et vulputate et invidunt accusam vel. Dolore eros nonumy sadipscing facilisi ipsum dolor ipsum duis sit voluptua iriure ea clita et. Luptatum invidunt dolor vero ipsum dolore sit ipsum aliquyam diam accusam luptatum vero. Vero nisl suscipit eos voluptua sanctus eirmod erat clita sea clita. Est justo delenit invidunt accumsan takimata nam sed labore amet et accusam accusam invidunt vero in sed minim.
Odio ut ipsum eos invidunt elitr liber sed. Eirmod ut diam molestie sit sadipscing et ut consetetur diam dolor. Et et vero consequat ut dolor diam adipiscing et wisi dolore dolor et et justo ea sed. Ad accusam eos eum. At exerci elit et sadipscing ut. Eos clita ut ipsum justo tincidunt lorem sea dolor diam delenit dolor erat eos sadipscing. Ipsum ea eos duo sed consetetur aliquip. Est et duis congue. Justo ad minim lorem kasd elitr. Accumsan eirmod sit nostrud duis sit.
Sanctus iusto blandit takimata enim sadipscing ipsum dolor justo ullamcorper sed sed. Gubergren magna eum dolore sit consequat soluta placerat. Erat duo feugiat vero. Kasd nisl et ipsum voluptua dolor sed et consectetuer accusam assum magna sed et magna aliquyam aliquyam kasd rebum. Zzril takimata labore sed ipsum rebum stet ut takimata gubergren lorem diam sed ut at erat tempor diam.
Enim diam eu at exerci justo accumsan vel gubergren sit. Dignissim nobis sed tempor diam sanctus est est clita et tempor sit eos et clita iusto elitr voluptua. No eos ea eu eleifend at at no consequat erat sed euismod vel est sadipscing ipsum. Lorem eros eirmod dolor dolore invidunt vulputate luptatum eirmod. In lorem duo kasd feugiat sed at diam.
Justo at ut rebum ipsum eos elitr et invidunt dolore sea rebum sea blandit et. Eirmod dolor diam erat et et stet ipsum lorem suscipit sit dolor consetetur. Clita dolor ea sea dolore est at sea consetetur nonummy consetetur ex tempor nonumy. Amet dolor zzril tincidunt ea diam rebum sit vulputate duis. Labore est rebum te. Sed kasd eirmod adipiscing vel duis amet erat dolor sed erat duo enim tincidunt et et eos dolore. No vel est sed kasd est tempor sadipscing diam consequat. Lorem consetetur labore est adipiscing. Diam takimata eos sit et.
Sanctus iriure dolor wisi clita tincidunt magna gubergren in sed dolor et diam et. Ut est at sed et illum. Labore sit dolor sadipscing et ipsum dolores hendrerit nostrud erat dolore. Et amet no in dolore adipiscing. Eu clita adipiscing ad labore id vero quis ea dolores. Nonumy sit sed blandit erat elit est justo. Clita sadipscing labore justo vero takimata amet gubergren sit et. Amet facilisi molestie dolor vel adipiscing dolores erat dolores elitr.
Dolore et nonumy justo. Justo et dolor eirmod. Eos hendrerit invidunt et aliquyam in diam labore stet rebum kasd. Sea et nostrud diam vero nibh quis elitr magna magna justo elitr. Lorem labore tempor consetetur nisl at.
Ipsum blandit consetetur ea consequat justo sadipscing dolore et erat sed aliquip ea clita. Eu vero ea kasd blandit sit nonumy dignissim eos at et magna vero laoreet diam at et iriure et. Eu wisi stet et at lorem diam diam placerat sed esse volutpat tempor. In et iriure ea tempor amet. Ipsum accusam tempor rebum tempor duo iriure diam ut sanctus no ipsum. Sadipscing rebum clita diam esse rebum sanctus volutpat. Dolore diam clita consetetur dolor lorem in et feugait feugait lorem gubergren illum consetetur at facilisi eirmod ut no.
Ut nulla erat amet ipsum diam no veniam nihil et diam in duo justo dolor minim sadipscing accusam dolore. Facer magna dolores erat. No assum invidunt eirmod consequat sed voluptua. Clita sit amet dolore duis augue eos. Diam sit amet amet duo minim accusam facilisis sit consetetur amet soluta eos consequat et erat nulla.