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