Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.984.154 Times

XML::Descent 0.0.4

  Date Added: June 20, 2010  |  Visits: 872

XML::Descent

Report Broken Link
Printer Friendly Version


Product Homepage
Download (72 downloads)

XML::Descent is a Perl module for recursive descent XML parsing. SYNOPSIS use XML::Descent; # Create parser my $p = XML::Descent->new({ Input => $xml }); # Setup handlers $p->on(folder => sub { my ($elem, $attr) = @_; $p->on(url => sub { my ($elem, $attr) = @_; my $link = { name => $attr->{name}, url => $p->text() }; $p->stash(link => $link); }); my $folder = $p->walk(); $folder->{name} = $attr->{name}; $p->stash(folder => $folder); }); # Parse my $res = $p->walk(); The conventional models for parsing XML are either DOM (a data structure representing the entire document tree is created) or SAX (callbacks are issued for each element in the XML). XML grammar is recursive - so its nice to be able to write recursive parsers for it. XML::Descent allows such parsers to be created. Typically a new XML::Descent is created and handlers are defined for elements were interested in my $p = XML::Descent->new({ Input => $xml }); $p->on(link => sub { my ($elem, $attr) = @_; print "Found link: ", $attr->{url}, "n"; $p->walk(); # recurse }); $p->walk(); # parse A handler provides a convenient lexical scope that lasts until the closing tag of the element that triggered the handler is reached. When called at the top level the parsing methods walk(), text() and xml() parse the whole XML document. When called recursively within a handler they parse the portion of the document nested inside node that triggered the handler. New handlers may be defined within a handler and their scope will be limited to the XML inside the node that triggered the handler..

Requirements: No special requirements
Platforms: Linux
Keyword: Handler Libraries P- Parse Perl Perl Module Programming Recursive Recursive Descent Walk Xml Xmldescent
Users rating: 0/10

License: Freeware Size: 9.22 KB
XML::DESCENT RELATED
Libraries  -  Parse::RecDescent 1.94
Parse::RecDescent is a Perl module to generate Recursive-Descent Parsers. SYNOPSIS use Parse::RecDescent; # Generate a parser from the specification in $grammar: $parser = new Parse::RecDescent ($grammar); # Generate a parser from the...
122.88 KB  
Libraries  -  RDFStore::Parser::SiRPAC 0.50
RDFStore::Parser::SiRPAC is a Perl module that implements a streaming RDF Parser as a direct implementation of XML::Parser::Expat. SYNOPSIS use RDFStore::Parser::SiRPAC; use RDFStore::NodeFactory; my $p=new RDFStore::Parser::SiRPAC(...
481.28 KB  
Libraries  -  Wx::Perl::Packager 0.07
Wx::Perl::Packager provides a module to assist packaging Wx based applications with PAR, ActiveState PerlApp / PDK and Perl A module to assist packaging Wx based applications with PAR, ActiveState PerlApp / PDK and Perl2Exe. All that is needed...
12.29 KB  
Libraries  -  XML::SAX::Writer 0.50
XML::SAX::Writer is a Perl module with SAX2 Writer. SYNOPSIS use XML::SAX::Writer; use XML::SAX::SomeDriver; my $w = XML::SAX::Writer->new; my $d = XML::SAX::SomeDriver->new(Handler => $w); $d->parse(some options...); Why yet another...
12.29 KB  
Libraries  -  perlrpcgen 0.71
perlrpcgen is a Perl module that can generate Perl interfaces from ONC RPC interface definitions. SYNOPSIS perlrpcgen [--makefile] [--all] [--client] [--server] [--data] [--constants] [--module module] [--typemap typemap] [--fork] [--perl...
37.89 KB  
Libraries  -  Piet::Interpreter 0.03
Piet::Interpreter is a Perl interpreter for the Piet programming language. SYNOPSIS use Piet::Interpreter; my $p = Piet::Interpreter->new(image => my_code.gif); $p->run; Piet is a programming language in which programs look like abstract...
17.41 KB  
Libraries  -  Data::Phrasebook::Loader::XML 0.12
Data::Phrasebook::Loader::XML Perl module can abstract your phrases with XML. SYNOPSIS use Data::Phrasebook; my $q = Data::Phrasebook->new( class => Fnerk, loader => XML, file => phrases.xml, dict => Dictionary, # optional ); OR my...
17.41 KB  
Libraries  -  Tuxedo 2.08
Tuxedo is a Perl extension module for Tuxedo. This module provides the following functionality... C style interface The Tuxedo perl module gives you access to almost all of the tuxedo 8.1 apis from perl. In most cases you can take the C API...
33.79 KB  
Libraries  -  OzDB 0.02
OzDB is a database Perl interface module for OzBot. SYNOPSIS use OzDB; The OzDB Perl module handles authentication and access control for the OzBot based utility bots. The basic database format is the authentication schema. This is based on...
12.29 KB  
Libraries  -  Sort::Versions 1.5
Sort::Versions is a Perl 5 module for sorting of revision-like numbers. SYNOPSIS use Sort::Versions; @l = sort { versioncmp($a, $b) } qw( 1.2 1.2.0 1.2a.0 1.2.a 1.a 02.a ); ... use Sort::Versions; print lower if versioncmp(1.2, 1.2a) ==...
5.12 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.12.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB