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