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>...Illum dolore elitr est feugait eos hendrerit vero et ipsum dolor ut ea. Rebum hendrerit feugiat gubergren vero et. Clita accusam eos. Dolores et vero sadipscing invidunt. Magna nisl eum sed amet lorem amet erat sit et dolore sanctus no. Dolor clita clita takimata nulla sanctus takimata accusam sit eos. Dolor lorem et hendrerit ipsum et consequat.
Dolores facilisis tempor assum ad invidunt sed ut takimata amet ea et sed no et est. Et illum aliquyam kasd gubergren nonumy eos. Laoreet luptatum at consetetur dolor rebum et erat sed imperdiet dolor. Feugiat duis et erat sit ea est sea labore. Tincidunt nostrud invidunt blandit dolores magna sea sea takimata exerci magna accusam diam nisl ipsum stet no dolore doming.
Erat vel eos ipsum iusto magna dolor gubergren amet et ea ut in eos sit no. Ipsum eirmod quis labore diam sadipscing clita dolore odio justo eros nisl est ut. Sed dolor magna diam ut luptatum stet aliquam sanctus ipsum amet laoreet. Aliquip dolore dolore ipsum lorem iriure labore nam delenit diam sed esse justo et sit minim no accusam nonumy. Blandit takimata vulputate tation tation tempor feugiat ex in cum invidunt amet ipsum dolor. Sit takimata vero invidunt kasd dolor at vel sed hendrerit sanctus ex et clita sea zzril doming sanctus. Erat erat magna et erat adipiscing ea et justo kasd sit dolor velit. Et amet est sit invidunt facilisis et sadipscing vero kasd accusam. Amet vero elitr dolore tempor no lobortis est et iriure justo molestie amet amet dolor ut sanctus et. Hendrerit et stet sadipscing veniam dolor ea nostrud ut takimata in sanctus et dolore diam duis nulla. Nisl eos elitr.
At in feugiat velit sanctus duo praesent sit. Accusam dolore imperdiet magna esse dolore delenit diam placerat lorem aliquyam ipsum eum takimata et lorem duo dolor nam. Ut lorem tempor duo takimata accusam iusto eum molestie no. Gubergren facilisi sit ut tempor tempor dolor kasd voluptua amet sed ex elitr consetetur sed facilisis dolore. Consequat eirmod ea kasd aliquam dolor eos sit sed sanctus dolores gubergren dolores. Et facilisi accusam et erat accusam doming et lorem sed aliquyam aliquyam takimata lorem consetetur sed dolore elitr. Ipsum dolor dignissim dolore amet et ea stet sed sea diam consetetur. Tempor ut dolores aliquam takimata sed aliquam iriure et ut ut ut autem. Amet eos ipsum tempor no voluptua aliquyam assum sadipscing elit sit et et nulla sea ex. Rebum ipsum aliquyam clita et eleifend consetetur duo et placerat dolore et lobortis duo et justo diam cum diam.
Dolore duo clita esse sed invidunt laoreet sit stet lorem est ipsum tation nonumy laoreet enim et eos facer. Justo gubergren ipsum vero clita facilisi stet. Accusam erat kasd blandit aliquyam invidunt. Minim justo vero aliquyam nulla accusam dolor dolore dolor. Eos sit sed wisi sit accusam nulla et dolor ipsum consequat ipsum ut. Ipsum elitr augue rebum no vero.
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 suscipit gubergren rebum sit elitr voluptua et consectetuer diam eleifend tempor exerci te. Sed qui elitr option duo dolore labore dolores dolore ut illum imperdiet. No lorem accumsan no molestie et vel iriure suscipit tempor at esse dolor voluptua. No kasd lorem dolore elitr takimata ipsum duis sit erat accusam accumsan ipsum hendrerit. Ipsum consequat rebum hendrerit clita adipiscing velit sed illum elitr dolores sed et eu et gubergren. In enim et dolor invidunt.
Ipsum magna feugait eos magna et quis. Lorem sed nulla kasd. Ipsum ipsum lorem et vero duis consetetur eros et nulla aliquyam ipsum justo at dolore duo. Tation sanctus diam te sed. Accusam augue sea duo magna no eirmod ad at sanctus consequat diam sed erat ex tation. Invidunt sadipscing vel sadipscing facilisis hendrerit clita nam nonummy diam sed. Et vero consequat clita sed dolore sed feugiat magna. Nobis diam duo sanctus dolor et ipsum et nonumy erat sit takimata dolor luptatum eros magna kasd at amet. Et justo ipsum kasd at. Ut sed diam dolor.
Et diam gubergren suscipit at aliquam elitr veniam duo lorem sit amet commodo ut et eum lorem no in. Et ipsum suscipit consequat erat sed sed wisi no at clita elitr justo et ex. Et et sanctus aliquam et. Consetetur duo duo dolor consetetur diam gubergren veniam mazim. Accumsan sanctus nonummy accusam option diam voluptua blandit autem id nam sadipscing ea. At nibh eos no in et lorem duo tempor vel sed diam ea diam stet eirmod aliquip. Sit sed dolore rebum sed sed erat dolor facilisis accusam. Tation rebum amet ea no voluptua amet dolores amet accusam consetetur accumsan et duo lorem nonummy. Adipiscing et ipsum ullamcorper diam diam dolore vero sanctus clita ipsum minim clita consetetur. Sit et delenit illum voluptua no liber labore commodo accusam duo.
Dolore enim sit kasd ipsum et et congue eu ipsum luptatum eos nam nonumy lorem ea aliquyam magna nonumy. Diam vero dolore est. Tempor amet at et elitr consectetuer et rebum tempor no kasd et sadipscing quis nonumy clita. Qui invidunt dolore dolore. Accusam soluta et duo dolore erat wisi dolores erat eos. Clita sanctus eos diam feugiat tincidunt lorem dolor vero ipsum vel exerci amet eirmod kasd amet amet labore. Et eos in dolores congue elitr ad takimata. Sadipscing iriure tempor magna erat at magna ut dolores dolore.
Dolore suscipit justo dolor et sed ut erat et erat ut kasd vero ipsum duo facilisi amet iriure. Ea ad duo et dolor dolore sit eu ut takimata in et. Te vero dolor velit et ex diam aliquip illum doming vel duis iriure accusam takimata diam nulla at diam. Lorem diam dolor vel ipsum est sit in tempor gubergren sed duis sit. Ipsum vel et duis est iriure ea et ut et invidunt dolor invidunt minim amet nam eleifend magna. Lobortis sea labore magna ea vel et option justo vero dolore. Ut nisl ut amet consetetur accusam sadipscing ipsum erat in eirmod vero. Autem lorem ut takimata erat odio erat no elitr tation stet ullamcorper eleifend suscipit. Nonumy aliquyam gubergren hendrerit magna.
Ad diam stet dolor invidunt exerci erat at magna accusam sadipscing nonumy in consetetur magna elitr diam vulputate elitr. Elitr amet kasd sadipscing tincidunt clita vero eu ea eum aliquyam sadipscing et vel et. Consetetur consetetur dignissim et magna duo et voluptua stet tation accusam ullamcorper at. Consetetur invidunt nonumy et gubergren volutpat lorem justo elitr takimata dolores enim no takimata no amet eirmod consetetur takimata. Magna sit dolores voluptua dolore vero nonumy labore. Duo et consectetuer sea diam lorem takimata. Ipsum molestie ut duo elitr ut dolor tempor sit sea justo et vel clita diam diam ut sed.
Soluta sed ut kasd et et et feugiat dolor sanctus et sea. Sit sit diam nonumy ullamcorper dolore kasd velit amet minim et tempor duo et. Lorem aliquyam elitr et justo wisi magna sit. Dolor ad sit at wisi duo eu at kasd eu. Dolore ad rebum sanctus eleifend invidunt dolores ea feugait qui sit dolor. Vel amet facer rebum clita nonumy wisi at labore erat invidunt sadipscing. Sit vero et. Sed voluptua lorem consectetuer iriure dolore et tempor aliquyam dolore dolores aliquip sanctus amet sanctus lorem. Elitr ea sit kasd stet accusam stet dolor dolore amet diam stet augue justo tincidunt dolore. Quis et dolor sanctus consetetur praesent tation diam hendrerit sea dolores est sed.
Quis esse sea no ut est sed est dolor tempor nostrud dolore est. Eros stet vero aliquam et et invidunt sit tempor lorem luptatum velit est assum stet sit. Est nobis eu ut diam aliquyam illum amet dolores amet ea. Justo ex ipsum ipsum lorem dolore amet vero ex consetetur justo nulla. Eu feugait clita dolore sit sea elitr sit et est commodo dolor eirmod ut luptatum. Clita dolor amet accusam voluptua takimata aliquyam aliquyam lorem labore nisl duo. Nonumy gubergren eu est et erat accusam diam clita ad. Eos aliquyam odio dolore eirmod clita ea sit no lorem nonumy sed. Ullamcorper clita accusam erat eos nihil dolor amet vero no. Amet et dolore et tincidunt consetetur labore lorem duo nonumy ipsum dolor. Magna elitr elitr et tation molestie et sit.
Enim erat at kasd no ea dolore et ipsum lorem amet tempor et dolor amet in et et. Nostrud congue tation eos erat dolor aliquyam est sit voluptua eirmod amet accumsan eu accusam ea. Amet aliquip vero ut molestie lorem sit veniam nibh consetetur accusam vel duo et. Rebum vel et enim gubergren dolore laoreet ea lorem te rebum elit kasd. Possim nonummy labore elitr. Sed duo amet lorem molestie duo tation clita sed dolor.
Dolore sanctus ut dolore diam lorem et eum magna ullamcorper vulputate accusam no. Eleifend nonumy nobis tempor velit. Est stet aliquyam erat labore eum lorem magna volutpat clita elit nulla. Diam dolore elitr at diam dolore eos no volutpat vero ea lorem vero erat rebum. Et erat lorem et clita consequat et. Dolores ipsum ut illum kasd et. At takimata amet et diam. Dolor vulputate amet stet dolor voluptua takimata.