Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • The first frightening realization that I had to wrap my head around is that, for all the ways I naturally think in Perl, they think in XSLT.

    Just…ponder that for a few minutes.

    Nothing bizarre about that at all. :-) I can’t claim to be a decade-of-experience expert in XSLT as I can claim to be in Perl, but I am very good with the language, and I like it a whole lot. The syntax is dreadfully verbose, but at the semantic level – its computation model – it is extremely elegant. You can do things in XSLT with a dozen lines of code that would be terribly cumbersome to express in any XML API in any more general-purpose language. You just have to wrap your head around it the right way (which is difficult because every last XSLT tutorial and introduction, as far as I have seen, is crap).

    (Oh, and libxml2 is not at all hard or bad.)

    • I guess the thing I find frustrating about libxml2 is that I want a nice compact way of saying "Get me the one&only FOO child element from the one&only BAR element of the document." Am I missing something?

      It's also possible - moderately likely, even - that I'll convert my parsing to a SAX model, and that will make that particular frustration go away.

      However, the real problem I have with libxml2 at the moment is that it doesn't like the TEI RelaxNG files, and I don't know whose fault that is. It me

      • Am I missing something?

        Yes, XPath. Forget the DOM API, and for the most part, SAX as well.

        However, the real problem I have with libxml2 at the moment is that it doesn’t like the TEI RelaxNG files

        Ah, yes. The validation support in libxml2 is not all that great.

    • I may have asked this before, but is it XSLT you like or XPath? I've never managed to like XSLT, but I do like XPath. The syntax isn't always perfect, but I can't think of improvements.

      • Both. XPath isn’t dreadfully verbose; XSLT is. (It would greatly benefit from a non-XML rendition of its syntax, just like RelaxNG has both an XML and a Compact syntax.) But the basic model (recursive node visiting) is a perfect match for XSLT’s job. The apply-templates directive is basically a map with polymorphic callback using XPath-based dispatch. That’s all there is to XSLT.

        Of course, most people write for-each-heavy transforms instead, so they gain none of the elegance of this model.