Slash Boxes
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.
More | Login | Reply
Loading... please wait.
  • SAX is complicated purely because it deals with XML at a low level, and XML is actually quite complicated. As with XML, the trick lies is using just that portions you need. SAX, because it is so low-level, should be built upon so it does not have to be used directly. Assembling SAX filters to form pipelines and more complicated beasties is quite easy, and there are an ever growing number of filters to make it so you *don't* have to mess with SAX internals directly.
    • I'm not sure that that suffices to make it qualify as complex. In the vast majority of cases (ie >95%) I only need two things from SAX: elements and character data.

      The reason I find SAX simple is because you can simply ignore what you don't care about. It only gets complex when you want to deal with complex XML.

      In that respect, I'd call it more complete than complex. Easy things easy and all that ;)


      -- Robin Berjon []

      • How much would I have to change if I wanted to make things so that each SAX filter was actually run from within a standalone daemon servicing a reliable message queue. It's also a requirement that each daemon should be able to serve as a filter in different filter pipelines.

        I'm not saying that this should be easy to implement, but the Pipeline API that I've been envisaging should at least make things so that I only have to change the transport model and all the other stuff will remain untouched.

        I don't w
        • At the end of the day, Pipeline isn't about XML, SAX, or anything else. Its about genericity (I hate that word, if it even is a word). I don't really care that much about XML but, and this is the killer, I understand that other people do, and even more to the point:

          I don't care what the data flowing through the pipeline looks like

          I could be YAML if you want.

          The reason why Pipeline was written was as a direct result of loads of people coming up with loads of different implementations of the same thing. If we have many implementations and many interfaces, thats a bad thing. If we can have many implementations but one interface thats a better thing. There are certain problems that interface cannot solve, but certain problems that it can, and if we can capitalize on solving those then we are ahead of the game.

          If people want to use SAX, then cool. If people want to wrap/warp SAX to have a Pipeline interface, then even cooler -- then it can be plugged into other things. If people don't then thats fine too.