亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dlib.pm

?? 一個論文管理系統
?? PM
字號:
# $Id: Dlib.pm,v 1.3 2005/06/02 15:42:19 martin Exp $## Copyright 2005 Nature Publishing Group# This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License# as published by the Free Software Foundation; either version 2# of the License, or (at your option) any later version.## The Bibliotech::CitationSource::Dlib class retrieves citation data for articles# in D-Lib Magazine.package Bibliotech::CitationSource::Dlib;use strict;use warnings;use Bibliotech::CitationSource;use base 'Bibliotech::CitationSource';sub api_version{  1;}sub name{  'D-Lib Magazine';}sub version{  '$Revision: 1.3 $';}sub understands{    my ($self, $uri) = @_;    return 0 unless $uri->scheme eq 'http';    return 0 unless (			 ($uri->host eq 'www.dlib.org'			  || 			  $uri->host eq 'dlib.org') 			 &&			 ( $uri->path =~ m!^/dlib/(?:january|february|march|april|may|june|july|august|september|october|november|december)\d+/(.+?)/\d+\1\.html$!i )			 );    return 1;}sub citations{     my ($self, $uri) = @_;     return undef unless($self->understands($uri));          my $meta_uri = $self->dlib_meta_uri($uri);     my $meta_xml;     eval { $meta_xml = $self->get($meta_uri) };     if ($@)     {	 $self->errstr($@);	 return undef;     }     my $raw_citation = $self->raw_parse_dlib_xml($meta_xml);     #check it's worth returning     unless($raw_citation->{'title'} && $raw_citation->{'pubdate'} && $raw_citation->{'serial_name'})     {	 $self->errstr('Insufficient metadata extracted for ' . $uri);	 return undef;     }     $raw_citation->{'uri'} = $uri->as_string;     $raw_citation->{'meta_uri'} = $meta_uri->as_string;     return new Bibliotech::CitationSource::ResultList(Bibliotech::CitationSource::Result::Dlib->new($raw_citation));}sub dlib_meta_uri{    my ($self, $uri) = @_;    my $new_uri = $uri->as_string;    $new_uri =~ s!\.html$!.meta.xml!i;    return new URI($new_uri);}sub raw_parse_dlib_xml{    my ($self, $xml) = @_;    ##evil regex XML parsing coming up    my $citation;    if ($xml =~ m!<title>(.+?)</title>!s)    {	$citation->{'title'} = $1;	$citation->{'title'} =~ s!\n! !g;    }    if ($xml =~ m!(<creator>.+</creator>)!s)    {	my $subxml = $1;	my @creators = ($subxml =~ m!<creator>(.+?)</creator>!g);	$citation->{'authors'} = \@creators;    }    if ($xml =~ m!<publisher>(.+?)</publisher>!s)    {	$citation->{'publisher'} = $1;    }    if ($xml =~ m!<date\s+date-type\s*=\s*"publication">(.+?)</date>!s)    {	$citation->{'pubdate'} = $1;    }    if ($xml =~ m!<identifier\s+uri-type\s*=\s*"DOI">(.+?)</identifier>!s)    {	$citation->{'doi'} = $1;    }    if ($xml =~ m!<language>(.+?)</language>!s)    {	$citation->{'language'} = $1;    }    if ($xml =~ m!<serial-name>(.+?)</serial-name>!s)    {	$citation->{'serial_name'} = $1;    }    if ($xml =~ m!<issn>(.+?)</issn>!s)    {	$citation->{'issn'} = $1;    }    if ($xml =~ m!<volume>(.+?)</volume>!s)    {	$citation->{'volume'} = $1;    }    if ($xml =~ m!<issue>(.+?)</issue>!s)    {	$citation->{'issue'} = $1;    }    return $citation;}package Bibliotech::CitationSource::Result::Dlib;use Bibliotech::CitationSource;use base 'Bibliotech::CitationSource::Result';sub new{    my ($class, $citation) = @_;    return bless {'citation' => $citation}, $class;}sub type{    my $self = shift;    return 'DLib Magazine Article';}sub source{    my $self = shift;    return $self->{'citation'}->{'meta_uri'};}sub identifiers{  my $self = shift;  return {'doi' => $self->{'citation'}->{'doi'}};}sub title{  my $self = shift;  return $self->{'citation'}->{'title'};}# return an object of author objects: Bibliotech::CitationSource::Result::AuthorListsub authors{    my $self = shift;    return new Bibliotech::CitationSource::Result::AuthorList(map { Bibliotech::CitationSource::Result::Author::Dlib->new($_) } @{$self->{'citation'}->{'authors'}} );}# return a journal object: Bibliotech::CitationSource::Result::Journalsub journal {    my $self = shift;    return Bibliotech::CitationSource::Result::Journal::Dlib->new($self->{'citation'}); }sub volume {  my $self = shift;  return $self->{'citation'}->{'volume'};}sub issue {  my $self = shift;  return $self->{'citation'}->{'issue'};}# return date first published as YYYY-MM-DD# where MM is digits or 3-letter English month abbreviation# and MM and DD as digits do not need to be zero-paddedsub date {    my $self = shift;    my ($month, $year) = ($self->{'citation'}->{'pubdate'} =~ m!(\w+)\s+(\d+)!);    $month = substr($month, 0, 3);    return "$year-$month";}# return date record was created or last modified, same format as date()# required - do not return undefsub last_modified_date {    return shift->date;}package Bibliotech::CitationSource::Result::Author::Dlib;use strict;sub new{    my ($class, $authorname) = @_;    return bless {'authorname' => $authorname}, $class;}#just the first namesub firstname{    my $self = shift;    if($self->{'authorname'} =~ m!^(\w+)!)    {	return $1;    }    return undef;}#everything up to the last namesub forename{    my $self = shift;    if($self->{'authorname'} =~ m!^(.*)\s\w+$!)    {	return $1;    }    return undef}sub initials{    my $self = shift;    my $initials = '';    $initials .= uc(substr($self->firstname, 0, 1)) if $self->firstname;    $initials .= uc(substr($self->middlename, 0, 1)) if $self->middlename;    $initials .= uc(substr($self->middleinitial, 0, 1)) if ($self->middleinitial && !$self->middlename);        return $initials if $initials;    return undef;}sub middlename{    my $self = shift;    my @names = split /\s+/, $self->{'authorname'};    if(@names == 3 && $names[1] !~ m!\w\.?!)    {	return $names[1];    }    return undef;}sub middleinitial{    my $self = shift;    my @names = split /\s+/,$self->{'authorname'};    if(@names == 3 && $names[1] =~ m!\w\.?!)    {	return $names[1];    }    return undef;}sub lastname{    my $self = shift;    if($self->{'authorname'} =~ m!^.*\s(\w+)$!)    {	return $1;    }    return undef;}package Bibliotech::CitationSource::Result::Journal::Dlib;use strict;sub new{    my ($class, $citation) = @_;    return bless {'name' => $citation->{'serial_name'}, 'issn' => $citation->{'issn'}}, $class;}# return as many of these strings as possible:sub name           { return shift->{'name'}; }sub issn           { return shift->{'issn'}; }#true!1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一道本成人在线| 久久精品欧美日韩精品| 日本久久精品电影| 波多野结衣在线aⅴ中文字幕不卡| 国内久久精品视频| 久久99蜜桃精品| 久久99精品久久久久婷婷| 秋霞电影一区二区| 蜜臀av在线播放一区二区三区 | 久久99国产精品成人| 日本特黄久久久高潮| 天天色天天操综合| 日本不卡的三区四区五区| 美女视频黄免费的久久| 激情欧美一区二区| 国产麻豆精品theporn| 国产精品白丝jk白祙喷水网站| 国产精品一区不卡| zzijzzij亚洲日本少妇熟睡| 国产日产精品1区| 国产精品国产三级国产a| 中文字幕一区二区三区色视频| 中文字幕在线观看一区| 亚洲人成影院在线观看| 亚洲第一电影网| 久久99国产精品麻豆| 国产乱码精品一区二区三区av | 日本亚洲天堂网| 久久激情综合网| 高清视频一区二区| 色94色欧美sute亚洲线路一ni | 国产精品高潮呻吟| 洋洋av久久久久久久一区| 秋霞影院一区二区| 国产黑丝在线一区二区三区| 91一区二区在线观看| 欧美色视频在线| 欧美变态tickle挠乳网站| 国产午夜精品在线观看| 亚洲精品videosex极品| 蜜臀av一区二区在线观看 | 一本色道**综合亚洲精品蜜桃冫| 在线视频综合导航| 欧美大尺度电影在线| 国产精品素人一区二区| 亚洲成人精品影院| 国产剧情av麻豆香蕉精品| 色婷婷国产精品久久包臀| 777午夜精品视频在线播放| 国产亚洲欧美激情| 亚洲一区免费视频| 国产一区二区在线视频| 在线欧美一区二区| 久久综合一区二区| 亚洲综合色网站| 国产乱码一区二区三区| 亚洲一区二区在线视频| 国产一区美女在线| 日本高清无吗v一区| 久久免费午夜影院| 亚洲自拍偷拍网站| 国产超碰在线一区| 欧美疯狂做受xxxx富婆| 亚洲欧洲一区二区在线播放| 免费三级欧美电影| 91福利精品视频| 国产欧美日本一区视频| 婷婷夜色潮精品综合在线| 成人免费毛片片v| 欧美成人性战久久| 亚洲一区免费观看| av成人老司机| 国产日韩欧美不卡| 美女一区二区久久| 欧美日韩中文另类| 17c精品麻豆一区二区免费| 国内精品伊人久久久久av一坑| 精品视频123区在线观看| 亚洲欧洲精品一区二区精品久久久| 久久99精品久久久久久动态图 | 久久久不卡网国产精品二区| 亚洲午夜精品网| 91麻豆国产福利在线观看| 国产亚洲综合av| 久久av资源站| 日本美女一区二区| 欧美曰成人黄网| 一区二区三区四区中文字幕| 成人h动漫精品一区二区 | 久久国产福利国产秒拍| 欧美欧美午夜aⅴ在线观看| 亚洲美女免费视频| 91麻豆国产香蕉久久精品| 国产精品无码永久免费888| 国产一区二区视频在线播放| 制服丝袜亚洲色图| 午夜精品久久久久久久蜜桃app| 一本色道久久综合狠狠躁的推荐| 亚洲欧洲日本在线| 91在线视频18| 亚洲精品欧美激情| 一本大道久久a久久综合| 亚洲人吸女人奶水| 91老师片黄在线观看| 亚洲三级在线看| 91免费精品国自产拍在线不卡| √…a在线天堂一区| 91在线你懂得| 亚洲午夜久久久久| 欧美精品自拍偷拍动漫精品| 亚洲成av人片一区二区| 欧美军同video69gay| 一区二区三区成人| 欧美精品日韩一本| 免费av成人在线| 亚洲精品一区二区三区四区高清 | 国内精品伊人久久久久av一坑| 亚洲成人激情社区| 欧美高清hd18日本| 毛片基地黄久久久久久天堂| 日韩欧美一区在线观看| 久久不见久久见中文字幕免费| 日韩欧美一区二区视频| 激情综合网最新| 国产欧美一区二区三区鸳鸯浴 | 色综合天天综合网天天狠天天| 免费高清视频精品| 日韩欧美成人激情| 国产成a人亚洲精品| 1区2区3区国产精品| 欧美日韩精品欧美日韩精品一| 日韩av中文字幕一区二区三区| 欧美成va人片在线观看| 成人丝袜18视频在线观看| 亚洲三级小视频| 6080国产精品一区二区| 极品少妇一区二区| 亚洲丝袜制服诱惑| 91精品国产麻豆| 国产传媒久久文化传媒| 亚洲激情六月丁香| 91精品国产全国免费观看| 国产不卡一区视频| 亚洲综合色视频| 亚洲精品在线免费播放| 91免费观看视频在线| 蜜臀av一级做a爰片久久| 国产欧美日韩另类视频免费观看| 欧美最新大片在线看| 久久成人免费日本黄色| 亚洲另类在线制服丝袜| 日韩一二三区视频| 亚洲国产精品传媒在线观看| 欧美午夜片在线观看| 国内国产精品久久| 一区二区三区欧美| 精品国产一区二区三区av性色| 国产a精品视频| 日韩高清不卡一区二区| 中文一区一区三区高中清不卡| 欧美日韩国产在线播放网站| 国产成人精品午夜视频免费 | 国产成人精品1024| 午夜精品国产更新| 国产精品初高中害羞小美女文| 欧美精选一区二区| 99re这里只有精品首页| 免费日本视频一区| 一区二区三区精品| 国产日韩欧美麻豆| 欧美精品v国产精品v日韩精品| 国产精品一二三| 日韩成人一区二区三区在线观看| 国产精品久久久久永久免费观看 | 亚洲国产中文字幕在线视频综合 | 日韩电影在线免费看| 国产精品国产自产拍高清av王其| 日韩视频免费观看高清在线视频| 一本色道亚洲精品aⅴ| 国产成人av一区二区| 免费精品视频最新在线| 一区二区三区不卡视频在线观看| 国产欧美视频在线观看| 欧美大胆一级视频| 偷偷要91色婷婷| 亚洲精品成人天堂一二三| 中文字幕乱码久久午夜不卡| 日韩午夜小视频| 欧美久久久久免费| 在线观看亚洲一区| 91网站黄www| 成人av影院在线| 国产一区二区三区香蕉| 久久国产剧场电影| 麻豆成人91精品二区三区| 日日夜夜免费精品视频| 亚洲综合在线免费观看| 亚洲黄一区二区三区| 亚洲女人的天堂| 最新热久久免费视频|