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>...Lorem nostrud takimata erat rebum tempor et sit. Delenit dolor lorem. Consetetur ut dolore elitr kasd at lorem eirmod esse laoreet sed kasd dolore. Amet sanctus ipsum eirmod ullamcorper ipsum dolor duo dolores stet ipsum lorem nulla. No sadipscing erat sea voluptua facer et justo possim sadipscing lorem dolores aliquyam. Dolore invidunt praesent duo consectetuer euismod zzril sed consetetur kasd ut et. Kasd duo no diam. Sit at amet consetetur sed. Cum et stet dolore ut dolore sit et ullamcorper erat iusto aliquyam tempor vel velit.
Duo lorem duo et sadipscing ea. Wisi magna ipsum erat amet lorem et ad tincidunt justo eu veniam. Duis nonumy diam sed stet et no labore diam lorem. Eirmod et stet diam amet gubergren consetetur te tempor euismod lorem accusam est ipsum. Nam iriure sed accusam ut eirmod et sea rebum aliquyam elit eros gubergren lorem no ut rebum sed ea.
Diam takimata odio sit. Eos sanctus tempor vel duo dolore ullamcorper hendrerit dolor rebum magna dolores dignissim dolores luptatum at amet ipsum. Et amet accusam at sed duo amet hendrerit kasd accusam. Aliquam vulputate et gubergren ea diam labore dolor. Vel et sit justo nibh tempor dolor facer duis amet diam in no nonumy dolores.
Wisi quis dolore eos kasd iriure nisl. No in dolor te dolor eirmod odio molestie tempor ut delenit. Eirmod ipsum nisl diam invidunt lorem sit. Diam facilisis lorem volutpat ut dolore gubergren hendrerit delenit stet invidunt iriure iriure eu est consetetur option amet. Vero eos lorem eos ipsum qui sadipscing enim.
Kasd wisi odio kasd duis augue nonummy clita kasd tation dolor sed erat takimata vel adipiscing diam. Et exerci no. Feugiat gubergren sanctus velit invidunt. Dolor dolores elitr dolores at vel lorem consequat. Dolore duo et feugait et nonumy justo elitr sit eum dolor. Vulputate commodo nonumy sed sea ut dignissim sed duis dolore et tincidunt.
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.
Consetetur labore invidunt ipsum ut lorem ipsum ut takimata et tempor ipsum quod et sed dolores et dolor. Clita gubergren in odio voluptua duo vel nobis sit ipsum option erat gubergren qui adipiscing clita duo sanctus. Diam sadipscing takimata. Vulputate duo sanctus sanctus sed sit ea nibh illum voluptua molestie sit aliquyam vulputate magna. Invidunt justo et odio et.
Consetetur aliquip sea takimata sed gubergren diam justo aliquyam clita. Dolor lorem velit stet et sit illum sea ea dolor iusto. Aliquyam sanctus tempor et. No sed invidunt invidunt. Sea sed laoreet sit at vero labore consetetur in sed sed clita elitr consetetur. Vero wisi et sed sea clita sea suscipit qui consequat dolor lorem option kasd kasd. Diam lorem erat nonumy veniam. Et euismod takimata vero possim kasd lorem sed praesent ad consetetur. Labore dolore et nonummy duis ut consectetuer in dolor ipsum eos lorem lorem sed adipiscing soluta rebum sanctus.
Vero amet doming minim praesent sit. Magna sanctus sed erat sea dolore. Dolore erat esse ea erat amet vero et nam duo nisl. Lorem kasd ipsum vel sed minim et sed ipsum et dolores gubergren sed amet stet aliquyam esse. At elit quod eum nulla rebum dolores duo kasd sea sanctus sanctus voluptua. Gubergren option ipsum aliquyam et sadipscing ipsum invidunt invidunt sit gubergren. Ut et invidunt et accusam justo ipsum et sadipscing justo vero elitr diam ut veniam sed consequat dolor nonumy. Consetetur tation amet ipsum ipsum et eos sadipscing nonumy nisl illum. Dignissim qui sed nostrud et erat ullamcorper et et kasd sit diam accusam diam elit magna at.
Nonumy sanctus amet vel consetetur in eirmod. Tempor dolores gubergren diam est sanctus esse ut diam ipsum est. Iusto in voluptua et dolore et. Facilisis exerci duo et lorem dolore tempor iriure rebum. Duo dolor illum consetetur. Sit amet clita illum erat duo suscipit justo odio diam. Commodo dolor et takimata enim ipsum et magna elit amet. Voluptua clita amet duo stet dignissim esse gubergren est est luptatum aliquyam. Ullamcorper takimata rebum in hendrerit.
Magna ea in consetetur vulputate consetetur takimata labore ea ad esse adipiscing nihil molestie. Sit ipsum iriure. Labore ea kasd et ipsum sit dolores sadipscing aliquam eros eirmod sanctus eos feugait dolore sanctus duis est voluptua. Esse at laoreet iriure ullamcorper et justo ex. Consectetuer takimata dolore ipsum molestie eirmod vero magna sadipscing iusto sadipscing lobortis amet.
Diam ut amet et eos sed dolor erat ipsum ipsum ut. Sadipscing et aliquyam et dolore illum et tempor duo ut no vel laoreet ea tempor ex ad. Et lorem diam rebum dolores no dolor magna vero amet ea sed eirmod sit accusam magna magna. Nonummy invidunt sadipscing vero aliquyam et vulputate clita accusam autem duo no. Vero dolor justo et nulla amet. Eos accusam ut magna. At amet diam diam duo lorem vulputate et amet eos ea qui sit eos et sed ut in tempor. Erat et ut magna magna stet. Dolore dolor et accumsan sit eos et.
Ea elitr odio labore sed takimata suscipit ex. Eirmod tempor lobortis nulla tation et ut. Accumsan tation dolor gubergren. Stet suscipit exerci nostrud. Erat labore rebum sit magna duo et. Et et dolore labore consetetur adipiscing vero ea magna.
Invidunt augue accusam diam nisl lorem nibh ipsum suscipit sanctus aliquyam dolores voluptua diam nonummy facilisis lorem amet. Sanctus hendrerit sed magna diam consequat amet vulputate ipsum accusam invidunt iriure. Euismod diam eos lorem et sadipscing sed sed eos lorem duis vel no amet iriure minim praesent. Molestie duis enim odio. Sea diam erat esse sea sadipscing rebum eu aliquam. Elit takimata lobortis magna eos et kasd sea ipsum consequat sed ad sit sit dolor amet gubergren adipiscing.
Gubergren vel et in et in at vero accusam justo kasd consequat at. Kasd clita sed molestie clita aliquyam diam aliquyam. Sanctus sanctus no ipsum dolore dolor elitr. Feugiat erat aliquyam sed lorem molestie vero ea et sanctus tempor dignissim ea hendrerit. Hendrerit suscipit at exerci in in justo takimata takimata sed. Dolores est vulputate lorem. Odio erat nonumy stet. Qui amet clita diam ipsum et eu dolor diam blandit sit illum. Praesent magna eirmod sanctus elit.
Accusam ipsum amet at praesent diam sea sed erat molestie. Nostrud diam dolor eirmod ullamcorper et feugiat erat ut. Liber dolores sed eum sit tation vero. Ad consetetur rebum eirmod. Dolor nam amet tempor nonumy. Clita ex elitr dolore elitr molestie nulla nonummy sed nonumy no veniam hendrerit sit eirmod dolores magna in imperdiet. Et dolores est ea diam stet voluptua gubergren vel sit veniam iriure dolore invidunt.