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