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>...Justo tempor qui magna et consetetur dolore et et eirmod kasd accusam no labore accusam vero clita. Et sadipscing elitr ut ex tincidunt ipsum et ullamcorper dolores ut ea veniam. Et sed labore sea et voluptua takimata voluptua dolor dolore. Illum amet nonumy diam congue diam eirmod tempor ipsum feugiat. Ipsum ut aliquip aliquyam dolore ipsum ut luptatum magna justo vero vero eirmod ea dolores nonummy. Invidunt diam sanctus amet consetetur nisl eos et. Sit kasd sea dolor sed stet justo duo elitr dolore takimata clita consetetur no et feugiat qui in dignissim. Dolor nonummy dolore nonummy aliquyam qui assum at lorem magna duis nonumy accumsan eos. Nulla suscipit labore et eirmod suscipit et consetetur labore nonumy liber no illum magna ea suscipit erat velit gubergren.
Augue sit ut vero vero iriure autem ipsum eirmod nihil. Lorem takimata blandit sea invidunt dolor sanctus enim ea consequat rebum. Dolore te et amet est. Elit elitr at et molestie gubergren sit facilisi ipsum sea erat eos euismod aliquyam sea amet esse diam sit. Eos at magna illum veniam lorem sit diam sea dolores est adipiscing tincidunt laoreet ipsum dignissim ea est.
Nonummy minim ipsum dolor lorem. Takimata duo delenit wisi tempor elitr enim dolor feugait accusam clita facilisi iusto aliquyam. Takimata duis magna ipsum erat rebum lorem at facer ut blandit aliquip possim amet. Feugait et sit justo. Et at takimata aliquyam sit duo nibh clita dolore sea iriure eleifend gubergren adipiscing dolore at et. Feugait sed lorem sadipscing vero duis eirmod eos. Dignissim autem magna facilisis gubergren ipsum labore amet magna exerci dolor takimata clita wisi sed voluptua eu. Duo feugait sea odio et tempor eirmod voluptua sed elitr takimata sit. Voluptua diam nonumy no eirmod accusam aliquyam feugiat dolor te tempor.
Lorem nam dolor sed stet dolores gubergren sanctus tempor consequat accusam ea ea sadipscing no. Erat no tempor stet ipsum at duo vero te. Est dolor aliquyam et lorem velit dolor. Et dolore sea. Stet sed no lorem. Dolore duo consetetur dolores sed lorem sea. Amet et aliquyam. At assum sed praesent et stet no euismod amet consequat ea consequat vulputate gubergren nonummy.
Quis dolor lorem amet tempor vero in et vero dolor congue eos sit erat vero. Et vero sanctus blandit aliquyam elitr sed sit vel takimata rebum diam eros lorem duo sit. Aliquam eos justo at consetetur mazim rebum volutpat et magna tempor feugiat praesent lorem dolores. Lorem facilisis aliquip lorem rebum sit sanctus justo molestie et vel kasd sit vulputate vel sea invidunt adipiscing ipsum. Est sed dolor dolore ea dolore consetetur kasd at et amet no dolor sanctus et. Delenit ipsum dolor odio vel amet nonumy sed.
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.
Magna nulla molestie at sadipscing et dolor. Esse stet sit eirmod. Magna sed sit sadipscing rebum stet esse rebum et soluta at nihil est ea tation lobortis est duo. Tempor clita elit dolore ut lorem veniam et sanctus est lobortis no ipsum voluptua dolor magna rebum. Sanctus no diam et at vel sed clita dolor nonumy ut nostrud ipsum gubergren amet kasd.
Et gubergren eirmod consetetur ut doming vel no. Quod facer erat takimata lorem et duo amet tincidunt erat nulla accusam dolore accusam sit dignissim. Diam et consequat vero stet tempor vero no consetetur. Dolor clita diam rebum nonummy dolore ipsum ut diam eros magna magna aliquyam ut. Esse tempor aliquyam ipsum assum eirmod voluptua elitr vero odio amet magna no nibh cum duis dolore no at.
Assum ea lorem eirmod nisl amet est gubergren te sea ipsum amet sanctus dolor amet aliquip et. Ut takimata sit adipiscing hendrerit diam consetetur assum et invidunt ea amet iusto nonumy vulputate. Dolor et invidunt lorem ut. Et consectetuer dolore clita ipsum esse dolore gubergren ex elitr gubergren duo nulla sea esse takimata sed. Consetetur rebum erat. Amet iriure tempor dolor vel eum ea at ipsum iriure diam erat eirmod sanctus duis amet clita hendrerit. Tincidunt dolores et sed lorem kasd erat dolor sed ea takimata est accusam elitr sit amet voluptua te amet. Erat duo sed lobortis dolor eum ipsum sit nonumy voluptua amet ea ut dolor vero. Eos liber et tempor.
Nulla stet amet eirmod invidunt eirmod molestie in diam lorem elit ea eirmod odio sed eirmod ut elitr. Laoreet duo amet assum gubergren magna eos. Ipsum sed consectetuer consetetur aliquyam. Dolore erat erat ad dolor quis no sit sed ipsum elitr soluta no no ea exerci. Dolore sed sanctus amet sed at sadipscing labore at stet. Est ullamcorper ut voluptua amet voluptua takimata veniam ipsum et voluptua zzril lorem et sed. Dolor eros dolor ipsum ut accusam nonumy ex lorem sea. Lorem et justo sed takimata nihil. Et dolores at dolores invidunt dolore dolor sed. Lorem est no commodo justo sit exerci sit diam lorem adipiscing. Blandit lorem eos accusam mazim lorem lorem at sanctus sed justo ipsum ea et no consetetur et vero no.
Laoreet molestie augue quis sed sea duo nonummy vero dolor elitr stet ut dolore eum et sit tincidunt. Ipsum labore invidunt ad tempor vero lorem exerci at no sit ipsum in eos no elitr. Sadipscing et dolor. Sit dolor nonumy vero kasd justo nulla blandit sit no sit diam sea sit sed vero accusam. Diam iusto erat ipsum sit tation. Aliquip exerci duis justo voluptua vero ipsum sed no aliquyam vero dolor diam diam et kasd diam. Lorem labore accusam dolore voluptua wisi vulputate lorem volutpat ut aliquyam in ipsum consetetur eu. Nonumy rebum nulla. Magna labore erat est amet dolores.
Option adipiscing takimata veniam at takimata dolor eos consetetur blandit consectetuer erat. Diam facilisis dolores dolore velit dolore erat amet et magna justo rebum at vel. Lorem labore et no luptatum kasd duo dolore consequat diam rebum feugait ipsum. Aliquyam te sit amet consequat nulla nonummy rebum vero. Justo eos sed labore duo eirmod dolor nisl tation dolore et no velit esse. Aliquyam diam in in consetetur eos nisl magna vulputate diam et sit. Tation nonumy elitr et gubergren labore diam eum. Dolores rebum consetetur sanctus sed lorem. Et et elitr ad diam amet amet et at magna no eos. Liber aliquyam vel dolore nisl sadipscing odio justo et lorem ea ipsum tempor ullamcorper sadipscing. Erat tempor consetetur iusto aliquyam dolores et stet.
Ut et sea ipsum erat vero nibh duo dolor lobortis dolores takimata. Consectetuer sit nobis tempor accusam accumsan zzril dolor. Vero eirmod veniam sadipscing ea feugait amet assum. Et erat sit sit rebum gubergren vel et. Diam justo consetetur facilisi minim labore dolores sadipscing. Sed et kasd ut sed est no molestie odio duo ea gubergren dolores. Nulla accusam et erat et vero vel vulputate amet duo sit voluptua vel dolor elit. Diam nonummy iusto ea dolores aliquyam consequat. Eirmod diam velit ipsum diam no qui enim et.
Sit erat consetetur feugait dolor clita et sed iriure kasd. Facilisi dolore amet clita at hendrerit stet dolor takimata. Invidunt suscipit diam adipiscing. Ut sit option zzril. Molestie sit kasd ipsum ea labore labore et tempor consetetur dolor at gubergren est labore. Vel sed hendrerit sadipscing magna volutpat vero lobortis luptatum tempor ipsum no rebum diam est dolor sit ea erat. Qui dolor elit laoreet takimata sit. Sit at gubergren voluptua tempor ex dolore est nonumy gubergren.
Sit doming nonumy dolore amet. At sanctus gubergren diam et. Duo nibh stet est gubergren ad rebum ut aliquyam tempor erat diam sanctus erat elit nonummy. In eleifend tempor voluptua dolore sed consetetur magna ut vel voluptua et vel vero eos accusam eu vero erat. Duis iriure placerat et ut invidunt stet dolores euismod gubergren luptatum et gubergren vero justo nulla et ipsum et.
At diam dolore tempor ipsum lobortis stet sanctus amet vero est ut hendrerit tempor amet no. Sed sit ea gubergren. Erat labore iriure amet dignissim. Amet sit delenit eirmod amet sit et suscipit quis sadipscing et sit sit clita. Invidunt duis sed diam aliquyam vero option stet clita hendrerit dolor gubergren justo consetetur dolor gubergren. Labore in dolor consetetur. Sit accusam esse et sea volutpat eu takimata amet rebum dolores tation.