AxKit Matt Sergeant matt@axkit.com AxKit.com Ltd http://axkit.com/ ax_logo.jpeg redbg.jpeg Introduction Perl's XML Capabilities A long bullet point line for testing the line wrapping capabilities which should make this look OK AxKit static sites AxKit dynamic sites (XSP) Advanced AxKit Foo! XML with Perl Introduction A very long <i>title that</i> should show how word <i>wrapping in the title</i> tag hopefully works properly today SAX-like API register callback handler methods start tag end tag characters comments processing instructions <?pi here?> ... and more Non validating XML parser dies (throws an exception) on bad XML XML::Parser code my $p = XML::Parser->new( Handlers => { Start => \&start_tag, End => \&end_tag, # add more handlers here }); $p->parsefile("foo.xml"); exit(0); sub start_tag { my ($expat, $tag, %attribs) = @_; print "Start tag: $tag\n"; } sub end_tag { my ($expat, $tag) = @_; print "End tag: $tag\n"; } XML::XPath Implementation XML::Parser and SAX parsers build an in-memory tree Hand-built parser for XPath syntax (rather than YACC based parser) Garbage Collection yet still has circular references (and works on Perl 5.005) Conclusions Perl and XML are a powerful combination XPath and XSLT add to the mix... AxKit can reduce your long term costs In site re-design and in content re-purposing Open Source equal to commercial alternatives Resources and contact AxKit: http://axkit.org/ CPAN: http://search.cpan.org libxml and libxslt: http://www.xmlsoft.org Sablotron: http://www.gingerall.com XPath and XSLT Tutorials: http://zvon.org