XML :: SAX :: BASE

XML :: SAX :: Base ist eine Basisklasse-Sax-Treiber und -filter.
Jetzt downloaden

XML :: SAX :: BASE Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Kip Hampton, Robin Berjon and Matt Sergeant
  • Website des Verlags:
  • http://search.cpan.org/~khampton/

XML :: SAX :: BASE Stichworte


XML :: SAX :: BASE Beschreibung

XML :: SAX :: Base ist eine Basisklasse-Sax-Treiber und -filter. XML :: SAX :: Base ist eine Basis-Perl-Klasse mit SAX-Treibern und Filtern.Synopsis-Paket MyFilter; Verwenden Sie XML :: SAX :: BASE; @Isa = ('xml :: sax :: base'); Dieses Modul hat eine sehr einfache Aufgabe - als Basisklasse für Perlsax-Treiber und -filter. Es ist ein Standardverhalten, den Eingang direkt an den Ausgang unverändert zu übergeben. Es kann nützlich sein, dieses Modul als Basisklasse zu verwenden, sodass Sie beispielsweise nicht den Callback (Callback nicht umzusetzen () Sie überprüft, dass der Handler diese Methode implementiert hat oder eine Autoload definiert hat), und die Garantie, dass Filter Ereignisse entlang von Ereignissen weiterleiten, dass sie nicht mit den Handlern nachträglich sind, die dennoch an ihnen interessiert sein könnten Filter sind enorm einfach: Alles, was Sie tun müssen, ist von diesem Modul zu erben, und definieren Sie die Ereignisse, die Sie umgehen möchten. Eine detailliertere Erläuterung finden Sie unter http://www.xml.com/pub/a/2001/10/10/sax-filts.html.writing-Treiber ist ebenso einfach. Das Eine Sache, auf die Sie achten müssen, ist nicht, Ereignisse selbst anzurufen (dies gilt auch für Filter). Zum Beispiel: Paket MyFilter; Verwenden Sie Basis QW (XML :: SAX :: BASE); sub start_element {mein $ self = schalte; meine $ data = wechseln; # etwas $ self -> {handler} -> Start_Element ($ Daten); # BAD} Das obige Beispiel funktioniert ebenso genau das: ein Beispiel. Es hat jedoch mehrere Fehler: 1) Es wird nicht getestet, ob der Handler Start_Element definiert. Vielleicht möchte es nicht dieses Ereignis sehen, in dem Sie es nicht werfen sollten (sonst wird es sterben). 2) Es prüft ContentHandler nicht und dann den Handler (dh es ist nicht so zu sehen, dass der Benutzer Ereignisse auf einem bestimmten Handler nicht angefordert hat, und wenn nicht auf der Standardeinstellung), 3), wenn es alles überprüft hat , nicht nur, wäre der Code umständlich (siehe Quelle des Moduls, um eine Idee zu erhalten), aber es muss wahrscheinlich auch nach einem DocumentHandler prüfen (falls dies SAX1 war) und für Autoloads möglicherweise in all diesen Paketen definiert. Wie Sie sagen können, wäre das ziemlich schmerzhaft. Anstatt durchzugehen, denken Sie einfach daran, den folgenden Code, der dem folgenden ähnlich ist, stattdessen: Paket MyFilter; Verwenden Sie Basis QW (XML :: SAX :: BASE); sub start_element {mein $ self = schalte; meine $ data = wechseln; # etwas zu filtern, um $ self-> super :: start_element ($ data); # Gut (und einfach)! } Auf diese Weise, sobald Sie Ihren Job gemacht haben, geben Sie den Ball zurück an XML :: SAX :: Base und es kümmert sich um alle diese Probleme für Sie! Beachten Sie, dass das obige Beispiel nicht nur für Filter gelten, nur die Treiber von der gleichen Funktion profitieren. Anforderungen: · Perl.


XML :: SAX :: BASE Zugehörige Software

Fortschrittsmonitor.

ist ein flexibler und konfigurierbarer Rahmen für die Bereitstellung von Rückmeldungen darüber, wie eine langlaufende Aufgabe fortgesetzt wird. ...

137

Herunterladen