DBIx::DBStag

DBIx::DBStag is a Perl module for Relational Database to Hierarchical (Stag/XML) Mapping.
Download

DBIx::DBStag Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Chris Mungall
  • Publisher web site:
  • http://search.cpan.org/~birney/

DBIx::DBStag Tags


DBIx::DBStag Description

DBIx::DBStag is a Perl module for Relational Database to Hierarchical (Stag/XML) Mapping. DBIx::DBStag is a Perl module for Relational Database to Hierarchical (Stag/XML) Mapping.SYNOPSIS use DBIx::DBStag; my $dbh = DBIx::DBStag->connect("dbi:Pg:dbname=moviedb"); my $sql = q; my $dataset = $dbh->selectall_stag($sql); my @studios = $dataset->get_studio; # returns nested data that looks like this - # # (studio # (name "20th C Fox") # (movie # (name "star wars") (genre "sci-fi") # (star # (firstname "Carrie")(lastname "Fisher"))))) # iterate through result tree - foreach my $studio (@studios) { printf "STUDIO: %sn", $studio->get_name; my @movies = $studio->get_movie; foreach my $movie (@movies) { printf " MOVIE: %s (genre:%s)n", $movie->get_name, $movie->get_genre; my @stars = $movie->get_star; foreach my $star (@stars) { printf " STARRING: %s:%sn", $star->get_firstname, $star->get_lastname; } } } # manipulate data then store it back in the database my @allstars = $dataset->get("movie/studio/star"); $_->set_fullname($_->get_firstname.' '.$_->get_lastname) foreach(@allstars); $dbh->storenode($dataset); exit 0;Or from the command line: unix> selectall_xml.pl -d 'dbi:Pg:dbname=moviebase' 'SELECT * FROM studio NATURAL JOIN movie NATURAL JOIN movie_to_star NATURAL JOIN star USE NESTING (set(studio(movie(star))))'Or using a predefined template: unix> selectall_xml.pl -d moviebase /mdb-movie genre=sci-fi Requirements: · Perl


DBIx::DBStag Related Software