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 35.102.529 Times

Class::XML 0.06

  Date Added: August 01, 2012  |  Visits: 1.025

Class::XML

Report Broken Link
Printer Friendly Version


Product Homepage
Download (80 downloads)



Class::XML is a Perl module for simple XML Abstraction. SYNOPSIS package Foo; use base qw/Class::XML/; __PACKAGE__->has_attributes(qw/length colour/); __PACKAGE__->has_child(bar => Bar); package Bar; use base qw/Class::XML/; __PACKAGE__->has_parent(foo); __PACKAGE__->has_attribute(counter); # Meanwhile, in another piece of code - my $foo = Foo->new( xml => # Or filename or ioref or parser qq!< foo length="3m" colour="pink" >< bar / >< /foo >! ); $foo->length; # Returns "3m" $foo->colour("purple"); # Sets colour to purple print $foo; # Outputs my $new_bar = new Bar; # Creates empty Bar node $new_bar->counter("formica"); $foo->bar($new_bar); # Replaces child $new_bar->foo->colour; # Returns "purple" $foo->colour(undef); # Deletes colour attribute print $foo; # Outputs < foo length="3m" >< bar counter="formica" / >< /foo > Class::XML is designed to make it reasonably easy to create, consume or modify XML from Perl while thinking in terms of Perl objects rather than the available XML APIs; it was written out of a mixture of frustration that JAXB (for Java) and XMLSerializer (for .Net) provided programming capabilities that simply werent easy to do in Perl with the existing modules, and the sheer pleasure that Ive had using Class::DBI. The aim is to provide a convenient abstraction layer that allows you to put as much of your logic as you like into methods on a class tree, then throw some XML at that tree and get back a tree of objects to work with. It should also be easy to get started with for anybody familiar with Class::DBI (although I doubt you could simply switch them due to the impedance mismatch between XML and relational data) and be pleasant to use from the Template Toolkit. Finally, all Class::XML objects are also XML::XPath nodes so the full power of XPath is available to you if Class::XML doesnt provide a shortcut to what youre trying to do (but if you find it doesnt on a regular basis, contact me and Ill see if I can fix that..

Requirements: No special requirements
Release Date: August 01, 2012
Platforms: Linux
Keyword: Bar Classxml Colour Foo Libraries New Package Perl Perl Module Programming Simple Simple Xml Xml Abstraction
Users rating: 0/10

License: Freeware Size: 18.43 KB
USER REVIEWS
More Reviews or Write Review


CLASS::XML RELATED
Libraries  -  Template::Plugin::XML::Style 2.17
Template::Plugin::XML::Style is a Perl module for simple XML stylesheet transformations. SYNOPSIS [% USE xmlstyle table = { attributes = { border = 0 cellpadding = 4 cellspacing = 1 } } %] [% FILTER xmlstyle %] <...
26.62 KB  
Libraries  -  Yahoo::Search::XML 1.7.10
Yahoo::Search::XML is a Perl module with simple routines for parsing XML from Yahoo! Search. The XML sent back from Yahoo! is fairly simple, and is guaranteed to be well formed, so we really dont need much more than to make the data easily...
35.84 KB  
Libraries  -  Alien Perl module 0.91
Alien Perl module package contains external libraries wrapped up for your viewing pleasure! SYNOPSIS perldoc Alien; Alien is a package that exists just to hold together an idea, the idea of Alien:: packages, so there is no code here, just...
10.24 KB  
Libraries  -  XML::NamespaceSupport 1.09
XML::NamespaceSupport is Perl module a simple generic namespace support class. SYNOPSIS use XML::NamespaceSupport; my $nsup = XML::NamespaceSupport->new; # add a new empty context $nsup->push_context; # declare a few prefixes...
8.19 KB  
Libraries  -  OpenGeoDB Perl module 0.4
OpenGeDB Perl module is a module to access the OpenGeoDB database and calculate all ZIP codes in a certain radius..
3.07 KB  
Libraries  -  Test::Unit::Runner::XML 0.1
Test::Unit::Runner::XML is a Perl module that can generate XML reports from unit test results. SYNOPSIS use Test::Unit::Runner::XML; mkdir("test_reports"); my $runner = Test::Unit::Runner::XML->new("test-reports"); $runner->start($test);...
3.07 KB  
Libraries  -  XML::Descent 0.0.4
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 =>...
9.22 KB  
Libraries  -  XML::Namespace 0.02
XML::Namespace is a Perl module with simple support for XML Namespaces. SYNOPSIS Example 1: using XML::Namespace objects use XML::Namespace; my $xsd = XML::Namespace->new(http://www.w3.org/2001/XMLSchema#); # explicit access via the...
4.1 KB  
Libraries  -  XML::Rules 0.18
XML::Rules is a Perl module that can parse XML & process tags by rules starting from leaves. SYNOPSIS use XML::Rules; $xml = ... ... ... ...
38.91 KB  
Network & Internet  -  MyCMS perl module 1.0
MyCMS perl module provides the MN::CMS Perl module used by the MyCMS. MyCMS perl module contains Perl object classes to manage the data of MyCMS (such as articles, links, and images). MN::CMS is a perl module that allows you to manage an...
16.38 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
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  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.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...
3.88 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