XML :: SAX :: BASE

XML :: SAX :: BASE is een SAX-stuurprogramma's en filters van de basisklasse.
Download nu

XML :: SAX :: BASE Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Kip Hampton, Robin Berjon and Matt Sergeant
  • Uitgever website:
  • http://search.cpan.org/~khampton/

XML :: SAX :: BASE Tags


XML :: SAX :: BASE Beschrijving

XML :: SAX :: BASE is een SAX-stuurprogramma's en filters van de basisklasse. XML :: SAX :: BASE is een basis Perl-klasse met SAX-stuurprogramma's en filters. Synopsis pakket MyFilter; Gebruik XML :: SAX :: BASE; @Isa = ('XML :: Sax :: Base'); deze module heeft een zeer eenvoudige taak - een basisklasse voor PerlSax-stuurprogramma's en filters. Het is standaard gedrag om de invoer rechtstreeks aan de uitgang ongewijzigd door te geven. Het kan handig zijn om deze module te gebruiken als basisklasse, zodat u de tekens () callback niet hoeft te implementeren. De belangrijkste voordelen die het biedt, zijn eenvoudig verzending van gebeurtenissen op de juiste manier (dwz het zorgt voor U kunt controleren of de handler die methode heeft geïmplementeerd of een autoload heeft gedefinieerd) en de garantie die filters langs evenementen zullen doorgeven die ze niet implementeren aan handlers stroomafwaarts die niettemin geïnteresseerd kunnen zijn. Sax en filterswritten Filters is enorm eenvoudig: alles wat u hoeft te doen is erfen van deze module en definieert de gebeurtenissen die u wilt omgaan. Een meer gedetailleerde uitleg is te vinden op http://www.xml.com/pub/a/2001/10/10/sax-filters.html.writing-stuurprogramma's is even eenvoudig. Het enige waar je op moet letten, is niet om zelf evenementen te bellen (dit geldt ook voor filters). Bijvoorbeeld: pakketmyfilter; Gebruik basis qw (XML :: SAX :: BASE); sub start_element {mijn $ self = shift; mijn $ gegevens = verschuiving; # Doe iets $ zelf -> {handler} -> start_element ($ gegevens); # Slecht} Het bovenstaande voorbeeld werkt zo precies dat: een voorbeeld. Maar het heeft verschillende fouten: 1) het test niet om te zien of de handler start_element definieert. Misschien wil het dat evenement niet zien, in welk geval je het niet mag gooien (anders zal het sterven). 2) Het controleert geen ContentHandler en vervolgens Handler (dwz het er niet uit te zien om te zien dat de gebruiker geen gebeurtenissen op een specifieke handler heeft aangevraagd, en zo niet op de standaard), 3) als het dat niet heeft gedaan , niet alleen zou de code omslachtig zijn (zie de bron van deze module om een idee te krijgen), maar het zou waarschijnlijk ook moeten controleren op een documenthandler (voor het geval dit sax1) en voor autoloads die mogelijk zijn gedefinieerd in al deze pakketten. Zoals je kunt zien, zou dat redelijk pijnlijk zijn. In plaats van dat door te gaan, vergeet niet om de code vergelijkbaar met het volgende te gebruiken in plaats daarvan: Pakket MyFilter; Gebruik basis qw (XML :: SAX :: BASE); sub start_element {mijn $ self = shift; mijn $ gegevens = verschuiving; # Doe iets om $ self-> super :: start_element ($ gegevens) te filteren; # Goed (en eenvoudig)! } Op deze manier, als je je baan hebt gedaan, heb je de bal terug naar XML :: Sax :: Base en het zorgt voor al die problemen voor jou! Merk op dat het bovenstaande voorbeeld niet alleen van toepassing is op Filters, Drivers profiteren van exact dezelfde functie. Vereisten: · Perl


XML :: SAX :: BASE Gerelateerde software