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