XML::FeedPP ���W���[���́A
RSS 2.0�ARSS 1.0 (RDF)�AAtom 0.3�i�����1.0�j�t�B�[�h��
XML �t�@�C������́E�����E�ϊ��E�������邽�߂�
Perl ���W���[���ł��B
RSS �x�[�X��1��ނ̋��� API �� RSS�ERDF�EAtom �̊e�t�H�[�}�b�g�̏����ɑΉ����Ă��邽�߁A
��y�Ɉ����܂��B
�t�B�[�h�̓ǂݏo���E�������݂͂������A
RSS����RDF�ցARDF����Atom�ւƂ������e�t�H�[�}�b�g�Ԃ̑��ݕϊ����\�ł��B
���T�C�g����_�E�����[�h���������̃t�@�C�����������āA
�܂Ƃ߂�1�̃t�@�C���Ƃ��ďo�͂��邱�Ƃ��ł��܂��B
���J�ŃA�[�J�C�u�F
XML-FeedPP-0.43.tar.gz
TARGZ
CPAN
���ʏ�p�b�P�[�W
�ŐV�Ń\�[�X�t�@�C���F
lib/XML/FeedPP.pm
PM
Subversion ���|�W�g���F
http://xml-treepp.googlecode.com/svn/trunk/XML-FeedPP/
SVN
�� XML::FeedPP �o�[�W���� 0.30 ����AAtom 1.0 �ɑΉ����܂����B�i�f�t�H���g�� Atom 0.3 �ł��j
Web�T�[�o���RSS�t�@�C������M���āA���e��\�������F
my $source = 'http://use.perl.org/index.rss'; my $feed = XML::FeedPP->new( $source ); print "Title: ", $feed->title(), "\n"; print "Date: ", $feed->pubDate(), "\n"; foreach my $item ( $feed->get_item() ) { print "URL: ", $item->link(), "\n"; print "Title: ", $item->title(), "\n"; }
RDF�t�@�C�������āA���[�J���}�V�����ɕۑ������F
my $feed = XML::FeedPP::RDF->new(); $feed->title( "use Perl" ); $feed->link( "http://use.perl.org/" ); $feed->pubDate( "Thu, 23 Feb 2006 14:43:43 +0900" ); my $item = $feed->add_item( "http://search.cpan.org/~kawasaki/XML-TreePP-0.02" ); $item->title( "Pure Perl implementation for parsing/writing xml file" ); $item->pubDate( "2006-02-23T14:43:43+09:00" ); $feed->to_file( "index.rdf" );
RSS�t�@�C���ERDF�t�@�C���̓��e���������āAAtom 1.0 �������F
my $feed = XML::FeedPP::Atom::Atom10->new(); # ��� Atom 1.0 �t�B�[�h��
$feed->merge( "rss.xml" ); # ���[�J����RSS�t�@�C��������
$feed->merge( "http://www.kawa.net/index.rdf" ); # Web���RDF�t�@�C��������
my $now = time();
$feed->pubDate( $now ); # �X�V������ݒ�
my $atom = $feed->to_string(); # Atom ��XML�\�[�X��
XML::FeedPP ���W���[���̗��p�ɂ�
XML::TreePP���W���[���݂̂��K�v�ŁA
����ȊO�̊O�����W���[���ɂ͈ˑ����܂���B
CPAN �o�R�ŃC���X�g�[���ł�����́A
CPAN �������p���������B
CPAN �ɓ͂��Ă��Ȃ��ŐV�ł𗘗p�������ꍇ�́A
�ʏ�ʂ聫�̎菇�ŃC���X�g�[���ł��܂��B
$ tar zxvf XML-FeedPP-0.03.tar.gz $ cd XML-FeedPP-0.03 $ perl Makefile.PL Writing Makefile for XML-FeedPP $ make cp lib/XML/FeedPP.pm blib/lib/XML/FeedPP.pm Manifying blib/man3/XML::FeedPP.3 $ make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/atom........ok t/datetime....ok t/encoding....ok 1/4 skipped: Encode.pm is required: ISO-8859-1 t/new.........ok t/rdf.........ok t/round.......ok t/rss.........ok All tests successful, 1 subtest skipped. Files=7, Tests=170, 1 wallclock secs ( 0.65 cusr + 0.14 csys = 0.79 CPU) $ sudo make install
XML::FeedPP �� Perl 5.005�^5.6.x�^5.8.x �̂�����̊��ł����p�ł��܂��B Perl 5.6.x �ȉ��������p�̏ꍇ�́A �uEncode.pm is required�v�Ƃ��ăe�X�g�̂���1�����X�L�b�v����܂����A ����ɂ͉e������܂���B �i���̏ꍇ�̐����́Aencoding="ISO-8859-1" �t�@�C���̏����o�����ł��Ȃ��̂݁B encoding="ISO-8859-1" �t�@�C���̓ǂݍ��݂͉\�ł��j
XML::FeedPP�^XML::TreePP �ǂ�����R���p�C���s�v�� Pure Perl �����ł�����A �v���o�C�_�̃����^���T�[�o���ł� .pm �t�@�C���P�̂̃R�s�[�݂̂ŗ��p�ł��܂��B�i���̎菇�j
�v���o�C�_�̃����^���T�[�o�ȂǂŁA�T�[�o�̊Ǘ��Ҍ����͂Ȃ����� �I���W�i�� CGI ��ݒu�ł�����Ȃǂł́A XML/FeedPP.pm �t�@�C�� �݂̂��T�[�o�ɃR�s�[���邾���ł����p�ł��܂��B
hogehoge.cgi XML/FeedPP.pm XML/TreePP.pm
CGI �t�@�C���Ɠ����K�w�� XML �f�B���N�g�����쐬���āA
���̒��� FeedPP.pm �� TreePP.pm ���A�b�v���[�h���Ă��������B
�ʏ�A.pm �t�@�C���̃p�[�~�V�����̓f�t�H���g(644)�̂܂܂�OK�ł��B
XML �f�B���N�g���̃p�[�~�V�����̓f�t�H���g(755)�̂܂܂ł��\���܂��A
����������(711)�Ƃ��Ă�OK�ł��B
POD �̉p��͓K���Ȃ̂ŁA������̕���������₷���ł��Bw
�ȉ��̂悤�Ȏ菇�ŁAXML::FeedPP �̃C���X�^���X���쐬�ł��܂��B
$feed = XML::FeedPP->new( 'index.rss' );
�T�[�o���ɂ��� XML �t�@�C������͂��܂��B
RSS�^RDF�^Atom �t�B�[�h�̌`���͎����I�ɔ��肳��܂��B
$feed = XML::FeedPP->new( 'http://use.perl.org/index.rss' );
WEB �T�[�o��� XML �t�@�C�����_�E�����[�h�`��͂��܂��B
RSS�^RDF�^Atom �t�B�[�h�̌`���͎����I�ɔ��肳��܂��B
$feed = XML::FeedPP->new( '<?xml?><rss version="2.0"><channel>....' );
XML �\�[�X����C���X�^���X���쐬���܂��B
RSS�^RDF�^Atom �t�B�[�h�̌`���͎����I�ɔ��肳��܂��B
$feed = XML::FeedPP::RSS->new();
��� RSS 2.0 �C���X�^���X���쐬���܂��B
$feed = XML::FeedPP::RDF->new();
��� RDF 1.0 �C���X�^���X���쐬���܂��B
$feed = XML::FeedPP::Atom::Atom10->new();
��� Atom 1.0 �t�B�[�h�C���X�^���X���쐬���܂��B
$feed = XML::FeedPP::RSS->new( link => $link, title => $title, ... ); $feed = XML::FeedPP::RDF->new( link => $link, description => $desc, ... ); $feed = XML::FeedPP::Atom->new( link => $link, pubDate => $pubDate, ... );
�t�B�[�h�C���X�^���X���쐬���A������
�`�����l���v�f����n�̃��\�b�h
���Ăяo���āA�t�B�[�h�����������܂��B
�R���X�g���N�^�̈����ɃL�[/�l�̃y�A����ׂ܂��B�i�n�b�V����W�J������ԁj
�C���X�^���X����ȉ��̃��\�b�h�����p�ł��܂��B
$feed->load( $source );
���݂̃C���X�^���X���̏���j�����āA�w�肵���t�B�[�h��ǂݍ��݂܂��B
load() �͎g�킸�ɁA�f���� new() ���\�b�h���g���Ă��������B
$feed->merge( $source );
���݂̃t�B�[�h $feed �̃`�����l���E�A�C�e�����ɉ����āA
�w�肵���t�B�[�h�̓��e���������܂��B
��1�����́Anew() �Ɠ��l�ɓǂݍ����t�B�[�h���w�肵�܂��B
�T�C�g����������ȂǁA���Ƃ��Ɠo�^�ς݂̍��ڂ�����A����͏㏑�����܂���B
���L�����������ڂ́A�V�����t�B�[�h�̓��e�œo�^���܂��B
�A�C�e���ɂ��Ă��A���o�^�̐V�����A�C�e��������A�lj����܂��B
�iguid �łȂ��jURL �x�[�X�Ń}�b�`���O���s���A
���ɑ��݂���A�C�e���ɂ��ẮA�㏑�����܂��B
$feed->to_string( "UTF-8" );
RSS�`���܂���RDF�`���܂���Atom�`���� XML �\�[�X�R�[�h�����܂��B�i�������Ԃ��j
��1������ "Shift_JIS" �Ȃǂ̕����R�[�h���w��ł��܂����A"UTF-8" ������ł��傤�B
$feed->to_file( "feed.xml", "UTF-8" );
RSS�`���܂���RDF�`���܂���Atom�`���� XML �t�@�C�������܂��B
��2������ "Shift_JIS" �Ȃǂ̕����R�[�h���w��ł��܂����A"UTF-8" ������ł��傤�B
$item = $feed->add_item( $url ); $item = $feed->add_item( $srcitem );
�t�B�[�h�ɐV�����A�C�e����lj����āA�A�C�e���v�f�̃C���X�^���X��Ԃ��܂��B
RSS�^RDF �ł� <item> �v�f�AAtom �t�B�[�h�ł� <entry> �v�f���lj�����܂��B
��1�����ɂ́A�A�C�e���� URL ���w�肵�܂��B�i��1�`���j
�܂��́A�ʂ̃t�B�[�h���� get_item() ���\�b�h���Ŏ擾�����A�C�e�����w��ł��܂��B�i��2�`���j
URL���܂ރA�C�e���̊e��R�s�[����܂��B
$item = $feed->add_item( link => $link, title => $title, ... );
�t�B�[�h�ɐV�����A�C�e����lj����āA������
�A�C�e���v�f����n�̃��\�b�h
���Ăяo���āA�A�C�e�������������܂��B�i��3�`���j
���\�b�h�̈����ɃL�[/�l�̃y�A����ׂ܂��B�i�n�b�V����W�J������ԁj
$item = $feed->get_item( $num ); # $num+1 �Ԗڂ̃A�C�e���v�f�����o�� @list = $feed->get_item(); # �S�ẴA�C�e���v�f�����o��
�A�C�e���v�f�����o���܂��B
��1�������w�肵���ꍇ�́A�w�肵���ԍ��̃A�C�e���v�f�����o���܂��B(�ŏ��̗v�f�ԍ���0)
�o�[�W���� 0.19 �ȍ~�ł́A���̐����w�肵�Ė������琔�����v�f�ԍ����w��ł��܂��B�i�����̗v�f�ԍ���-1�j
��1�������w�肵�Ȃ��ꍇ�́A�S�ẴA�C�e����z��ŕԂ��܂��B
���ʂ̔z��Ȃ̂ŁA���[�v�ʼnď���������ł��܂��B
@items = $feed->match_item( link => qr(http://�`), title => qr(Hello�`), ... );
�S�ẴA�C�e���v�f�𐳋K�\���Ō������A�}�b�`�����A�C�e���v�f�݂̂����o���܂��B
�X�J���[�R���e�L�X�g�ŌĂяo�����ꍇ�́A�ŏ��Ƀ}�b�`�����A�C�e���v�f�݂̂�Ԃ��܂��B
�z��R���e�L�X�g�ŌĂяo�����ꍇ�́A�}�b�`�����S�ẴA�C�e���v�f��Ԃ��܂��B
�����̃��\�b�h�̓o�[�W����0.21�ȍ~�őΉ����Ă��܂��B
$item = $feed->remove_item( $num ); # $num+1 �Ԗڂ̃A�C�e���v�f���폜���� $item = $feed->remove_item( $url ); # �w�肵��URL�̃A�C�e���v�f���폜����
�A�C�e���v�f���폜���܂��B
��1�����ŁAget_item() ���\�b�h���Ɠ����A�C�e���ԍ�(�ŏ��̗v�f�ԍ���0)���A
�܂��̓A�C�e����URL���w�肵�A�폜�����A�C�e���I�u�W�F�N�g��Ԃ��܂��B
�o�[�W���� 0.19 �ȍ~�ł́A���̐����w�肵�Ė������琔�����v�f�ԍ����w��ł��܂��B�i�����̗v�f�ԍ���-1�j
$item = $feed->clear_item();
�S�ẴA�C�e���v�f���ꊇ�폜���܂��B
�i�o�[�W���� 0.12 �Œlj����܂����j
$feed->xmlns( 'xmlns:media' => 'http://search.yahoo.com/mrss' ); # �������� $url = $feed->xmlns( 'xmlns:itunes' ); # �ǂݏo�� @list = $feed->xmlns(); # �ꗗ
���[�g�v�f�Œ�`����l�[���X�y�[�X�ixmlns�j��lj��܂��͎擾���܂��B
��1�E��2�������w�肵���ꍇ�́A�l�[���X�y�[�X�^URL �̑g��o�^���܂��B
��1�����݂̂��w�肵���ꍇ�́A���̃l�[���X�y�[�X�̌��݂̒l�iURL�j��Ԃ��܂��B
���̃l�[���X�y�[�X�����o�^�̏ꍇ�́Aundef ��Ԃ��܂��B
�������w�肵�Ȃ��ꍇ�́A�o�^���̑S�Ẵl�[���X�y�[�X��z��ŕԂ��܂��B
$feed->sort_item();
�A�C�e�����X�V�����ipubDate�Edc:data�Emodified�Eupdated�j�Ń\�[�g���܂��B
$feed->uniq_item();
�d�������A�C�e������菜���܂��B�d���� URL �Ŕ��肵�܂��B
$feed->limit_item( $num );
�t�B�[�h���̃A�C�e�������𐧌����܂��B
�w��l����������A����ȍ~�̃A�C�e�����폜���܂��B
���̐����w�肷��ƁA���X�g�̖������琔���āA����ȑO�̃A�C�e�����폜���܂��B
$feed->normalize();
�t�B�[�h���e�̃m�[�}���C�Y���s���܂��B
��̓I�ɂ́A�X�V�����ipubDate�Edc:data�Emodified�Eupdated�j�t�H�[�}�b�g�̐��K�����s������ŁA
sort_item() ���\�b�h��
uniq_item() ���\�b�h�����s���܂��B
�ȉ��̃`�����l���v�f����n�̃��\�b�h�́AXML::FeedPP �C���X�^���X�ɑ��Ďg�p���܂��B
RSS�ERDF �ł� <channel> �v�f�AAtom �t�B�[�h�ł� <feed> �v�f�ɑ��鑀��ɂȂ�܂��B
�����ɂȂ��v�f�𑀍삷��ꍇ�́A set() get() ���\�b�h�𗘗p���Ă��������B
���\�b�h | title() | RSS | <title> | RDF | <title> | Atom 0.3 | <title> | Atom 1.0 | <title> |
---|
$feed->title( $text );
�T�C�g�����w�肵�܂��BHTML �͗��p�����ɁA�e�L�X�g�̂ݗ��p���Ă��������B
�������w�肵�Ȃ��ꍇ�́A�ύX�����Ɍ��݂̒l��Ԃ��܂��B
���\�b�h | description() | RSS | <description> | RDF | <description> | Atom 0.3 | <content> | Atom 1.0 | <content> |
---|
$feed->description( $html );
�T�C�g�̐��������w�肵�܂��BHTML �𗘗p�ł��܂��B
�������w�肵�Ȃ��ꍇ�́A�ύX�����Ɍ��݂̒l��Ԃ��܂��B
���\�b�h | pubDate() | RSS | <pubDate> | RDF | <dc:date> | Atom 0.3 | <modified> | Atom 1.0 | <updated> |
---|
$feed->pubDate( $date );
�T�C�g�̍X�V�������w�肵�܂��B
�w��l�ɂ́A3��ނ̃t�H�[�}�b�g�����p�\�ł��B
RSS/RDF/Atom �̃l�C�e�B�u�t�H�[�}�b�g�ɉ����āA
Perl �� time() ���œ�����b�����w��ł��܂��B
�������w�肵�Ȃ��ꍇ�́A�쐬������ W3CDTF �t�H�[�}�b�g�ŕԂ��܂��B
���\�b�h | copyright() | RSS | <copyright> | RDF | <dc:rights> | Atom 0.3 | <copyright> | Atom 1.0 | <rights> |
---|
$feed->copyright( $text );
�T�C�g�̐���ҁE�����Җ����w�肵�܂��B
�������w�肵�Ȃ��ꍇ�́A�ύX�����Ɍ��݂̒l��Ԃ��܂��B
���\�b�h | link() | RSS | <link> | RDF | <link> | Atom | <link> | Atom | <link> |
---|
$feed->link( $url );
�T�C�g�̃g�b�v�y�[�WURL���w�肵�܂��B
�������w�肵�Ȃ��ꍇ�́A�ύX�����Ɍ��݂̒l��Ԃ��܂��B
���\�b�h | language() | RSS | <language> | RDF | <dc:language> | Atom 0.3/1.0 | <feed xml:lang=""> |
---|
$feed->language( $lang );
�T�C�g�̌�����w�肵�܂��B
�������w�肵�Ȃ��ꍇ�́A�ύX�����Ɍ��݂̒l��Ԃ��܂��B
���\�b�h | image() | RSS | <image> | RDF | <image> | Atom 0.3 | <link> | Atom 1.0 | <link> |
---|
$feed->image( $url, $title, $link, $description, $width, $height )
RSS ���[�_�[���ɕ\������摜���w�肵�܂��B
�������w�肵�Ȃ��ꍇ�́A�ύX�����Ɍ��݂̒l�����̔z��ŕԂ��܂��B
�i�o�[�W���� 0.12 �ł� Atom �ɂ��Ή����܂����Brel="icon"���g�p���܂��j
�ȉ��̃A�C�e���v�f����n�̃��\�b�h�́Aadd_item() �܂��� get_item() ���\�b�h��
�擾�����C���X�^���X�ɑ��Ďg�p�ł��܂��B
RSS�^RDF �ł� <item> �v�f�AAtom �t�B�[�h�ł� <entry> �v�f�ɑ��鑀��ɂȂ�܂��B
�����ɂȂ��v�f�𑀍삷��ꍇ�́A set() get() ���\�b�h�𗘗p���Ă��������B
���\�b�h | title() | RSS | <title> | RDF | <title> | Atom 0.3 | <title> | Atom 1.0 | <title> |
---|
$item->title( $text );
�A�C�e���̌������w�肵�܂��BHTML �͗��p�����ɁA�e�L�X�g�̂ݗ��p���Ă��������B
�������w�肵�Ȃ��ꍇ�́A�ύX�����Ɍ��݂̒l��Ԃ��܂��B
���\�b�h | description() | RSS | <description> | RDF | <description> | Atom 0.3 | <content> | Atom 1.0 | <content> |
---|
$item->description( $text );
�A�C�e���̐��������w�肵�܂��BHTML �𗘗p�ł��܂��B
�������w�肵�Ȃ��ꍇ�́A�ύX�����Ɍ��݂̒l��Ԃ��܂��B
���\�b�h | pubDate() | RSS | <pubDate> | RDF | <dc:date> | Atom 0.3 | <modified> | Atom 1.0 | <updated> |
---|
$item->pubDate( $text );
�A�C�e���̍쐬�������w�肵�܂��B
�w��l�ɂ́A3��ނ̃t�H�[�}�b�g�����p�\�ł��B
RSS/RDF/Atom �̃l�C�e�B�u�t�H�[�}�b�g�ɉ����āA
Perl �� time() ���œ�����b�����w��ł��܂��B
�������w�肵�Ȃ��ꍇ�́A�쐬������ W3CDTF �t�H�[�}�b�g�ŕԂ��܂��B
���\�b�h | category() | RSS | <category> | RDF | <dc:subject> | Atom 0.3 | �i��Ή��j | RDF 1.0 | <category> |
---|
$item->category( $text );
�A�C�e���̕��ޖ��i�W�������j���w�肵�܂��B
�������w�肵�Ȃ��ꍇ�́A�ύX�����Ɍ��݂̒l��Ԃ��܂��B
������ł́A�����̕��ޖ��͎w��ł��܂���B
(�������̕��ޖ��ɑΉ����܂����B2006/04/30)
���\�b�h | author() | RSS | <author> | RDF | <creator> | Atom 0.3/1.0 | <author><name> |
---|
$item->author( $text );
�A�C�e���̒��Җ����w�肵�܂��B
�������w�肵�Ȃ��ꍇ�́A�ύX�����Ɍ��݂̒l��Ԃ��܂��B
���\�b�h | guid() | RSS | <guid> | RDF | �i��Ή��j | Atom 0.3 | <id> | Atom 1.0 | <id> |
---|
$item->guid( $text ); # �������� $text = $item->guid(); # �ǂݏo��
�A�C�e����ID���w�肵�܂��B
�������w�肵�Ȃ��ꍇ�́A�ύX�����Ɍ��݂̒l��Ԃ��܂��B
���\�b�h | link() | RSS | <link> | RDF | <link> | Atom 0.3 | <link> | Atom 1.0 | <link> |
---|
$url = $item->link(); # �ǂݏo��
�A�C�e����URL��Ԃ��܂��B�i�ǂݏo����p�ł��j
XML::FeedPP �̕W�����\�b�h�ŏ����ł���v�f�́ARSS/RDF/Atom �̎�ȗv�f�Ɍ����܂��B ���̑��A<media:*> �� media ���W���[���Ȃǂ̓���ȗv�f����������ꍇ�ɂ́A set() get() ���\�b�h�𗘗p���Ă��������B
$item->set( 'module:name' => $value );
<item><module:name> �A�C�e���̎q�v�f�̒l���w�肵�܂��B
$item->set( 'module:name@attr' => $value );
<item><module:name attr="$value"> �A�C�e���̎q�v�f�̑����l���w�肵�܂��B
$item->set( '@attr' => $value );
<item attr="$value"> �A�C�e�����̂̑����l���w�肵�܂��B
$item->set( '@module:attr' => $value );
<item module:attr="$value"> �l�[���X�y�[�X�t�̑����l���w��\�ł��B
$item->set( 'hoge/pomu@hare' => $value );
<item><hoge><pomu hare="$value"> �A�C�e���̑��v�f�̑����̒l���w�肵�܂��B
get() ���\�b�h�́Aset() ���\�b�h�̑�P�����Ɠ����`���� �v�f���E���������w�肷��ƁA���̒l��Ԃ��܂��B
������ get() set() ���\�b�h�͔��ɋ��͂ł����A RSS/RDF/Atom �̊e�t�H�[�}�b�g�Ԃł̗v�f���̍��ق������ł͋z�����Ȃ����߁A �o�̓t�H�[�}�b�g�ɍ��킹�Ē��ӂ��Ȃ��痘�p����K�v������܂��B
�܂��A���W���[����lj�����ꍇ�́Axmlns() ���\�b�h�� �t�B�[�h�Ƀl�[���X�y�[�X��o�^���Ă����K�v������܂��B
pubDate() ���\�b�h�̓��͒l�Ƃ��āA ���L�̂R��ނ̓��t�t�H�[�}�b�g�����p�ł��܂��B
pubDate( "Thu, 23 Feb 2006 14:43:43 +0900" );
HTTP �v���g�R���̓����t�H�[�}�b�g�ł��B
RSS 2.0 �̃l�C�e�B�u�`���ɂȂ�܂��B
RSS 2.0 �C���X�^���X�����i�[����AXML�R�[�h�o�͎������̌`���ł��B
pubDate( "2006-02-23T14:43:43+09:00" );
W3CDTF �̓����t�H�[�}�b�g�ł��B
RDF�^Atom �̃l�C�e�B�u�`���ɂȂ�܂��B
�Ȃ��ApubDate() ���\�b�h�̏o�͒l�i�����Ȃ����j�́A
�ǂ̃t�H�[�}�b�g�ł���ɂ��� W3CDTF �t�H�[�}�b�g�ƂȂ�܂��B
RSS 2.0 �̏ꍇ���AW3CDTF �t�H�[�}�b�g�ɕϊ����Ă���o�͂���܂��B
�^�C���]�[���������Ă���A�\�[�g���₷���̂������ł��B
pubDate( 1140705823 ); # 2006/02/23 05:43:43 GMT���w�肷�� pubDate( time ); # ���݂̎������w�肷��iGMT�j
1970�N1��1������̕b���ł��BPerl �� time() ���̒l�ł��B
pubDate() ���\�b�h�ւ̓��͒l�Ƃ��ė��p�ł��܂��B
�t�B�[�h���ɋL�q�����^�C���]�[���́AGMT �����ɂȂ�܂��B
�o�[�W����0.08����́A�T�[�o���v�̃^�C���]�[�����K�p�����悤�ɂȂ�܂����B
set() ���\�b�h�͕����̗v�f�E�������ɍX�V���邱�Ƃ��ł��܂��B
<media:*> �� media ���W���[���́Aset() ���\�b�h�𗘗p���Ďw�肵�܂��B
my $item = $feed->add_item( 'http://www.kawa.net/' ); my $media = { 'media:title' => 'Kawa.net xp', 'media:text' => 'Welcome to Kawa.net xp', 'media:text@type' => 'text', 'media:thumbnail@url' => 'http://www.kawa.net/xp/images/xp-title-256.gif', 'media:thumbnail@width' => 256, 'media:thumbnail@height' => 48, 'media:content@url' => 'http://www.kawa.net/xp/images/xp-title-512.gif', 'media:content@type' => 'image/gif', 'media:content@width' => 512, 'media:content@height' => 96, }; $item->set( %$media );
�ȉ��̂悤�� XML �R�[�h����������܂��B
<item> <link>http://www.kawa.net/</link> <media:title>Kawa.net xp</media:title> <media:text type="text">Welcome to Kawa.net xp</media:text> <media:content type="image/gif" height="96" width="512" url="http://www.kawa.net/xp/images/xp-title-512.gif" /> <media:thumbnail height="48" width="256" url="http://www.kawa.net/xp/images/xp-title-256.gif" /> </item>
�|�b�h�L���X�e�B���O�E�r�f�I�|�b�g�p�� RSS �t�@�C���� �ȉ��̎菇�ō쐬�ł��܂��B
my $feed = XML::FeedPP::RSS->new(); $feed->link( 'http://example.com/' ); $feed->title( "Yusuke Kawasaki's podcasting!" ); $feed->xmlns( 'xmlns:itunes' => 'http://www.itunes.com/DTDs/Podcast-1.0.dtd' ); my $itunes = { 'itunes:author' => 'Yusuke Kawasaki', 'itunes:image@href' => 'http://example.com/image.jpg', 'itunes:category@text' => '2nd level', 'itunes:category/itunes:category@text' => '3rd level', }; $feed->set( %$itunes ); my $item1 = $feed->add_item( 'http://example.com/blog/2006/0227/' ); $item1->title( "2006/02/27 podcasting" ); my $podcast = { 'enclosure@url' => 'http://example.com/blog/2006/0227/audio.mp3', 'enclosure@length' => 1048576, 'enclosure@type' => 'audio/mpeg', }; $item1->set( %$podcast ); my $item2 = $feed->add_item( 'http://example.com/blog/2006/0228/' ); $item2->title( "2006/02/27 video podcast" ); my $videopod = { 'enclosure@url' => 'http://example.com/blog/2006/0228/video.m4v', 'enclosure@length' => 5242880, 'enclosure@type' => 'video/quicktime', }; $item2->set( %$videopod );
�ȉ��̂悤�� RSS �t�@�C������������܂��B
<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd"> <channel> <itunes:author>Yusuke Kawasaki</itunes:author> <itunes:category text="2nd level"> <itunes:category text="3rd level" /> </itunes:category> <itunes:image href="http://example.com/image.jpg" /> <link>http://example.com/</link> <title>Yusuke Kawasaki's podcasting!</title> <item> <enclosure length="1048576" type="audio/mpeg" url="http://example.com/blog/2006/0227/audio.mp3" /> <link>http://example.com/blog/2006/0227/</link> </item> <item> <enclosure length="5242880" type="video/quicktime" url="http://example.com/blog/2006/0228/video.m4v" /> <link>http://example.com/blog/2006/0228/</link> </item> </channel> </rss>
�ł��AiPod �̎��@�ł͓���m�F���Ă܂���B�����Ȃ�������S�����i�T�C�B