Slashdot Mirror


Printing XML: Why CSS Is Better than XSL

An anonymous contributor writes "XML.com just published an article titled Printing XML: Why CSS Is Better than XSL written by Michael Day and Håkon Wium Lie. The article was written in response to Norm Walsh's claim that CSS will never fix [printing]. Did you hear me? CSS will never fix it!. The article shows how a 100-line CSS style sheet gives you the same formatted version of W3C's Webarch as the 1000-line XSL style sheet by using Prince."

12 of 361 comments (clear)

  1. Re:Tru Dat by procrastitron · · Score: 3, Informative

    IE isn't relevant to this topic actually. The article linked to is not about printing on the screen but actually printing to paper. They use CSS to produce a PDF document of the XML file, which can be printed as a book. The authors even say that they've already done this for their book Cascading Stylesheets, designing for the web

  2. Re:Better question by tomstdenis · · Score: 3, Informative

    I think it's safe to say that TeX and LaTeX own the typesetting domain. Some reasons why perhaps

    1. It's old, mature and stable

    2. LaTeX makes TeX really easy to work with

    3. The output is related to the input, not the machine you are working on.

    4. Gives you wicked control over positioning, size, orientation, etc.

    5. Great support for equations, figures and other oddities that things like Word manages to screw up.

    6. Most TeX distros [like tetex] are FREE and open source. No shelling out the MSFT tax to use Word ;-)

    The only big downside to LaTeX is that occasionally it automagically places things in a less than desired fashion [figures I mean] and you have to manually tweak it. But I'd say for 99% of what math/crypto people do [for instance] LaTeX handles it perfectly.

    Tom

    --
    Someday, I'll have a real sig.
  3. The authors aren't talking about using browser-CSS by watanabe · · Score: 4, Informative

    There's already a lot of discussion here about how IE's XSL transforms (and CSS support in printing) both suck, and how a proper workflow for XSL involves a server-side transform.

    The authors of their CSS Rocks article are imagining that you're going to use software like Prince, (software that one of them created) to apply CSS3 rules to XML and get PDFs out of them.

    Another way to say this is that they're not talking about how to fix the browser -> print workflow in this article (although one of the authors works for Opera, so I imagine he's thinking about it). They're talking about easy ways to transform XML to PDFs, and discussing why you might use CSS to do such a thing.

    This courteous and friendly rationalizing of the slashdot editor's inflammatory post has been brought to you by my company, which is paying me for the time I use to write this. The opinions, of course, are mine only.

  4. DOH!!!! by Spy+der+Mann · · Score: 2, Informative

    XSL wasn't meant for formatting and printing. It was meant for converting XML into other XML formats (such as XHTML + CSS helloooo???)

    Comparing XSL vs. CSS is like comparing Table-based design with Table AND CSS-based design.

    (X)HTML's Document Object Model has default styles ("default" CSS if you prefer) assigned to each element. Of course using CSS is necessary.

    And the reason many XSLT stylesheets are so long is because of the stupid design imposed on them (non-changeable variables, result-tree-fragments, inability to eval an xpath expression... ok who was the genius who came out with these ideas, anyway?)

    Unfortunately, current browsers cannot do ALL the formatting. Try turning off IE's header and footer using CSS. Or customizing your own header and footer, or print landscape instead of portrait.
    Let's hope that CSS3 solves these problems - but until then, server-side PDF generation is the solution.

    Anyway if browsers had supported XSL, it would be a mainstream component of the web today. We would have marvelous things like client-side inclusion (I've done it with XSLT alone, _NO_ javascript!), bandwidth savings... (imagine that with Google!)
    In the end it became a pipedream due to the lack of browser support.

  5. Re:Tru Dat by Vann_v2 · · Score: 3, Informative

    There are some obscure corners of CSS2 that the main non-IE browsers can't handle or don't handle well, but for the most part they're compliant. I've never needed something they don't support. CSS3 is an entirely different ballgame, though. No browser even suports half of it, AFAIK.

  6. XSLT is for transformation by Pascal+Sartoretti · · Score: 5, Informative
    As an XSLT developer, I agree that CSS is simpler and more readable. However: the "T" in XSLT stands for "transformation". It means that you can do things like generating a table of contents, a table of figures, etc. which would not be possible with just CSS.

    The bottom line (at least for me): if you can do it with CSS, do it with CSS. But there are some cases where you will need XSLT.

  7. xsl:fo-nonsense by flibuste · · Score: 3, Informative

    I stop reading when I saw that XSL examples are XSL:FO examples. XSL:FO is set of XML definitions on top of XSL to address the PRINT world's requirements. As such, it contains ALL the tags and attributes needed by this industry and provides EXTREME flexibilty, at a price: verbosity. However, the article does simple CSS formatting vs XSL:FO where XSL:FO is obviously not needed for that usage. So it's basically taking a hammer to kill a fly, maybe drop a nuke on it. Nonsense...

  8. Re:The authors aren't talking about using browser- by Anonymous Coward · · Score: 1, Informative

    And Prince only costs $2,000 per server!

  9. SVG by British · · Score: 2, Informative

    When the SVG spec was first published, I combed over it pretty well. This was when basically no renderers were active enough to cover the whole spec. Yet, the W3C had screenshots. They had screenshots for some rather confusing or unclarified attributes of certain elements. These were things you couldn't explain in words well, but moreso with illustrations.

    1. Re:SVG by SenseiLeNoir · · Score: 2, Informative

      Actually, the Sony Ericsson S700 (and i think the K700/K500, that is currenly all the rage here in UK) support not just static SVG, but also Animated SVG too (it comes with two sample animated SVG pics)

      --
      Have a nice day!
  10. CSS3 will have a generated content module. by Kickasso · · Score: 2, Informative

    It's enough to create TOC, list of figuires, footnotes, what have you. Enjoy: CSS3.

  11. Re:The authors aren't talking about using browser- by KillerDeathRobot · · Score: 2, Informative

    Or $0 per individual for a personal license. $2,000 per server for a business really isn't that much.

    And THANK YOU to the grandparent! I was getting annoyed at all the long discussions about how IE does or doesn't support whatever. It's irrelevant!

    --
    Thinkin' Lincoln - a web comic of presidential proportions