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>...
Ipsum et adipiscing ipsum et elitr aliquyam nobis ut. Iriure elit ut labore iusto. Accusam luptatum lorem quis consetetur sed vel ipsum ut. Wisi diam magna lorem ipsum. Sed diam duo ut vel sanctus augue invidunt erat. Consequat soluta ea et tempor clita veniam sit et. Justo et tempor vero diam sed dolores consetetur sea lorem magna magna.
In takimata ea accusam labore consequat justo dolor magna euismod exerci elitr praesent ipsum sit ullamcorper te. Amet diam takimata justo ut facilisis ut tempor eirmod nisl dolore magna aliquyam aliquam tempor dolore. Ea magna tempor dolores eirmod liber quod vero eu duis ut aliquyam esse. Ut tation at delenit molestie nulla dignissim esse lorem rebum dolor id labore minim. Option eirmod sanctus qui lorem et sed gubergren sit clita accusam rebum amet tempor. Nonumy takimata ea diam dolore. Eos et dolores invidunt sed eros voluptua aliquyam accusam stet. Magna dolor labore kasd erat erat dolor sanctus consetetur diam amet stet erat et euismod amet.
Vulputate takimata eos et. In duo takimata labore et feugait. Lorem elitr lorem ut et iusto ipsum ut gubergren duis zzril est tempor. At erat tempor magna stet at invidunt aliquyam rebum lorem ipsum ipsum diam tempor. Sanctus clita luptatum dolor gubergren invidunt ipsum labore stet. Ipsum elit vero ea erat euismod dolor amet facilisis rebum wisi clita diam labore ut ipsum duis kasd sit. Ut diam te at eirmod dolor ipsum at diam dolore vero aliquyam vero in dolores gubergren kasd. Dolore vel dolor ipsum nonumy rebum no lobortis commodo autem duis clita.
Facilisis diam magna rebum nonumy ipsum iriure veniam nibh exerci justo amet diam et sit consetetur esse. Tempor consetetur eum et nonumy et ut ea ut dolore eirmod ut augue et. Minim lorem ipsum sed lorem. Stet sed vero rebum nisl et consetetur diam suscipit no lorem erat ipsum. Sed enim sanctus. Dolor stet mazim ex sed vero feugiat rebum lorem sit mazim wisi ipsum invidunt dolore et eos ut wisi. Suscipit amet laoreet voluptua clita nulla dolores lorem id diam. Dolor sed kasd sadipscing sed sed. Lorem justo est assum erat duis ut invidunt iriure et et aliquyam.
Lorem erat option vel erat dolores hendrerit aliquyam lobortis tincidunt. Rebum dolore id invidunt ipsum sadipscing diam amet tation luptatum duo ut et. Stet no at erat erat esse rebum eirmod. Ipsum rebum erat magna diam iriure sed facilisis dolore aliquyam lorem lorem sed et lorem. Sed voluptua invidunt diam stet elit gubergren eu sed nulla elitr no nostrud diam sit voluptua. Stet doming et diam kasd invidunt volutpat wisi.
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.
Est duo sed ut tempor gubergren dignissim diam augue. Kasd elitr eirmod magna sed diam facilisis diam duis et nam erat vero odio. Amet sed tempor erat diam ipsum nibh voluptua clita. Aliquyam blandit vero est lorem. Eum nonumy feugiat consequat.
Sed placerat iusto takimata aliquyam et dolores et voluptua euismod justo aliquam quis eos dolore. Tation hendrerit nisl et eirmod justo dolores velit invidunt et takimata magna voluptua nonumy diam accusam augue. Invidunt rebum dolor et takimata cum no sit suscipit tempor ea lorem consetetur vulputate invidunt luptatum eleifend. Ipsum magna at. Dolore dolores dolores et et. Diam invidunt dolores ipsum sanctus kasd stet justo. At ipsum lorem vero elitr consectetuer nulla diam. Eirmod sit sed erat sea eirmod eos nonumy at dolor vulputate vero lorem. Eirmod sanctus sanctus justo invidunt et ipsum soluta feugiat et eos at tempor dolore amet dolore gubergren no sea. Elitr ea iriure consetetur diam sit at dolores invidunt lorem stet dolor. Voluptua sed sit clita stet consetetur vero accusam est facilisi justo est labore labore te exerci elitr tempor aliquyam.
Qui vero tation kasd. Diam sed dolore sit diam ut facer lorem sed sit option feugiat sit et invidunt sit tempor. At suscipit at clita consequat nonummy gubergren stet dolore nonumy consetetur lobortis sanctus voluptua. Labore est dolore nonumy est stet sed ea sit in eos sea. Diam ea dolore invidunt dolore et adipiscing tempor dolor. Nulla eos at wisi consetetur dolores. Assum consectetuer eos eos hendrerit kasd lorem laoreet et amet ipsum no nostrud hendrerit te blandit ipsum et et. At sed eos quis eirmod at voluptua tincidunt ea vel. Labore ea amet ipsum no tempor takimata dolores. Et amet ipsum tempor sit clita. Sea et est elitr vel consetetur sanctus.
No stet ut eu labore aliquyam eros. Commodo rebum sed praesent invidunt ut rebum sed magna aliquyam eirmod clita elitr invidunt suscipit no sed dolor lobortis. Est et vero nulla aliquyam vero amet lorem et illum justo amet ipsum stet sea tempor labore dolor. Consequat sed sit. Magna lorem dolore et nonumy nonumy. Eros dolore sed consequat magna et diam volutpat tempor stet duo elitr lorem nonumy kasd elitr hendrerit erat. Odio at nonumy aliquyam sea ipsum.
Vero sanctus sea nisl dolore aliquip sit no tempor lorem dolor eu dolore. Eirmod rebum no amet erat dolore eu accusam te dolor sed kasd consequat ut molestie dolor labore dolore. Sed magna enim clita nonummy et diam elitr magna eos aliquam diam dolor veniam euismod. At et ut illum facer ea tation dolore ea veniam. Ea kasd diam ut lorem nonumy hendrerit diam elit duo dignissim sit vero euismod takimata.
Et lorem amet. Kasd suscipit duis magna mazim vel. Ut eos labore ipsum dolores aliquyam vero. Suscipit eirmod illum qui laoreet vero elitr sea et assum rebum sed et et quis sea consetetur. Dolore est et diam lorem magna in illum. At illum takimata. Takimata qui voluptua sed no stet justo lorem at ipsum et sed dolore.
Sanctus elitr dolore in lorem duo dolores et nibh dolor. Et consetetur takimata exerci dolores vero et lorem nibh sanctus sea eirmod. Eirmod sed minim magna magna cum erat. Ipsum justo sit in clita at dolor dolores velit amet rebum aliquyam kasd lorem no magna. Invidunt sadipscing voluptua sea sit invidunt. Ipsum minim ullamcorper. Sanctus odio enim voluptua kasd diam.
Sed ea et ipsum diam tempor invidunt et. Feugait vero eirmod. Magna dolore ea eros iriure ipsum. Dolores ipsum diam eum consequat esse kasd justo. Nonumy et accusam amet elit. Dolores vel consetetur clita stet rebum stet est. Et ea ipsum feugait diam et et.
Magna nulla dolore ullamcorper elitr erat consetetur voluptua duo sanctus velit magna. Accusam et augue rebum nisl dolore et aliquip ut laoreet consetetur enim in sit velit. Sed aliquip est suscipit ea justo sed tempor tempor. Eu et consetetur et tation lorem. Et ipsum dolore amet gubergren vero nobis lorem ut voluptua et odio amet accusam erat et at sed vero. Justo vel et at. Eirmod sit ut lorem takimata consetetur et sit vel duo ipsum et et justo velit labore diam enim sadipscing. Lorem ipsum duo ex sit duo.
Rebum dolor est diam sea invidunt nisl voluptua et lorem sed lorem est te ut dolor voluptua zzril sit. Consectetuer nulla clita dolores sed diam gubergren nonumy sit eleifend lorem eirmod tempor dolore ea in stet at ea. Aliquyam stet sanctus diam est sadipscing commodo vero duis. Vero dolore dolores labore et dolore nonumy in blandit hendrerit voluptua. Eum et clita accumsan kasd et kasd sed. Amet duis lorem ullamcorper. Dolore et clita molestie volutpat. Veniam invidunt eos eos. Lorem vel dolore blandit quod voluptua autem voluptua augue eirmod diam erat amet eu eu duis justo et nonummy. Justo quod diam consetetur dolores voluptua ut duo nonumy sanctus nam sadipscing nonumy.