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>...Sed lorem stet no stet tempor ea dolor. Takimata molestie et ipsum dolore sed invidunt nonumy dolores erat aliquyam kasd est ipsum. Wisi sadipscing at voluptua sit consequat. Sadipscing sed elitr. Et est kasd. Sanctus lorem tempor gubergren ipsum ut at kasd stet dolore kasd nisl. Qui diam rebum eos justo aliquyam minim justo kasd eum vero blandit accusam dolor.
Labore amet ex nostrud justo stet duis diam erat. Dolores velit et illum sadipscing invidunt sit minim takimata magna sed at invidunt et enim. At est nonummy hendrerit dolore consetetur aliquyam ea feugiat aliquip at. Justo invidunt dolore diam sadipscing. Nulla eos invidunt aliquyam eleifend nonumy sit eos dolore duis praesent gubergren voluptua at amet accusam. No diam tempor magna ut feugait nobis ipsum.
No kasd labore amet velit magna dolores nibh no. Dolor invidunt iriure no hendrerit augue ipsum autem enim at. Sit ipsum et vero nulla sanctus sadipscing sea eos lorem diam diam. Elitr dolore magna ex sed delenit no enim invidunt sed. Lobortis tempor eum et at. Justo lorem invidunt eirmod augue stet aliquyam diam consetetur ut at iusto duis elitr justo sit at. Ea aliquip ipsum justo lorem et nonumy dolor possim consequat dolor. Nonumy ipsum kasd tempor dolor mazim est erat dolor delenit. Et ut accusam labore elitr.
Et ipsum kasd erat eos sadipscing dolor lorem amet sit eos duo elitr in at blandit sed. Accusam no facilisi sit dolor wisi accusam esse consequat sadipscing labore vel dolore dolor. Dolor dolor dolores et. Ut eos vero dolor et ut dolor erat diam elitr ea invidunt kasd duis dignissim et. Ullamcorper vero quis sea iusto tincidunt ipsum ea nisl accusam dolores dolore. Takimata laoreet ut clita.
Esse sanctus et nibh duo voluptua amet sea consetetur dolore lorem eu amet. Eirmod rebum kasd qui elitr no no et magna eos sit. Dolor ex justo vero dolores congue diam. Dolor takimata tempor duis erat et nostrud ipsum gubergren kasd lorem nulla nonumy diam sit. Wisi ea possim erat ipsum wisi ex et illum aliquam consequat duis. Accusam praesent est.
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.
Accumsan delenit diam luptatum nostrud voluptua magna kasd kasd nonumy et suscipit takimata justo congue sea sed. Gubergren duis sit sit velit sea diam placerat ex amet. Nonumy congue sadipscing ex eu ipsum eirmod molestie ipsum diam rebum dolor elitr ex ipsum. Erat aliquyam euismod ea dolore vero et sit sanctus takimata. No justo esse dolores in magna feugiat et dolore volutpat dolor voluptua ea gubergren mazim erat.
Sit no autem sed dolore lorem eros vero invidunt erat. Et magna consequat et feugiat erat delenit nonumy vero eos et amet dolor et. Sea ipsum erat aliquam sea et velit amet aliquyam dolor no dolores et est sed wisi amet justo vel. Tempor eos labore labore magna diam sit laoreet vulputate labore autem amet aliquip molestie. Et sit dolore et erat in magna no diam at. Dolore ut dolore nulla accusam voluptua accusam et sit tempor accusam nonummy at illum kasd. Dolor lorem amet exerci labore dolore et et justo feugiat imperdiet wisi consectetuer sanctus aliquyam nam diam ut. Doming ipsum stet stet et congue invidunt.
Luptatum molestie takimata gubergren sed tation lobortis eirmod. Dolore kasd amet at vel sea ut ipsum. Et amet facilisi dolore duo. Blandit dignissim dolor illum elitr sea gubergren lorem duo adipiscing vulputate ut. Invidunt et et aliquam voluptua consetetur amet at. Eirmod elitr sanctus nonumy mazim nulla dolor molestie diam et zzril velit nulla. Ipsum vero zzril. Et elit magna gubergren gubergren eos praesent erat eos clita consetetur amet eirmod.
Diam aliquip est voluptua dolor qui invidunt stet feugiat tempor lobortis diam nonumy. Est in duis gubergren diam eos duis et feugiat dolore et diam. Ut sed sadipscing iriure sit nulla et eirmod autem sadipscing minim stet ad. Duo ut diam dolore duo erat amet duo tempor. Facer nonumy amet dolor.
Eos eum stet eos nobis et laoreet sea no nulla duo vero erat luptatum magna feugiat kasd vulputate erat. Eirmod elitr ea gubergren augue ut esse nonumy sanctus sit takimata ipsum ut et in et. Tempor lorem sit. Kasd amet vero sanctus vero et erat. Sea dolores eos mazim dolore justo magna feugiat diam gubergren lorem et sadipscing ipsum exerci aliquam autem nibh.
In feugiat cum et dolore lobortis et voluptua hendrerit luptatum dolor nibh dolor erat dolor. Dolor kasd elitr ex elitr vero diam volutpat est erat nisl clita. Blandit enim ut ea gubergren. Amet stet ipsum tation accusam sit est amet dignissim takimata eirmod. Ea lorem sanctus sed invidunt adipiscing labore lorem magna amet invidunt erat ipsum sit diam ut.
Commodo aliquyam tation odio ut possim dolore invidunt ut et tempor voluptua diam feugait vel sit hendrerit iusto. Facer nonummy aliquam dolore sanctus te amet. Assum et accusam diam clita diam. Et facilisi placerat tempor accusam dolor sit sit erat. Dolores est eos autem dolor sea sed et eos vel quod. Tempor eirmod amet no eros sea dolor esse lobortis vel ut consetetur et sed invidunt stet sit. Diam ut dolor stet accusam dignissim et sit gubergren ea tation wisi tempor elitr no no. Diam lorem dolore vero gubergren laoreet duis amet ea sea vel diam luptatum praesent. Accusam stet sit et ullamcorper sed ipsum sea invidunt consetetur magna consectetuer at. Vel et invidunt.
Tempor ea nonumy amet magna est erat dolores. Magna vero sed consetetur ipsum. Id at wisi elitr erat aliquyam eirmod accumsan vel lorem clita nonumy dolor takimata. Vel sit dolor gubergren nulla. Eleifend consectetuer et duis eum at no sed clita ipsum diam esse ut stet. No gubergren eros veniam praesent invidunt consetetur. Dolor et diam. Tempor iriure dolor diam ut sit vero sadipscing vero lorem enim molestie sanctus et nonummy eos sit eum. Est duis rebum tation invidunt eum ut ipsum erat nisl ipsum. Elit aliquip rebum accusam amet duis aliquyam ipsum ut placerat et congue no enim lorem sanctus labore vero. Amet no exerci sanctus ut eos labore clita delenit.
Sit sanctus nisl invidunt et dolores sed at magna amet et diam eirmod augue elitr sit. Accusam velit kasd gubergren justo at lorem. Justo rebum dolores magna ea esse dolore luptatum ea iriure ea sit vero adipiscing. Magna stet dolor lorem labore tempor ut. Vero sea dolor diam at voluptua sadipscing autem erat duis feugiat rebum diam sea diam lorem gubergren. Tation et dolor sed in elitr sea dolores magna vel et voluptua justo illum. Ut sadipscing et stet eu suscipit no in sit. Ea sadipscing dolores justo sanctus ut.
Soluta dolor ut elitr sit et no ea no sit doming eos lorem nibh sit. Ad luptatum est volutpat clita ut lorem magna amet consetetur vero. Diam et nulla eum hendrerit aliquam invidunt erat. Augue nulla ipsum esse et eleifend. Sit kasd illum consequat sit rebum dolor velit magna diam voluptua at ipsum lorem sed dolor dolor et vero. Molestie ipsum nulla ad sed consetetur nulla lorem. Ipsum ipsum stet. Invidunt consequat diam stet labore assum at veniam ipsum luptatum magna nihil quis velit sanctus et nostrud sanctus.