NAME XML::XBEL - OOP for reading and writing XBEL documents. SYNOPSIS # creating an XBEL document use XML::XBEL; use XML::XBEL::Folder; use XML::XBEL::Bookmark; my $xbel = XML::XBEL->new(); $xbel->new_document({title=>"My Bookmarks"}); $xbel->add_bookmark({href => "http://foo.com", title => "foo", desc => "bar"}); my $folder1 = XML::XBEL::Folder->new({title => "comp"}); my $folder2 = XML::XBEL::Folder->new({title => "lang"}); my $folder3 = XML::XBEL::Folder->new({title => "perl"}); my $bm = XML::XBEL::Bookmark->new({"title=>"misc"}); $bm->href("http://groups.google.com/groups?q=comp.lang.perl.misc"); $folder3->add_bookmark($bm); $folder2->add_folder($folder3); $folder1->add_folder($folder2); $xbel->add_folder($folder1); print $xbel->toString(); # parsing an XBEL document use XML::XBEL; my $xbel = XML::XBEL->new(); $xbel->parse_file($file); foreach my $bm ($xbel->bookmarks()) { print sprintf("%s points to %s\n", $bm->title(), $bm->href()); } DESCRIPTION OOP for reading and writing XBEL files. PACKAGE METHODS __PACKAGE__->new() Returns an *XML::XBEL* object. OBJECT METHODS $self->parse_file($file) Returns true or false. $self->parse_string($string) Returns true or false. $obj->new_document(\%args) Valid arguments are : * title String. * desc String. * info Hash ref, with the following key/value pairs : * *owner* Array ref. Returns true or false. $obj->title($title) Get/set the title for an XBEL document. Returns a string when called with no arguments; otherwise returns true or false. $obj->desc($description) Get/set the description for an XBEL document. Returns a string when called with no arguments; otherwise returns true or false. $obj->info(\%args) Get/set the metadata for an XBEL document. Valid args are : * owner Array reference Returns an array reference when called with no arguments; otherwise returns true or false. $obj->bookmarks($recursive) Returns a list of child *XML::XBEL::Bookmark* objects. Where *$recursive* is a boolean indicating whether to return all the bookmarks in an XBEL document or only its immediate children. $obj->folders($recursive) Returns a list of child *XML::XBEL::Folder* objects. Where *$recursive* is a boolean indicating whether to return all the folders in an XBEL document or only its immediate children. $obj->aliases($recursive) Returns a list of child *XML::XBEL::Alias* objects. Where *$recursive* is a boolean indicating whether to return all the aliases in an XBEL document or only its immediate children. $obj->find_by_id($id) Returns an *XML::XBEL::Bookmark* or *XML::XBEL::Folder* object whose id attribute matches $id. $obj->find_by_href($href) Returns a list of *XML::XBEL::Bookmark* objects whose href attribute matches $href. $obj->add_bookmark((XML::XBEL::Bookmark || \%args)) Add a new bookmark to an XBEL document. If passed a hash ref, valid arguments are the same as those defined for the *XML::XBEL::Bookmark* object constructor. $obj->add_folder((XML::XBEL::Folder || \%args)) Add a new folder to an XBEL document. If passed a hash ref, valid arguments are the same as those defined for the *XML::XBEL::Folder* object constructor. $obj->add_alias((XML::XBEL::Alias || \%args)) Add a new alias to an XBEL document. If passed a hash ref, valid arguments are the same as those defined for the *XML::XBEL::Alias* object constructor. $obj->add_separator() Add a new separator to an XBEL document. $obj->toString($format) $obj->toFile($filename,$format) $obj->toFH(\*$fh,$format) $obj->toSAX(A::SAX::Handler) Generate SAX events for the XBEL object. VERSION 1.4 DATE $Date: 2005/04/02 20:54:52 $ AUTHOR Aaron Straup Cope SEE ALSO XML::XBEL::Folder XML::XBEL::Bookmark XML::XBEL::Alias XML::XBEL::Separator BUGS It's possible. Please report all bugs via http://rt.cpan.org LICENSE Copyright (c) 2004 Aaron Straup Cope. All rights reserved. This is free software, you may use it and distribute it under the same terms as Perl itself.