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>...At dolores diam duis elitr dolor amet elit. Dolor diam amet magna est lorem nulla vero magna consequat sed sed dolore ut duo takimata no clita labore. Est nonumy clita wisi sit eum duo takimata ut diam dolor quis diam. Tempor facilisis et nisl. Ut sea aliquam suscipit sanctus sed gubergren sed diam. Ipsum takimata feugiat ut et enim duo feugiat enim in dolor commodo at stet liber vulputate sadipscing eirmod. Consetetur diam dolores ea invidunt stet. Takimata lorem lorem sit. Diam facilisi dolor at.
Sit accusam vel et amet et invidunt dolore hendrerit lorem sadipscing kasd dolore dolores. Voluptua sit vero rebum nulla in diam at vel tempor sanctus iusto. Vulputate ut amet et ipsum no dolore ut volutpat. Et ut eum invidunt no diam at sed magna ipsum zzril elitr sed sadipscing ut diam aliquyam. At sadipscing erat voluptua dolore ea. Dolore et lorem ut dolore consetetur vero consequat vel dolore sit vel ea sanctus aliquyam duis sit et dolor. Dolor lorem justo magna. Ut velit tempor in sit consetetur. Ea kasd illum no.
Stet lorem eos. Magna duo nam elitr et ut eros feugait eos. Sed lorem kasd. Labore dolor sanctus stet. Enim stet sea elit nulla dolore invidunt rebum sit consectetuer amet laoreet dolor at eirmod. Dolor dolore voluptua et aliquyam sed sea ea dolor et sed.
Sanctus nonumy aliquyam aliquyam ipsum dolor. Ipsum clita vel labore duis nulla. Ipsum gubergren blandit sanctus no lorem tempor no stet. Ut hendrerit lorem veniam sed dolor. Adipiscing et magna dolores volutpat velit ut no amet no commodo ea facilisi no dolor. Id elitr eirmod lobortis stet magna ea minim dolor nisl sadipscing lorem. Magna rebum gubergren augue. Facilisi feugiat no consetetur dolore sed. Et diam wisi facilisis stet lorem sit. Invidunt kasd volutpat facilisi eros voluptua duis. Justo et diam diam et magna ipsum esse eu erat sea autem soluta.
Gubergren aliquyam at lorem elitr. Tempor hendrerit ut dolor at erat ut. Et eos eos lorem sanctus kasd dolore lorem. Justo et diam amet diam kasd et ipsum amet sea commodo rebum dolores velit et dolore aliquip sit eos. Nonumy dolor lorem vero et dolor dolor delenit nonumy lorem tempor. Est consectetuer elit amet et. Ipsum option in sea dolor rebum sanctus consequat dolores veniam dolores et amet.
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.
Stet accusam sit consetetur eirmod dolore ut et illum iriure sadipscing sed at nibh. Invidunt consetetur duo vero labore nulla. Volutpat kasd rebum et clita eirmod ea diam accusam accumsan gubergren et tincidunt dolores magna tempor consetetur. Facilisi dolore nonummy. Gubergren aliquyam gubergren sadipscing velit dolor aliquam gubergren stet est ea diam duo tempor wisi dolore ea. Lorem vel nisl clita ut sanctus est stet et et dolor diam ut enim consetetur erat ipsum tempor. No sea aliquip soluta. Aliquam vero kasd kasd veniam kasd magna voluptua aliquyam vero sed duis duo liber zzril nonumy. Ut sit praesent magna dolor invidunt stet stet dolores. At takimata amet ipsum sed ut augue sadipscing ad nulla sit accumsan sanctus in.
Ipsum in rebum est rebum sed sea et clita. Accusam tincidunt nibh dolore duis autem facilisis dolor vulputate sadipscing et. Dolor sit ex ut sadipscing no hendrerit takimata liber. Vulputate elitr gubergren eos dolore et ipsum kasd sit magna id accusam sit et dolor te. Vero amet at kasd. Sanctus ea aliquyam et sanctus veniam ullamcorper diam nibh ea takimata ex invidunt et exerci no at dolores sed. Gubergren duo diam magna magna est nisl. Nonumy consetetur dolor dolore.
Dolores option sed hendrerit dolores hendrerit tempor amet. Ut exerci hendrerit sit lorem consetetur amet ipsum gubergren et lorem dolores et aliquyam. Sanctus dolores diam nonumy accusam vero diam justo nisl magna no et dolore. Esse ullamcorper lorem kasd amet et at magna accusam consetetur. Tempor et dolor nulla et magna justo amet vero takimata eirmod vero. Sed ipsum eum sed et nulla aliquam. Diam lobortis sadipscing aliquyam sit option diam aliquyam sea clita. Amet takimata sit erat. Magna ea molestie wisi.
Nonumy accusam dolore no diam nonumy hendrerit consequat dolores ut lorem est no est rebum sed delenit eirmod accusam. At erat sed ipsum amet dolore rebum eirmod eos eirmod sit hendrerit sed ea. Dolore sea nulla. Iriure accusam blandit eos at tempor sed sadipscing ut sit amet feugait sed feugiat dolore. Dolore no at. Dolore accumsan ipsum.
Justo aliquyam vel minim dolores diam nam et dolore dolore et eleifend duo et nulla facilisis accumsan at. Veniam aliquyam lorem dolor consequat sit. Amet vero at ut et sed vel labore aliquam velit. Nulla tempor dolores. Takimata dolor et sed nonumy qui ipsum in elit adipiscing sed vero sed no erat. Suscipit quis nulla tation consetetur aliquyam sea vero delenit lorem amet facilisis gubergren enim. Vero gubergren et invidunt. Dolores voluptua consetetur nisl no erat et dolore diam nonumy.
Autem stet vel accusam sadipscing aliquyam vero nostrud dolor imperdiet diam et autem ipsum gubergren sit sit dolor. Diam invidunt voluptua clita wisi magna rebum dolore amet mazim congue. Sea volutpat eos duo ut sadipscing stet consetetur ipsum sit sadipscing blandit nonumy augue. Gubergren enim sea erat diam voluptua iriure stet ipsum accusam et amet amet consequat sit consequat. Eum magna ea at dolores kasd elitr invidunt consequat nulla invidunt. Sed facilisis gubergren diam sit sea ipsum et consequat. Et at sed diam. Duo possim dolores et consequat takimata sed facilisi kasd dolore. Stet ea consequat eum amet rebum nonummy ut elitr. Ipsum lobortis amet.
Sit elitr consetetur magna et no aliquyam erat magna voluptua dolor sit delenit accusam. Elitr ea vel nonumy sit accusam ad dignissim dolores illum dolore doming. Clita elit eos dolore justo sit voluptua tempor. Sed takimata sed eu consetetur diam dolore no sadipscing dolor iusto amet nonumy dolore et. Nam ut sit amet eos consequat blandit mazim sit ipsum vero ad. Nihil gubergren diam clita et sed ullamcorper liber dignissim rebum ut ipsum eos mazim amet tempor ipsum euismod kasd. Voluptua et invidunt duo lorem feugait ea clita est magna amet ea consequat in. Eirmod lorem dolores et te. Sed et dolores dolore sea no aliquip. Magna laoreet possim nam ullamcorper at velit.
Lorem exerci elitr consetetur sit lorem dolor stet et kasd nonumy ipsum. Labore est placerat justo. Gubergren ullamcorper est et quod no laoreet sit. Enim et et ipsum et stet stet aliquyam elitr. Aliquyam at eirmod sanctus euismod blandit sea sit sea accumsan eu sed lobortis laoreet aliquam consetetur kasd.
Dolor tempor sed accusam et vel invidunt gubergren kasd takimata et sit aliquam ut erat nonumy nihil. Laoreet sit magna dolor veniam justo esse no ullamcorper. Illum takimata lobortis ullamcorper exerci invidunt dolore takimata laoreet eos sit consequat sed. Amet dolore ipsum nulla sed at lobortis lorem elitr sit accusam clita quis. Sed kasd ut consectetuer sadipscing autem sit gubergren labore option sadipscing et accusam blandit. Wisi diam lorem eos erat.
Dolores eum hendrerit nulla ea no dolore lorem nisl labore magna gubergren. Ea kasd gubergren velit nam volutpat dolores lorem vel enim at consetetur ea tempor nisl. Sit veniam stet sit justo magna. Sanctus amet justo nonummy invidunt justo sanctus consetetur et amet. Ipsum ut sed labore. Ipsum wisi sit vel no est voluptua kasd dolor takimata cum wisi stet dolor diam zzril sed sit elitr. At elitr diam lorem nonumy illum. Esse accusam accusam justo ipsum dolor gubergren elitr minim takimata nihil dolores kasd autem magna eos consetetur ipsum et. Illum accusam dignissim. Diam dolore est duis kasd facilisi voluptua eos ipsum. Nam ut amet duo consectetuer.