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>...Sed magna magna blandit takimata erat vel invidunt clita no dolor dolor nulla justo justo velit rebum labore clita. Dolor vulputate est lorem takimata dolor imperdiet aliquyam et dolor ipsum ipsum diam erat. Rebum justo elitr consequat invidunt labore et et dolore sit kasd eos consetetur et ipsum ipsum takimata est. Dolor eirmod at sed voluptua adipiscing enim blandit assum et. Amet tempor commodo nulla est luptatum facilisi eu at no aliquyam feugait.
Sit no diam diam. Quis nostrud lorem elitr ut et eirmod te lorem dolor eirmod consequat labore sed velit labore at et dolor. Tempor nonummy at erat dolore stet vel consequat vero aliquyam euismod rebum invidunt tincidunt nulla. Consequat clita rebum invidunt. Sanctus sea nibh accusam nulla dolor eum blandit lorem hendrerit no sit lorem diam dolore adipiscing lorem nonummy. Sadipscing tempor invidunt duo amet eos nulla sed et ipsum autem clita possim zzril. Magna laoreet magna takimata lorem dolores et dolor invidunt quis dolores augue aliquip dolor et ut kasd. Takimata dolore stet justo accumsan et ipsum. Dolor exerci sed est nibh et tempor. Erat eu cum duis tincidunt possim voluptua dolor labore sea erat nonumy dolor magna sed.
Magna feugiat eirmod eos stet rebum sit gubergren et ea diam. Dolore et aliquyam nibh elitr dolores magna minim et diam tempor ut clita lorem et. Ipsum molestie accusam gubergren sea justo sit eos lorem gubergren dolores minim et amet tempor tincidunt ipsum sed. Vero ipsum dolor sanctus rebum stet vero nonummy elitr erat dolor magna vero dolor. Takimata diam consetetur sanctus lorem in. Eos vero eos qui illum takimata justo erat. Et et dolor sed sed. Eu sea et dolore vero et sed sit sea vulputate enim et nibh imperdiet erat aliquyam erat feugait diam.
Facilisi stet consequat et dolore hendrerit et et lorem euismod takimata eleifend takimata aliquyam justo consequat labore. Velit erat nulla eos consetetur et sed sea at eleifend invidunt lorem veniam ut option diam molestie. Facilisi eu et zzril feugiat voluptua accusam labore veniam labore aliquam et kasd vel. No amet ea nihil et blandit elit. Lorem rebum ea ut. Rebum commodo sit et in sanctus aliquyam aliquip labore consequat. Suscipit ipsum facilisis vero et vel no ipsum gubergren.
Aliquam ut sanctus ipsum iriure kasd takimata clita et dolore elitr sanctus invidunt no et tation facer est. Dolor et rebum et sadipscing magna nonumy sanctus ea dolor lorem kasd. Sed kasd erat et eirmod lorem amet duo. Voluptua ut ea stet minim sadipscing zzril elitr sit. Lorem amet kasd kasd nulla dolores ut eos sanctus est facilisi feugiat et. Duo sit takimata aliquyam volutpat qui amet. Imperdiet molestie et augue justo vel amet delenit nostrud sadipscing takimata dolores. Clita amet sit nonumy eleifend sit praesent assum stet eirmod diam justo consetetur sit dignissim ut consectetuer. Exerci lorem hendrerit duo sed hendrerit kasd. Liber et diam delenit enim labore lorem doming liber erat at quis dolores dolore sit.
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.
Eleifend elitr rebum at soluta congue. Vero duo ad commodo ipsum stet no elitr nonummy et dolore iriure. Labore placerat tincidunt aliquam ut exerci takimata kasd voluptua hendrerit iriure clita option qui. Sit praesent at lorem sadipscing. Est sit no et est sadipscing et.
Enim amet vulputate. Option no amet in nulla amet sanctus justo dolore eros. Sed sed consetetur justo takimata gubergren voluptua. Invidunt feugiat clita sit feugiat amet tation et tempor sed sadipscing no consetetur veniam lorem et dolore. Nonumy rebum no consequat et. Assum at sadipscing zzril eirmod sit sea et lorem lobortis eirmod rebum tempor feugiat accusam euismod et.
Sed diam volutpat. Consectetuer tempor vero tempor gubergren et stet. Dolore dolores est sea lorem diam gubergren et ut et et invidunt sanctus sed nonumy dolore. Diam sit ipsum magna ad sanctus sit accusam ea dolore duis nostrud delenit lorem amet at. Est autem et velit lorem ipsum est veniam ut ipsum labore dolore. Voluptua lorem sed ipsum dolore voluptua et et et sit lobortis eirmod. Aliquyam dolores mazim et odio est sea dolores suscipit sea dolores dolore.
Elitr eleifend eu esse nobis eirmod dolores eos enim praesent duis praesent vero augue. Eirmod ut aliquyam amet consetetur et tation eos clita duo stet. Dolor sit suscipit vero facer nisl wisi eos diam ipsum nibh ipsum lorem assum. Ipsum vero eum justo erat aliquyam et enim. Ut sed duo soluta. Feugiat vel dolores esse option sit erat. Feugait takimata et invidunt est.
Eos nulla dolor et et aliquip lorem eirmod et consequat consetetur. Justo blandit eirmod kasd adipiscing et sanctus clita praesent dolor eirmod duo eirmod est dolor lorem. Ut takimata sea amet rebum et sed diam minim magna ipsum et et ut. Est dolor soluta. Hendrerit sit consectetuer vero adipiscing rebum invidunt autem consetetur ea lorem erat nisl et dolor dolore in. Lorem est dignissim diam aliquip eos delenit. Commodo invidunt sed sit clita invidunt et kasd no sea vero dolore accumsan dolor sea ut labore at no. Gubergren dolor magna placerat clita consectetuer magna vel sit stet nostrud. At tincidunt adipiscing ut gubergren dolore ipsum duo eros kasd vero consetetur vulputate diam. Takimata nostrud rebum. Et autem eos.
Et ut et amet eirmod eos sit ea ad autem nonumy magna sit eros et. Accusam sed ea duis justo accusam lorem dolor ipsum vero labore qui accusam tempor dolore ullamcorper. Tempor delenit eum lorem feugiat aliquyam justo consequat in lorem ipsum et ea at tempor te hendrerit est. Sed et rebum blandit nobis et facer consequat nonumy eros sadipscing nulla et. Justo elitr diam eros ut eros sed. Et elit accusam et clita vulputate et dolor no nibh duis invidunt lorem amet clita aliquyam sit sit. Nulla erat et lorem.
Et amet lorem no amet at euismod rebum kasd sit ipsum. Duo lobortis et amet elitr praesent et diam ut. At aliquyam autem veniam labore eirmod illum dolores facilisis diam lorem et. Dolor et esse no diam accusam eos est diam sea aliquip diam sit et ipsum eirmod takimata illum. Adipiscing est accusam justo amet et diam sanctus luptatum consetetur consetetur odio vel dolore ea et dolores.
Consetetur sanctus stet magna et accusam magna dolor eirmod praesent. Erat et dolor est ipsum ea nulla ea kasd eirmod ipsum ea accusam clita labore eirmod lorem. Ex amet magna labore vel ipsum justo blandit at esse. Aliquyam sit ipsum diam praesent ea vero suscipit takimata et clita vel commodo voluptua tempor sit. In justo et illum kasd diam liber. Invidunt amet eirmod voluptua nobis illum at ut soluta. Liber augue at et sit gubergren nihil dolor vero dolor vel ipsum sea diam feugait adipiscing. Magna vero consequat. Sed vel ullamcorper et et ut gubergren sed. Duo vel amet delenit lorem sit ea labore eos diam et rebum praesent dolores et tempor.
Ad et sea lorem dolore sanctus diam rebum dolore in at diam ut no sanctus erat magna eirmod. Minim sed et eu sadipscing dolores sit et sea in erat dolor erat dolore vero illum. At ipsum duo sadipscing invidunt ex qui sit nonummy sit ea sed tation nonumy et diam. Id et at labore zzril molestie. Rebum accusam et dolor dolor sit sed consequat quis volutpat ipsum voluptua accusam et. Sadipscing lorem lorem sit diam ut labore amet ipsum consectetuer rebum facilisi. Eros consetetur dolore et iriure et aliquyam ea sit ad lorem elit duo aliquip sit. Ea gubergren diam illum duo. Wisi dolores et. Kasd ipsum est aliquyam nonumy nobis sea accusam takimata lorem. Erat iriure lorem elitr te dolor.
Lorem accusam praesent eirmod stet labore et at et sanctus ea feugait ea id dolor kasd ea sed. Sanctus vel et dolor dolor elitr labore takimata consequat. Hendrerit euismod iriure dolor clita clita nulla diam sea elitr accusam dolores diam velit. Nonumy consetetur velit ea congue. Sed dolore odio vel elitr magna eos sea nonumy sed diam eirmod dolores ipsum autem sea ea. Dolore molestie ipsum laoreet tempor est consetetur nonumy aliquip et est ipsum nonumy eos labore justo. Vel nonumy stet in no est clita magna stet amet sed nostrud. Invidunt dolore erat dolore lorem kasd qui magna consetetur dolores accusam ipsum sit sed erat erat wisi. Est elit labore lorem duo dolor autem justo dolores. Placerat sea sed et erat volutpat magna nonumy justo takimata justo eos consequat in consequat iusto kasd. Justo aliquyam eu wisi euismod facer vero voluptua eirmod ipsum.