« MARC authorities formatting | Main | Embedding XSLT in XML »


Skott Klebe

FO has had a tough road. It's really more of a print-layout language, and most of the applications for it have focused primarily on PDF generation, with other renderings trailing. It's really tough stuff to work with without tool support, and tool support has seriously lagged.
Håkon Wium Lie, Opera's CTO, created CSS while at W3C, so it's no surprise that Opera's CSS support is pretty good.

Love the blog, Thom.

Jon Gorman

XSL-FO was thought by some to eventually go to the browser, but the biggest push in XSL-FO has typically been for the creation of print documents. If you actually look at the spec you'll see it shares common roots with CSS.

XSL-FO really hasn't caught on just in part because even the print tools that are open source tend to be rough. So one must learn the standards, typography, and how the various processors actually process the XSL-FO.

I'll have to follow up on the CSS stuff. Main reason I'll choose XSLT over CSS styling is that so far it seems that CSS tends to work better with html and with XML as an after-thought. So I prefer having the html and having CSS style that. I still remember one project I worked on where we were hoping to use CSS because it was a simple enough project but then realized some of the elements in our schema used periods in their names. At the tyime we couldn't figure out how to specify the element any element with a period in the name in a css file.

In practice I've tended to find it easier to use XSLT rather than Javascript for transformation, but it's possible to do both. Of couse, my gut feeling is that most have avoided it also just because it's only lately there seems to be a sharp increase in the number of people working with XML and doing client-side transformations. I think we'll see more of this happening as AJAX gets more powerful and more of the web community actually starts playing with both DOM and actual XML.

The comments to this entry are closed.

My Photo

May 2015

Sun Mon Tue Wed Thu Fri Sat
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30