/** * Output a single feed entry. */ function outEntry( WlSyndicationEntry $entry ) { echo Xml::openElement( 'entry' ) . "\n"; echo Xml::element( 'id', null, $entry->getId() ) . "\n"; echo self::formatTextData( 'title', $entry->getTitle() ); foreach ( $entry->getLinks() as $rel => $links ) { foreach ( $links as $link ) { echo Xml::element( 'link', array( 'rel' => $rel ) + $link ) . "\n"; } } foreach ( $entry->getAuthors() as $author ) { echo self::formatPersonData( 'author', $author ) . "\n"; } foreach ( $entry->getContributors() as $contributor ) { echo self::formatPersonData( 'contributor', $contributor ) . "\n"; } foreach ( $entry->getCategories() as $category ) { echo Xml::element( 'category', $category ) . "\n"; } echo Xml::element( 'published', null, $this->formatTime( $entry->getPublished() ) ) . "\n"; echo Xml::element( 'updated', null, $this->formatTime( $entry->getUpdated() ) ) . "\n"; echo self::formatTextData( 'rights', $entry->getRights() ); $source = $entry->getSource(); if ( $source instanceof WlSyndicationFeed ) { echo Xml::tags( 'source', array( 'xml:lang' => $source->getLanguage() ), $source->formatFeedMetadata() ); } echo self::formatTextData( 'summary', $entry->getSummary() ); echo self::formatTextData( 'content', $entry->getContent() ); echo Xml::closeElement( 'entry' ) . "\n"; }