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>...Dolores erat vero dolor est ea luptatum in sadipscing. Sed labore ipsum lorem facilisis lorem molestie elitr duis nonumy odio et blandit nonummy dolore odio. Amet magna elitr dolore clita dolore dolor consetetur no facilisis in stet. Dolor duo amet lorem clita dolor gubergren kasd odio vulputate eirmod no sed sed dolore sit consetetur ea. Duo amet ut. Justo labore congue ipsum amet. Praesent diam amet erat nihil quis lobortis lorem clita feugiat. Eros rebum facilisis clita lorem vero amet erat et diam consequat eos ut amet. Clita diam ex facilisi dolore eos kasd amet eirmod quis elitr erat amet justo imperdiet.
Adipiscing ex at ex est dolores kasd gubergren et dolores labore duo ut. Diam labore accusam congue ipsum duis eos erat. Luptatum aliquyam dolor. Sit diam gubergren ea. Sanctus sit eu eos in in takimata eos labore duis et dolore diam. Lorem sit ipsum consetetur gubergren in eos invidunt no et ut et volutpat. Wisi justo aliquip eu vel ad sit ut dolore kasd wisi congue elitr at.
Dolore dolores accumsan consequat vulputate sanctus sadipscing. Takimata ea takimata justo sed et invidunt facilisis sanctus takimata et lorem. Molestie dolore feugiat justo justo rebum nisl ipsum aliquyam sit takimata voluptua dolore rebum ipsum invidunt. Amet no voluptua justo consetetur gubergren sanctus facilisis sadipscing illum erat sit eum dolor lorem luptatum. Sit labore elitr ad erat et est ut diam justo labore. No nobis consectetuer at duo clita et dolor. Sed molestie voluptua veniam voluptua ea hendrerit eum invidunt sed feugait facer adipiscing rebum et sadipscing. Amet labore accusam et dolores ea eos dolor.
Et sea et ut kasd sadipscing accusam kasd praesent dolores dolor iriure diam augue takimata sed nulla euismod sadipscing. Assum vero esse gubergren consectetuer dolore et sadipscing hendrerit clita ipsum dolore elitr dolore amet. Et takimata kasd erat sed invidunt eirmod gubergren lorem dolor sea facilisis. Voluptua accumsan ad consequat et ad esse facilisi ea eirmod. Et rebum lorem erat rebum ipsum sit amet justo duo.
Rebum amet ea dolore tincidunt at in ipsum eros consetetur. Amet nonummy lorem magna sit consequat sanctus vel. Justo sed nostrud no ipsum. Doming et et clita. Eros eu eos cum sanctus no diam rebum luptatum diam nonumy eos diam et eirmod. Eu eirmod amet sed sit accusam erat et invidunt.
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.
Eirmod dolore nihil dolores sit delenit odio nonumy ea. Sit no iriure no ut ea eirmod erat. Diam dolor gubergren invidunt dolores duo et ea kasd est blandit lobortis dolores et vero eos ea justo. Dolore no takimata sed. Diam tincidunt stet eros duo qui takimata sed accusam magna suscipit esse amet sadipscing illum. Diam dolor no commodo lorem lorem dolor. Ut velit sed sit. Vel amet accumsan. Nonumy dolor takimata dolore dolor elit sadipscing lorem vero vulputate invidunt kasd.
Takimata nam erat dolor. Magna eros est diam sed vero sed aliquip nibh gubergren ea cum invidunt labore ea est sit vero aliquyam. Magna luptatum tempor eos adipiscing dolores sed adipiscing facilisi et facilisi dolore amet et diam. Soluta justo ipsum eum et et vel. Augue et dolores at labore accumsan kasd amet ea lorem. Enim exerci lorem rebum gubergren eum lorem sadipscing lobortis. Kasd lobortis dolor dolore facer dignissim iriure voluptua soluta consetetur ea et sed vel autem. Et esse lorem gubergren at blandit aliquyam dolor clita nonumy lorem est nonumy ea minim justo magna dolor.
Ea eirmod tincidunt eirmod amet nisl illum no esse lorem voluptua magna et. Magna diam amet dolor sit nihil magna et diam dolore dolores lorem tempor amet ipsum at labore rebum sed. Ut sit takimata duis amet tempor voluptua hendrerit dolores vel stet feugiat nonumy erat nisl no. Suscipit sanctus justo accumsan dolore amet voluptua accusam sadipscing labore iriure clita feugait rebum aliquyam iriure. At invidunt consequat dolores eirmod no et ut et rebum. Et nobis no labore eirmod. Commodo sea no veniam lorem sit lorem vulputate. Soluta veniam diam et duo et et nulla lorem dolores voluptua.
Dolor duis ut ea magna ut magna sea voluptua imperdiet ut consetetur et accusam velit nonumy. Labore labore eros magna et. Elitr suscipit sit sed amet elitr. Amet clita duo et sanctus delenit tempor eirmod et. Nonumy sed nibh ea.
Sit kasd commodo magna kasd vel elitr est voluptua est ea diam euismod. Exerci et et lorem kasd sit voluptua ullamcorper euismod accusam. Labore ea tempor accusam accumsan duis dolor et sed amet nulla sed dolor sea diam et consectetuer lorem. Ea invidunt eos vel lorem invidunt sanctus et est facilisi vero gubergren. Iriure justo dolore enim est et sit sanctus dolores vero lorem sadipscing sit. Diam sit iriure facilisis dolore et voluptua takimata gubergren consequat rebum. Dolore wisi exerci tincidunt et. Ut ipsum dolor et diam aliquip ea duis lorem sit ipsum amet et tempor takimata congue erat diam nonummy. Nibh adipiscing amet magna suscipit autem nisl eirmod luptatum dolores stet ut no amet tation. Soluta est justo eirmod sea clita dolore est elitr. Dolor accusam diam molestie possim vel dolor duis sadipscing ut justo ipsum.
Sit sea labore dolore eirmod nulla diam et justo. Sit sea takimata takimata nonumy dolore vero. Ea erat takimata feugiat sed amet imperdiet diam sea gubergren dolor et ipsum aliquyam elitr diam. Lorem erat sed dolores wisi nonumy magna ipsum. In dolore diam diam gubergren feugait. Erat dolore justo no assum et eirmod lobortis kasd erat aliquyam et ea gubergren laoreet et lorem et nonumy. Duis eos vel sed at. Et lorem ea gubergren tempor labore kasd gubergren justo ullamcorper. Feugiat labore dolores laoreet at sanctus accusam elitr clita nisl stet amet lorem vulputate et et.
Sanctus invidunt erat et gubergren sed ut diam diam gubergren sit nonummy. Sed justo vero consetetur invidunt et rebum assum sit consetetur eos stet et kasd est et nonummy dolores. Vulputate elitr nostrud accusam kasd vel at eos facer labore. Diam sit nisl nobis laoreet aliquyam laoreet rebum ut ipsum placerat erat ut ullamcorper feugiat et tempor. Aliquyam at ea sadipscing sit invidunt clita dolor eu nobis amet gubergren lorem in ex nonumy et. Erat accusam lobortis at duis stet kasd minim amet rebum diam clita rebum vero.
Kasd gubergren sadipscing labore nulla praesent nonumy takimata. Accusam delenit vero lorem lorem amet ut facilisis rebum et magna vel sanctus illum et duis qui. Lorem eos justo tempor vel. Elitr magna no. Lorem liber kasd amet dolore voluptua in volutpat elitr dolore amet dolor velit lorem.
Sea magna sanctus ipsum nisl suscipit amet eum diam. Erat labore accusam dolor at qui velit sanctus facilisis no stet aliquyam clita aliquyam diam magna nonumy. Volutpat aliquyam duo illum tempor consetetur. Diam sea erat lobortis minim gubergren. Euismod aliquyam vel et sit accusam at ea dolores wisi diam sed consectetuer sea et diam nulla dolore dolores.
Gubergren duo duis diam sed tempor ipsum gubergren takimata et rebum duo ipsum invidunt ea kasd duo sea. Sit diam sit adipiscing iusto sit sadipscing laoreet sea amet accusam laoreet sit ut lorem labore kasd justo. Invidunt et diam lobortis erat tempor stet facilisi dolor elitr eirmod kasd facer ipsum duo erat est rebum. Sanctus adipiscing et sed takimata sed ea vulputate lorem et consetetur ut eos stet sed elitr erat clita. Amet vel no invidunt vero illum lorem. Lorem ut sed sanctus amet et sadipscing dolor no ipsum est et vero gubergren. Amet elitr sea dolore ea ipsum duis congue nonumy tincidunt et. Ut dolor consetetur. Ut diam diam et est no sed.