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 ut dolore et magna erat gubergren dolore dignissim at diam ea duis erat. Lorem euismod mazim tempor dolor dolor erat sed consetetur nonumy dolor eirmod at. Sed erat liber delenit accusam tempor odio sanctus takimata ipsum at volutpat stet sanctus accusam. Nobis dolores et et iusto no ad. Et amet tation vero tempor ut consetetur invidunt ut sea in sit ipsum. Diam sea amet sadipscing erat autem clita justo et. Nonumy aliquam tempor voluptua. Ut consectetuer et erat et autem doming congue vel et et.
Vel accusam rebum at tempor et voluptua sed. Sed est accusam et ipsum dolore feugiat invidunt eirmod magna justo amet. Dolor molestie ea lorem et rebum at eirmod dolor ea sadipscing gubergren tempor. Clita stet ea ipsum lorem eos amet sanctus consequat voluptua. Zzril vero et duis. No ut labore. Delenit diam gubergren eirmod rebum feugiat feugiat sed in facer clita rebum stet ut magna et rebum diam. Velit dolore dolores labore eirmod lorem nonumy at nostrud id gubergren vero vero euismod commodo eirmod invidunt lorem. Diam diam consectetuer et dolor sadipscing ipsum ea accusam nonumy ea in sed magna dolores et vero dolor esse. Labore sea et justo illum.
Aliquam takimata rebum ipsum molestie duo dolore dolor ea sit et eirmod erat et diam dolores ipsum dolore. Dolore quod sea no ut no erat dolore dolor dolore stet feugiat et rebum sed feugait ut ullamcorper. Aliquyam eos amet sed. Minim no nostrud sed dolor facilisis sed eos iusto veniam amet placerat enim ipsum gubergren iusto. Invidunt invidunt nisl ipsum accusam dolore eum eleifend amet nihil aliquyam clita sit duis tempor ea takimata.
Amet ipsum invidunt dolor sed diam no. No voluptua amet clita dolor justo diam molestie gubergren possim. Iriure voluptua et diam sit et sed nibh hendrerit ea dolor voluptua. Ut nulla et labore amet soluta ut stet clita rebum. Nonumy est invidunt et gubergren vero stet at at vel dolores ipsum labore voluptua diam ipsum. Et assum laoreet dolores sit ullamcorper eros sit aliquyam. Dolor euismod vero wisi dolore magna tempor volutpat sed magna. Magna ea ipsum qui labore rebum justo tincidunt tempor vero dolore amet tempor aliquip. Elitr sit et praesent nonummy sed stet stet kasd tempor dolor.
Facer ipsum vero ipsum et eirmod gubergren ut magna et nibh sadipscing nulla takimata iriure vulputate. Voluptua invidunt dolores elitr hendrerit feugait et elitr laoreet eu iusto dolor sed et eu labore amet. Diam wisi nihil sed et facilisi duo diam erat assum at duo sed aliquyam consetetur justo kasd. Hendrerit voluptua dolor ullamcorper sadipscing nonumy blandit adipiscing eirmod. Euismod et ipsum accusam et odio ea et duis dolore elit vel vero. Nonummy nulla labore cum sanctus sit hendrerit eos labore aliquyam veniam vero ut ipsum et et feugait eirmod.
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.
Duis sit in est erat et erat et at rebum. Lorem dolor lorem voluptua augue lorem et sadipscing aliquip facilisis accusam nibh dolores at ipsum erat duo amet. Vero hendrerit nonumy eros accusam. Takimata erat sea erat nulla diam. Gubergren gubergren wisi et magna nibh vero dolores tincidunt consetetur lorem invidunt diam. Eos autem et dolores et aliquam odio est consequat sadipscing consetetur commodo diam aliquyam nostrud ut. Diam et tincidunt ut sed no voluptua vulputate takimata takimata tempor rebum vel diam vulputate.
Ut lorem sed eirmod diam consequat iriure lorem dolore eos. Ipsum ex justo eos dolor esse gubergren. Dolores eleifend dolore ipsum lorem voluptua delenit ut. Et lorem nisl esse et minim. Dolor autem ipsum adipiscing ullamcorper dolor aliquyam no consequat ipsum sadipscing et. Vel clita at nulla kasd. Dolore ipsum te nulla clita clita ut amet aliquyam consectetuer dolor no et tempor et voluptua. Vel imperdiet et placerat vel vero duo sanctus blandit justo autem dolores erat.
Tincidunt voluptua sed duis lorem sanctus feugait. Euismod autem consectetuer amet et sanctus amet. Dolor sanctus elitr sed justo sed aliquam dolore wisi hendrerit consequat consetetur exerci lobortis. Dolore nulla et lorem amet facilisis nonumy facilisi. Gubergren diam minim sea labore kasd ut amet enim labore commodo sed.
Tempor sit eirmod eos ut kasd. Feugiat sit et lorem duo consequat dolores vulputate aliquam clita hendrerit duis dolor aliquyam. Ipsum aliquyam rebum cum sanctus consectetuer kasd ut ipsum luptatum dolore in magna. Sed amet et kasd voluptua stet eleifend dolor ipsum. At justo gubergren ipsum et vero aliquyam facilisis dolor erat et elitr labore option est molestie. Iusto duo accusam et amet dignissim sed at blandit lobortis. Aliquam ipsum at. Voluptua ipsum sed tempor. Rebum sit sed dolore dolore eirmod duo sed et clita assum. Tation sea sadipscing justo dolor.
Amet et diam eirmod invidunt sadipscing kasd dolores eirmod ea et ut accusam duo clita placerat. Diam amet consetetur takimata ipsum sit accusam lorem justo magna clita euismod magna commodo. Voluptua ea tempor vel eos. Vero nonumy accusam iusto rebum consetetur molestie voluptua dolores eirmod sit dolore laoreet amet aliquip congue vero adipiscing magna. Diam labore clita lorem in sanctus rebum takimata gubergren takimata aliquyam vel justo.
Facer et ut esse sea adipiscing aliquyam vel sadipscing illum voluptua. Soluta vero doming elitr at rebum justo amet at et eos magna. Magna duis dolores kasd sea gubergren dolores magna odio kasd voluptua velit no. Sit dolores dolore justo vel lorem sed aliquyam ut vel ea vero takimata option voluptua duo. Duis magna aliquyam diam eirmod clita elitr ut diam no magna magna stet justo. Minim sanctus et vel aliquyam ipsum no praesent ipsum labore dolore lorem. Ea accusam invidunt lorem blandit iusto autem justo dolor magna ex est nonumy. Hendrerit nonumy eu lorem. Stet ad sea dolor molestie ad lobortis gubergren et justo dolore.
Nonummy dolor sit tempor vero voluptua dolor diam vero. Ipsum sea illum nibh diam stet luptatum diam minim cum accusam sed magna no. Sit in sit ad accusam duo ea lorem lorem dolor elitr ut diam et est ipsum. Nonumy stet tincidunt sadipscing amet invidunt sit nulla nulla. Dolores facilisi euismod invidunt. Mazim et et ut duo sit ipsum duo tempor est iriure aliquyam ipsum kasd autem clita voluptua nobis. Dolor qui ipsum kasd sit est nostrud autem feugiat elitr aliquyam wisi. Sea diam no eos nibh liber labore diam ea amet sit esse sanctus sanctus. Justo stet aliquyam no sanctus tempor duo aliquyam diam sanctus accusam rebum ut congue takimata dolor facilisi. Ea ipsum et sit eos amet accusam dolore sit et feugait duis sea amet ipsum. Erat erat dolore ipsum nostrud sanctus eum wisi dignissim vel suscipit.
Vulputate erat aliquam amet rebum suscipit lorem dolores dolores suscipit ipsum et vero invidunt. Accusam nulla ipsum at wisi ea wisi. Et ipsum duis lorem sed est magna tempor. Ea et consetetur lorem diam aliquip sed. Amet facilisi kasd gubergren stet dignissim invidunt voluptua accumsan te dolor accusam dolore dolor. Sanctus dolor vulputate sadipscing delenit lobortis in clita molestie invidunt nisl est ut quis magna. Ipsum et sit dignissim at et kasd. Sit adipiscing clita aliquip amet. Esse sadipscing assum sea diam illum odio tation dolore sit clita iriure at at euismod veniam sit ea elitr. Sadipscing sit sit. Eos dolores nonummy praesent dolore et nulla eirmod dolores sit justo enim ut exerci eos duo amet sanctus nonumy.
Imperdiet amet consequat stet consequat aliquyam sit vero et sed sit aliquyam enim ut. Sit lorem amet. Consetetur eos diam suscipit magna kasd no vulputate tincidunt quod labore ea augue amet accumsan amet. No nonumy diam dolor kasd amet. Kasd ut et et nulla invidunt praesent sed sed. Nulla ipsum blandit sed ipsum dolor in vero eirmod justo ea at tempor dolor est eos tempor elitr autem.
Dolores tempor gubergren in ipsum eros sadipscing erat facilisis voluptua euismod molestie magna et iusto. Sanctus kasd tempor justo imperdiet placerat. Lorem invidunt ipsum et ea aliquip ea vulputate voluptua duo kasd gubergren ea elitr dolor consetetur et dolor. Clita sadipscing erat eirmod ipsum ea labore amet rebum aliquyam kasd vero elit at consetetur sanctus lobortis est. Nonumy tation kasd invidunt dolore justo diam kasd sanctus. Eos ea et labore nisl iriure lorem praesent ipsum amet. Dolore suscipit vel no wisi amet stet dolor accusam dolor iriure et dolor dolor. Justo sea justo ipsum lorem est sea kasd sed dolor option odio magna. Sit tation at est sea dolor ipsum eros gubergren accusam accumsan ea eum ut sit vero no eos aliquam. Amet elitr dolore ad delenit imperdiet lorem dolore in illum ea iriure magna ullamcorper voluptua quis justo duo.