[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qsos-commits] qsos/libs/perl/QSOS-Document/lib/QSOS Document.pm
From: |
Gonéri Le Bouder |
Subject: |
[Qsos-commits] qsos/libs/perl/QSOS-Document/lib/QSOS Document.pm |
Date: |
Fri, 05 May 2006 09:29:10 +0000 |
CVSROOT: /sources/qsos
Module name: qsos
Branch:
Changes by: Gonéri Le Bouder <address@hidden> 06/05/05 09:29:10
Modified files:
libs/perl/QSOS-Document/lib/QSOS: Document.pm
Log message:
new func: content to print xml file
indentation
test some param to avoid errors with params
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qsos/qsos/libs/perl/QSOS-Document/lib/QSOS/Document.pm.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
Patches:
Index: qsos/libs/perl/QSOS-Document/lib/QSOS/Document.pm
diff -u qsos/libs/perl/QSOS-Document/lib/QSOS/Document.pm:1.15
qsos/libs/perl/QSOS-Document/lib/QSOS/Document.pm:1.16
--- qsos/libs/perl/QSOS-Document/lib/QSOS/Document.pm:1.15 Mon Apr 24
16:16:16 2006
+++ qsos/libs/perl/QSOS-Document/lib/QSOS/Document.pm Fri May 5 09:29:10 2006
@@ -1,4 +1,4 @@
-# $Id: Document.pm,v 1.15 2006/04/24 16:16:16 goneri Exp $
+# $Id: Document.pm,v 1.16 2006/05/05 09:29:10 goneri Exp $
#
# Copyright (C) 2006 Atos Origin
#
@@ -33,7 +33,7 @@
@ISA = qw(Exporter);
@EXPORT = qw(XMLin XMLout);
address@hidden = qw(new load write getkeydesc setkeydesc setkeycomment
getkeycomment setkeyscore getkeyscore getkeytitle setkeytitle write getauthors
addauthor delauthor getappname setappname getlanguage setlanguage getrelease
setrelease getlicenselist getlicenseid setlicenseid getlicensedesc
setlicensedesc geturl seturl getdesc setdesc getdemourl setdemourl
getqsosformat setqsosformat getqsosspecificformat setqsosspecificformat
getqsosappfamily setqsosappfamily);
address@hidden = qw(new load write content getkeydesc setkeydesc
setkeycomment getkeycomment setkeyscore getkeyscore getkeytitle setkeytitle
write getauthors addauthor delauthor getappname setappname getlanguage
setlanguage getrelease setrelease getlicenselist getlicenseid setlicenseid
getlicensedesc setlicensedesc geturl seturl getdesc setdesc getdemourl
setdemourl getqsosformat setqsosformat getqsosspecificformat
setqsosspecificformat getqsosappfamily setqsosappfamily);
$VERSION = '0.01';
@@ -70,6 +70,36 @@
}
+sub _pushElem {
+
+ my ($self, $elt, $deep) = @_;
+
+ carp "element undef" unless ($elt);
+
+ $deep = 0 unless $deep;
+
+ die unless ($elt->atts->{name});
+
+ my $h = {
+ name => $elt->atts->{name},
+ title => $elt->atts->{title},
+ comment_ref => $elt->first_child('comment'),
+ desc_ref => $elt->first_child('desc'),
+ desc_ref0 => $elt->first_child('desc0'),
+ desc_ref1 => $elt->first_child('desc1'),
+ desc_ref2 => $elt->first_child('desc2'),
+ score_ref => $elt->first_child('score'),
+ elt => $elt,
+ deep => $deep
+ };
+
+ if (exists ($self->{section}->{$elt->atts->{name}})) {
+ print "ERR: Section name ".$elt->atts->{name}." already defined in
document!\n";
+ }
+ $self->{section}->{$elt->atts->{name}} = $h;
+}
+
+
sub new {
my $self;
@@ -78,7 +108,6 @@
keep_atts_order => 1
); # create the twig
- $self->{tabular} = [];
$self->{authors} = [];
$self->{section} = {};
@@ -112,37 +141,6 @@
1;
}
-sub _pushElem {
-
- my ($self, $elt, $deep) = @_;
-
- carp "element undef" unless ($elt);
-
- $deep = 0 unless $deep;
-
- die unless ($elt->atts->{name});
-
- my $h = {
- name => $elt->atts->{name},
- title => $elt->atts->{title},
- comment_ref => $elt->first_child('comment'),
- desc_ref => $elt->first_child('desc'),
- desc_ref0 => $elt->first_child('desc0'),
- desc_ref1 => $elt->first_child('desc1'),
- desc_ref2 => $elt->first_child('desc2'),
- score_ref => $elt->first_child('score'),
- elt => $elt,
- deep => $deep
- };
-
- if (exists ($self->{section}->{$elt->atts->{name}})) {
- print "ERR: Section name ".$elt->atts->{name}." already defined in
document!\n";
- }
- $self->{section}->{$elt->atts->{name}} = $h;
-# push @{$self->{tabular}}, \$h;
-}
-
-
sub getkeydesc {
my ($self, $name, $numdesc) = @_;
@@ -164,6 +162,7 @@
$desc = '' if (! defined $desc);
my $desc_ref = $self->_getsectionbyname($name)->{"desc_ref".$numdesc};
+ return unless ($desc_ref);
if (!$desc_ref) { # no existing <desc></desc>, i create it
$desc_ref = $self->_getsectionbyname($name)->{"elt"}->insert_new_elt
('desc');
$self->{section}->{$name}->{"desc_ref".$numdesc} = $desc_ref; # save new
ref
@@ -175,7 +174,9 @@
sub setkeycomment {
my ($self, $name, $comment) = @_;
+ $comment = '' unless $comment;
my $comment_ref = $self->_getsectionbyname($name)->{"comment_ref"};
+ return unless ($comment_ref);
$comment_ref->set_text($comment);
}
@@ -185,6 +186,7 @@
my $comment_ref = $self->_getsectionbyname($name)->{"comment_ref"};
+ return unless ($comment_ref);
$comment_ref->text();
}
@@ -194,6 +196,7 @@
$score = '' if ((!defined $score) || ($score !~ /[012]/));
my $score_ref = $self->_getsectionbyname($name)->{"score_ref"};
+ return unless ($score_ref);
$score_ref->set_text($score);
}
@@ -203,6 +206,7 @@
my $score_ref = $self->_getsectionbyname($name)->{"score_ref"};
+ return unless ($score_ref);
$score_ref->text();
}
@@ -210,17 +214,20 @@
sub getkeytitle {
my ($self, $name) = @_;
- my $elt = $self->_getsectionbyname($name)->{"elt"};
-
- $elt->att('title');
+ my $reftitle = $self->_getsectionbyname($name)->{"elt"};
+ return unless($reftitle);
+
+ $reftitle->att('title');
}
sub setkeytitle {
my ($self, $name, $title) = @_;
- my $elt = $self->_getsectionbyname($name)->{"elt"};
- $elt->set_att( title => $title);
+ $title = '' unless $title;
+ my $reftitle = $self->_getsectionbyname($name)->{"elt"};
+ return unless ($reftitle);
+ $reftitle->set_att( title => $title);
}
@@ -234,10 +241,21 @@
carp "file is empty !" unless ($aout);
- open XMLOUT,">".$file or carp "can't pen $file $!";
+ open XMLOUT,">".$file or carp "can't open $file $!";
print XMLOUT $aout;
close XMLOUT;
-
+}
+
+sub content {
+ my ($self, $file) = @_;
+
+ $file = $self->{file} unless ($file);
+
+ my $aout = $self->{twig}->sprint;
+
+ carp "file is empty !" unless ($aout);
+
+ $aout;
}
- [Qsos-commits] qsos/libs/perl/QSOS-Document/lib/QSOS Document.pm,
Gonéri Le Bouder <=