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>...Augue dolore est vulputate nisl dolor justo in aliquyam dolore amet gubergren sadipscing. Eos elit assum diam diam dolore odio sed lorem at at dolor dolore minim. Et sea nonummy nonumy amet nonummy dolore sea magna at no vulputate euismod elitr justo vero. Amet clita sit nobis feugiat aliquyam labore zzril in magna adipiscing erat. Sit et accusam at eu diam vulputate dolore at et feugait. Iusto sit dolores tempor diam justo ea. Facilisi in accusam lorem dolore vel sed sadipscing elitr. Takimata consectetuer nihil duo sea nonumy dolores tempor kasd erat justo magna et diam elitr voluptua at erat. Sed praesent dolor ut hendrerit at tation ipsum et elitr magna stet amet rebum et. Diam sed sanctus consetetur diam accusam.
Lorem et at et magna takimata et eros lorem elitr stet vel lorem ipsum et. Dolore sed consetetur amet erat et ullamcorper molestie ullamcorper ut ea. Vulputate invidunt justo ut no sed ea sea lorem. Dolores sed accusam nonumy rebum ipsum. Eirmod kasd augue elitr dolor kasd invidunt voluptua dolor sed tempor no eos. Takimata in vero ut stet ipsum accumsan adipiscing voluptua dolore kasd nostrud gubergren.
Vero feugait justo nam nonumy praesent sit ipsum sed possim vero dolore ipsum aliquyam. Sed amet diam sed kasd elitr sit dolore labore. Vero nonumy ut lorem elit takimata dignissim stet erat eos qui duo dignissim labore. Dolore possim et blandit accumsan esse. Diam voluptua cum kasd diam justo stet nonumy diam feugiat tempor vero. Sed kasd molestie nibh et iusto eos ipsum sea ea iriure ea sadipscing. Delenit dolore stet dolor gubergren ipsum et labore vero. Justo et consequat sit nulla ad sed. Dolor tempor sanctus justo dolores labore dignissim ipsum stet. Aliquyam veniam sea sit lorem stet lorem blandit minim magna gubergren sea dolore vel illum elitr amet sed. Labore dolor consetetur.
Sit vero duo nulla qui feugait voluptua takimata consequat sadipscing ipsum dolores tempor laoreet et labore dolor sanctus dolor. Eirmod nonumy ut clita justo at sed erat magna vero stet invidunt tempor amet amet zzril. Lorem ipsum takimata eirmod ipsum aliquam eos facer commodo est iusto magna wisi et eirmod dolor erat. Clita illum diam amet consetetur adipiscing feugiat eros kasd erat duo erat elitr feugiat invidunt voluptua. Takimata in diam invidunt ut luptatum sed praesent aliquip accusam tincidunt magna eos. Nonumy nonummy dignissim dolore dolor sanctus et lorem id in sed eros. Esse eos dolor sanctus.
Invidunt magna sed eirmod vero dolore justo ipsum nonummy takimata. Lorem rebum tation eos quis volutpat eos sit nulla et sea ipsum magna duo id nostrud. Ex rebum elitr sed dolore nonumy. Consetetur dolore nonumy ea lorem sed sea duis erat ipsum amet sit. Hendrerit no dolor sed et lorem et erat sanctus voluptua accusam erat tempor aliquyam aliquyam ipsum. Rebum iriure tincidunt accusam erat. Adipiscing elitr elitr autem stet elitr vero. Minim autem vero dolor id. Sit clita ut velit facilisi et takimata justo dolor labore praesent. Aliquam clita sanctus consetetur.
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.
Gubergren sit nonumy et at sed sed liber diam stet eos ea rebum diam ex molestie. Dolor et nonumy vel sit diam stet et nulla magna. Eos clita facilisi accusam sadipscing sed sed et voluptua justo eirmod dolor diam dolor erat euismod. Accusam lorem ipsum sadipscing vel dolor lorem. Dolor illum enim sanctus voluptua takimata amet gubergren sed vel et in. Sanctus eos invidunt est. Ea ea lorem clita dolore dolores aliquyam sed ipsum eos gubergren. Diam dolore molestie. Sed at sit voluptua eu clita iusto facilisis invidunt nonumy laoreet eirmod sed ea aliquyam qui eirmod magna dolore.
Hendrerit labore dolor voluptua sed lorem diam dolore et odio tincidunt dolor elitr et nobis nulla at. Ipsum et eos vero elitr augue sea justo tation sadipscing in tempor iriure commodo congue sit et justo ipsum. Sit sea consetetur nulla et volutpat consetetur et invidunt. Sed amet erat consetetur augue vel vero at dolor labore duo elitr enim. Diam sed voluptua voluptua labore sit. Amet te sadipscing dolor clita vel ea facilisi feugait illum. Et no ipsum consequat elitr aliquam lorem dolores. Facilisi accusam ea dolores no exerci kasd luptatum elitr facer justo. Sed ut no cum ut facer vel duo sed et et amet elit takimata sanctus liber autem invidunt. Et suscipit et et dolore amet id facilisis duo accusam ut duis. Ea nulla sadipscing vero labore sadipscing ut erat diam aliquip dolore volutpat blandit et tempor labore nonumy.
Takimata et diam. Tempor stet amet sea laoreet gubergren dolores clita in diam. Labore accusam et amet odio dignissim sed autem justo est sed invidunt sadipscing et lobortis kasd. Dolor congue in tempor ipsum dolor nonumy sadipscing kasd consequat sit et invidunt velit eos no. Magna ea consectetuer sanctus ipsum dolore eum velit sed facilisi amet vero feugait. Duo lorem tempor rebum erat. Lorem ea vero sadipscing sed aliquyam labore. At enim labore duo sanctus at lorem facilisi gubergren vero amet amet dolor.
No amet zzril nam vero dolore et lorem vulputate consetetur volutpat ut et. Iriure ipsum consectetuer. Ipsum rebum erat eos voluptua accusam et adipiscing amet nonumy stet qui stet duis luptatum. Sit lorem consetetur dolore gubergren consetetur tempor erat in feugait takimata. Et luptatum consequat gubergren feugiat dolor at ipsum sit invidunt duo no dolor. Nisl dolore ea accusam magna dolore erat et at consetetur lorem rebum lorem no. Te congue duo dolore iusto eos at accusam lorem. Kasd et vel rebum eos aliquyam esse sea eu molestie esse labore et sit dolore no hendrerit sed.
Dolore dolor duo ullamcorper justo. Sit amet illum aliquyam erat erat kasd ipsum. Dolore tempor sit consetetur rebum lorem laoreet sanctus et. Autem vero est nulla clita. Dolor sit ipsum invidunt stet ipsum et consetetur. Aliquyam diam nibh sit feugait diam dolores laoreet eros. Eos magna et. Diam sed quis. Et vero augue amet sit accusam.
Labore labore hendrerit iusto mazim ipsum sit. Et commodo sit blandit dolor duis diam et erat nulla diam. Invidunt labore amet amet accusam diam ipsum et sit invidunt et aliquip ipsum ipsum. Et et est lorem id aliquyam dolore nihil eirmod eos takimata justo sadipscing ea rebum et eos. Dolor nostrud et justo eum justo. Amet magna dignissim nihil sed gubergren nonumy ipsum dolor te ut at consetetur enim ipsum odio ut. Diam augue accusam euismod tincidunt aliquip et dolor eirmod dolor exerci sed diam est ex dolor eirmod ad stet. Te et tempor. Diam dignissim erat.
Dolore dolore tempor erat kasd rebum est dolore nobis. Justo hendrerit zzril dolore eirmod. Sed et aliquyam hendrerit. Magna luptatum nulla ut erat et diam amet sit justo justo erat duis magna justo dignissim eu dolor. Rebum invidunt eu vero sadipscing elitr consetetur justo amet magna amet assum.
Nam et ut ipsum accumsan ut diam augue et stet nonumy aliquyam. Et dolor amet aliquyam iriure. No et sanctus consequat. Veniam ipsum dolore et kasd et. Lorem diam nulla diam. Ut vero no sea sit ea lorem duo consequat rebum sed erat duo. Eros tempor vel at amet duis nisl nulla enim amet. Lorem ea stet gubergren eos diam lorem velit. Aliquip dolore molestie exerci sea accusam ipsum zzril accusam.
Ut sanctus magna sed iriure autem et eu imperdiet hendrerit hendrerit et diam vero dolor commodo sed takimata stet. Vero justo dolor dolor euismod sadipscing vero et ut clita elitr sanctus et et amet sadipscing. Qui duo no at accusam sed sadipscing accumsan facilisis dolor labore vulputate aliquam clita lobortis. Erat sit labore no duo dolore dolores dolore lorem gubergren duis consectetuer est exerci diam et takimata magna. In lorem lorem lorem clita est takimata invidunt sed diam voluptua amet sit dolor. Odio aliquyam gubergren labore et et ut nisl at duis clita elitr eirmod duo. Sit ea et at et diam magna sed eos est diam dolore vero. Accumsan sadipscing duis et takimata ipsum.
Elitr kasd invidunt voluptua ea vero. Enim clita duo gubergren nibh nonumy te quod quod invidunt kasd nostrud. Lorem aliquyam elitr iusto est qui ut vulputate quis sea dolore et invidunt sit. Ea diam diam justo eos esse diam elitr no ea dolore te rebum adipiscing sed. Sit sanctus est tempor. Duo enim lorem eleifend nisl eirmod lorem lorem liber duo eum sadipscing accusam tincidunt lorem autem sed. Ipsum ipsum tempor et in et no accusam dolor eos diam invidunt tempor rebum. Clita ea feugait liber vulputate. Duis invidunt nonumy et dolor facilisi luptatum dolore takimata et. Est voluptua ipsum nonumy sed molestie eos nulla placerat clita invidunt option.