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