.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "XML::Atom::Entry 3pm" .TH XML::Atom::Entry 3pm 2024-07-13 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME XML::Atom::Entry \- Atom entry .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 7 \& use XML::Atom::Entry; \& my $entry = XML::Atom::Entry\->new; \& $entry\->title(\*(AqMy Post\*(Aq); \& $entry\->content(\*(AqThe content of my post.\*(Aq); \& my $xml = $entry\->as_xml; \& my $dc = XML::Atom::Namespace\->new(dc => \*(Aqhttp://purl.org/dc/elements/1.1/\*(Aq); \& $entry\->set($dc, \*(Aqsubject\*(Aq, \*(AqFood & Drink\*(Aq); .Ve .SH USAGE .IX Header "USAGE" .ie n .SS "XML::Atom::Entry\->new([ $stream ])" .el .SS "XML::Atom::Entry\->new([ \f(CW$stream\fP ])" .IX Subsection "XML::Atom::Entry->new([ $stream ])" Creates a new entry object, and if \fR\f(CI$stream\fR\fI\fR is supplied, fills it with the data specified by \fI\fR\f(CI$stream\fR\fI\fR. .PP Automatically handles autodiscovery if \fR\f(CI$stream\fR\fI\fR is a URI (see below). .PP Returns the new \fIXML::Atom::Entry\fR object. On failure, returns \f(CW\*(C`undef\*(C'\fR. .PP \&\fR\f(CI$stream\fR\fI\fR can be any one of the following: .IP \(bu 4 Reference to a scalar .Sp This is treated as the XML body of the entry. .IP \(bu 4 Scalar .Sp This is treated as the name of a file containing the entry XML. .IP \(bu 4 Filehandle .Sp This is treated as an open filehandle from which the entry XML can be read. .ie n .SS "$entry\->content([ $content ])" .el .SS "\f(CW$entry\fP\->content([ \f(CW$content\fP ])" .IX Subsection "$entry->content([ $content ])" Returns the content of the entry. If \fR\f(CI$content\fR\fI\fR is given, sets the content of the entry. Automatically handles all necessary escaping. .ie n .SS "$entry\->author([ $author ])" .el .SS "\f(CW$entry\fP\->author([ \f(CW$author\fP ])" .IX Subsection "$entry->author([ $author ])" Returns an \fIXML::Atom::Person\fR object representing the author of the entry, or \f(CW\*(C`undef\*(C'\fR if there is no author information present. .PP If \fR\f(CI$author\fR\fI\fR is supplied, it should be an \fIXML::Atom::Person\fR object representing the author. For example: .PP .Vb 4 \& my $author = XML::Atom::Person\->new; \& $author\->name(\*(AqFoo Bar\*(Aq); \& $author\->email(\*(Aqfoo@bar.com\*(Aq); \& $entry\->author($author); .Ve .ie n .SS $entry\->link .el .SS \f(CW$entry\fP\->link .IX Subsection "$entry->link" If called in scalar context, returns an \fIXML::Atom::Link\fR object corresponding to the first \fI\fR tag found in the entry. .PP If called in list context, returns a list of \fIXML::Atom::Link\fR objects corresponding to all of the \fI\fR tags found in the entry. .ie n .SS $entry\->add_link($link) .el .SS \f(CW$entry\fP\->add_link($link) .IX Subsection "$entry->add_link($link)" Adds the link \fR\f(CI$link\fR\fI\fR, which must be an \fIXML::Atom::Link\fR object, to the entry as a new \fI\fR tag. For example: .PP .Vb 5 \& my $link = XML::Atom::Link\->new; \& $link\->type(\*(Aqtext/html\*(Aq); \& $link\->rel(\*(Aqalternate\*(Aq); \& $link\->href(\*(Aqhttp://www.example.com/2003/12/post.html\*(Aq); \& $entry\->add_link($link); .Ve .ie n .SS "$entry\->get($ns, $element)" .el .SS "\f(CW$entry\fP\->get($ns, \f(CW$element\fP)" .IX Subsection "$entry->get($ns, $element)" Given an \fIXML::Atom::Namespace\fR element \fR\f(CI$ns\fR\fI\fR and an element name \&\fI\fR\f(CI$element\fR\fI\fR, retrieves the value for the element in that namespace. .PP This is useful for retrieving the value of elements not in the main Atom namespace, like categories. For example: .PP .Vb 2 \& my $dc = XML::Atom::Namespace\->new(dc => \*(Aqhttp://purl.org/dc/elements/1.1/\*(Aq); \& my $subj = $entry\->get($dc, \*(Aqsubject\*(Aq); .Ve .ie n .SS "$entry\->getlist($ns, $element)" .el .SS "\f(CW$entry\fP\->getlist($ns, \f(CW$element\fP)" .IX Subsection "$entry->getlist($ns, $element)" Just like \fR\f(CI$entry\fR\fI\->get\fR, but if there are multiple instances of the element \fI\fR\f(CI$element\fR\fI\fR in the namespace \fI\fR\f(CI$ns\fR\fI\fR, returns all of them. \fIget\fR will return only the first. .SH "AUTHOR & COPYRIGHT" .IX Header "AUTHOR & COPYRIGHT" Please see the \fIXML::Atom\fR manpage for author, copyright, and license information.