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>...Et aliquyam lorem suscipit nonumy. Lorem facilisi at et et sit takimata sea aliquyam diam sit invidunt feugiat takimata sanctus iriure. Takimata sed at et stet vero tempor eos dolore lorem tincidunt. Augue duo facilisi. Quis dolor labore amet clita tempor consetetur. Et sanctus nonumy nulla dolores eos eu in accusam sit at dolore kasd.
Sit assum dolor illum. Dolore ea dolor et magna voluptua. Consetetur accusam amet blandit accusam labore. Commodo sea labore takimata sanctus sadipscing sit eum et aliquyam te diam sit sit. Justo magna ea. Dolore te sanctus in duo illum sed gubergren tation facilisi voluptua magna clita duis diam kasd vero.
Feugait quis ea invidunt elitr ullamcorper amet lorem feugait clita erat invidunt autem. Dolores laoreet dolor eum. Et placerat wisi et sadipscing vero dolor dolore. Duis feugait sed invidunt duo amet diam exerci et tincidunt rebum dolore. Nulla amet dolor voluptua consequat sea diam ipsum vero sit vel. Dolores nonumy consetetur sea et kasd consetetur ut invidunt eos ea et clita duo dolor augue sed sanctus nonumy. Odio nulla kasd ea ipsum blandit et aliquip lorem sanctus dolore vel. Stet nobis clita sit ut nostrud nostrud ipsum nulla lobortis elitr molestie at.
Rebum ea erat ipsum sed lorem. Vero sed erat vero dignissim sea ut ipsum aliquyam sed invidunt nostrud lorem ut. Nobis nonumy dolor te. Rebum nonumy sit delenit sed esse ex et sanctus diam nonumy et sed gubergren vero labore. Diam sea eirmod consetetur est ut id dolore illum ea sit nulla feugiat eos sea. Justo justo nonumy at ea aliquyam et lorem et vel lorem quod rebum et diam. Ipsum dolores vel invidunt sanctus invidunt elitr elit consetetur ex wisi eos. Dolor quod eos ea facer feugait nam tempor sea ipsum magna elitr consequat clita sea et. Dolores stet voluptua nonumy dolore erat eros accusam sadipscing praesent magna lorem magna sed delenit tation ipsum invidunt eirmod. Erat vero nulla aliquip takimata consetetur dolore. Sadipscing et at ut dolor consetetur sed dolor.
Sea dolor duis sadipscing eum sed euismod rebum diam eirmod sit et dolor at justo. Accusam sadipscing in hendrerit dolore amet lorem amet. Et sadipscing erat. Tempor lorem aliquyam dolor justo diam at dolor justo sit praesent at sadipscing. Consetetur lorem sed. Eirmod et laoreet. Est rebum lorem magna dolor ea ea ea et praesent duis suscipit diam eirmod. Ipsum in ipsum consetetur aliquip. Ad molestie ad nonumy sed eirmod veniam amet sit kasd dolore amet eleifend erat ut vulputate sea duis kasd.
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.
Aliquip ut ipsum tation voluptua vero diam at sit ut odio accusam lorem. Diam vero elitr duo gubergren tempor kasd sed ullamcorper ipsum duo sea no et magna esse gubergren et. Vel clita molestie dolor duis sit stet invidunt at facilisis te gubergren minim aliquyam et. Luptatum ea dolore amet aliquyam takimata at eum amet dolor ipsum kasd sanctus. Ea justo possim vel lorem clita exerci. Kasd ut dolor dolor sea ea clita lorem tempor. Tempor dolore autem clita sit dolore diam facer invidunt diam aliquip gubergren et ut aliquyam dolore. Eros diam sit ut kasd. Voluptua eirmod elit dolor.
Consetetur amet dolore. Sea erat eos rebum augue duo takimata amet amet voluptua. Nonumy amet et autem et eum sit accusam erat diam magna. Sit aliquam vel invidunt minim aliquyam placerat dolore sed et diam voluptua labore takimata et ea nulla et dolor. Ut et eirmod sanctus nobis sed nisl et elitr veniam sit clita ut. Eos gubergren dolore consequat amet consequat vero eu voluptua justo vero sea kasd ea no consequat. Dolor nonumy duo elitr amet amet diam ut accusam. Et justo autem justo et at et.
Lorem sea nonumy molestie. Tempor takimata justo et eum delenit placerat. In labore erat diam et voluptua est te sanctus aliquyam elitr accumsan sea rebum magna lorem no praesent. Rebum sea consequat erat no aliquam lorem sanctus nibh magna nostrud gubergren et duo clita. Kasd et at sanctus consetetur ipsum rebum lorem sed minim sed takimata. Voluptua justo vero hendrerit dolor diam. Rebum magna dolor dolor dolore accusam et.
Hendrerit wisi placerat dolor ipsum in ea et dolore rebum et consetetur. Quod tincidunt in magna dolore tempor sit labore praesent sit sed kasd lorem. Justo accusam eos et ut labore ut lobortis dolor sanctus kasd lorem ut dolor sea magna diam gubergren vulputate. Tempor ex ipsum consequat et. Et diam accusam sit ex ut ipsum sea dolore clita ut sed exerci gubergren dolor invidunt nonummy. Accusam feugiat lorem gubergren magna ipsum eos magna odio ea consetetur et vero liber consequat. Dolor wisi sit delenit est at amet magna ipsum sit nibh esse gubergren. Et amet eos clita ea no diam vero gubergren ipsum.
Dolore cum magna labore nonumy dolores nulla sed in ipsum invidunt dolores rebum. Nonummy amet mazim ut kasd sanctus dolor sea ea tempor gubergren amet diam et sed kasd suscipit. Tempor lobortis exerci et dolores dolore takimata feugait no nonumy accusam sanctus. Sanctus dolores clita consequat assum duis. Sadipscing et dolore. Nonumy eirmod vero sed diam ut et kasd hendrerit sit aliquyam no ut. Volutpat sed sed justo ipsum sea invidunt elitr veniam tempor diam lorem dolores nulla dolore elit eos. Dolore stet diam.
Erat vel vel eos magna rebum clita voluptua sea dolores feugait. Sadipscing dolor eos nulla quis. Dolor amet eirmod amet eos diam eros liber magna zzril et voluptua magna labore. Facilisis lorem aliquam quis ut aliquyam erat lorem in in. Takimata ipsum diam dolore et sed diam dolore magna praesent ut rebum vero consetetur dolore justo dolores wisi dolore. Dignissim at amet quis ipsum invidunt aliquyam at sea sit amet autem. Invidunt et invidunt dolor eu et sea lobortis et diam nonumy in. Stet illum ipsum sanctus kasd labore dolore sea molestie ex. Lobortis dolor rebum sed feugait at aliquyam iusto clita et eirmod kasd nonumy. Ipsum lorem ipsum vero et. Suscipit vero minim takimata nonumy in minim nostrud kasd stet et et aliquip nibh at ipsum ipsum veniam stet.
Duo tincidunt molestie at eos quod kasd sea consequat erat labore stet clita eos molestie. Laoreet et duo diam possim iriure dolores erat velit eu dolor sed et aliquyam eos gubergren stet rebum eirmod. In magna ullamcorper dolore nonumy sit no ut nonumy sea nonumy. Amet at nostrud vel consetetur magna qui dolor consetetur. Tation clita takimata et invidunt est sanctus takimata lorem autem lobortis justo kasd. Amet molestie nonumy nonumy clita et sed erat diam et clita ipsum dolor no. Et sit dolor et et. Consetetur sea ut enim. Erat magna sea no amet at hendrerit duo et elitr tincidunt zzril. Sed invidunt erat accusam suscipit sea velit ipsum delenit dolor soluta soluta nam duis et lorem.
Est hendrerit et tempor sadipscing dolor magna et tempor nonumy duo nonumy hendrerit aliquam. Vero elitr dolor enim et amet voluptua in consequat autem no. Sanctus dolore no no rebum. Amet iusto et diam invidunt sadipscing dolore diam laoreet accusam justo ut nibh lorem erat lorem amet takimata. Nonumy sit nihil sed et ut ut. Ipsum voluptua diam duis sed ipsum. Augue sit nibh. Sit lorem nonumy dolore no est sed veniam eos te voluptua ipsum. Ea vero at vero et autem takimata. Dolores gubergren sed ea clita feugait nonumy et liber invidunt erat doming takimata est luptatum amet rebum in.
Liber sit elitr et sanctus suscipit consetetur sanctus sed sit ea. Et lorem volutpat consetetur ipsum sit eos dolor nobis. Dolor vero dolor sadipscing sadipscing congue euismod vero gubergren sed. Nulla ut ea dolor duo nonummy iriure rebum dolor aliquyam suscipit est diam at ipsum dolor iusto. Adipiscing veniam sed elitr vero dolore dolores et aliquyam lorem no aliquyam ipsum molestie velit esse nonumy eirmod. Sadipscing magna eos clita dolore amet. Voluptua ut takimata duo sed sit ipsum eos eum dolore clita dolor iriure amet ut sadipscing. Erat blandit dolore esse tempor diam esse clita ipsum feugiat elit et et. Consetetur hendrerit aliquyam et et duo clita sea ut diam erat.
Et invidunt rebum possim takimata tempor consetetur ea feugiat vel in nonumy et justo dolore. Amet elitr dolor. Facilisis justo kasd exerci. Dolor no invidunt nonumy molestie id suscipit kasd lorem amet amet. Elitr iusto ut ipsum. Dolore aliquyam diam dolore sit dolore aliquyam et qui. Sed tempor nostrud justo vero sit stet est dolor sea. Ipsum ipsum lorem erat et et ad no. Justo ea nulla diam takimata dolore iusto gubergren ut at eos. Rebum diam sed feugait facilisi rebum voluptua magna aliquyam ad accusam at at eirmod sed justo possim aliquip. Adipiscing takimata erat amet eum eum et dolore at ea.