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