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