public class RepecNepImporter extends ImportFormat
RePEc
(Research Papers in Economics)
is a collaborative effort of over 100 volunteers in 49 countries
to enhance the dissemination of research in economics. The heart of
the project is a decentralized database of working papers, journal
articles and software components. All RePEc material is freely available.
NEP
(New Economic Papers) is an announcement
service which filters information on new additions to RePEc into edited
reports. The goal is to provide subscribers with up-to-date information
to the research literature.
This importer is capable of importing NEP messages into JabRef.
There is no officially defined message format for NEP. NEP messages are assumed to have (and almost always have) the form given by the following semi-formal grammar:
NEPMessage: MessageSection NEPMessage MessageSection MessageSection: OverviewMessageSection OtherMessageSection # we skip the overview OverviewMessageSection: 'In this issue we have: ' SectionSeparator OtherStuff OtherMessageSection: SectionSeparator OtherMessageSectionContent # we skip other stuff and read only full working paper references OtherMessageSectionContent: WorkingPaper EmptyLine OtherMessageSectionContent OtherStuff EmptyLine OtherMessageSectionContent '' OtherStuff: NonEmptyLine OtherStuff NonEmptyLine NonEmptyLine: a non-empty String that does not start with a number followed by a '.' # working papers are recognized by a number followed by a '.' # in a non-overview section WorkingPaper: Number'.' WhiteSpace TitleString EmptyLine Authors EmptyLine Abstract AdditionalFields Number'.' WhiteSpace TitleString AdditionalFields Abstract AdditionalFields TitleString: a String that may span several lines and should be joined # there must be at least one author Authors: Author '\n' Authors Author '\n' # optionally, an institution is given for an author Author: AuthorName AuthorName '(' Institution ')' # there are no rules about the name, it may be firstname lastname or lastname, firstname or anything else AuthorName: a non-empty String without '(' or ')' characters, not spanning more that one line Institution: a non-empty String that may span several lines Abstract: a (possibly empty) String that may span several lines AdditionalFields: AdditionalField '\n' AdditionalFields EmptyLine AdditionalFields '' AdditionalField: 'Keywords:' KeywordList 'URL:' non-empty String 'Date:' DateString 'JEL:' JelClassificationList 'By': Authors KeywordList: Keyword ',' KeywordList Keyword ';' KeywordList Keyword Keyword: non-empty String that does not contain ',' (may contain whitespace) # if no date is given, the current year as given by the system clock is assumed DateString: 'yyyy-MM-dd' 'yyyy-MM' 'yyyy' JelClassificationList: JelClassification JelClassificationList JelClassification # the JEL Classifications are set into a new BIBTEX-field 'jel' # they will appear if you add it as a field to one of the BIBTex Entry sections JelClassification: one of the allowed classes, see http://ideas.repec.org/j/ SectionSeparator: '\n-----------------------------'
http://nep.repec.org
Constructor and Description |
---|
RepecNepImporter() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getCLIId()
Short, one token ID to identify the format from the command line.
|
java.lang.String |
getDescription()
Description of the ImportFormat.
|
java.lang.String |
getExtensions()
Extensions that this importer can read.
|
java.lang.String |
getFormatName()
Return the name of this import format.
|
java.util.List<BibtexEntry> |
importEntries(java.io.InputStream stream,
OutputPrinter status)
Parse the entries in the source, and return a List of BibtexEntry
objects.
|
boolean |
isRecognizedFormat(java.io.InputStream stream)
Check whether the source is in the correct format for this importer.
|
compareTo, equals, getIsCustomImporter, hashCode, setIsCustomImporter, toString
public java.lang.String getFormatName()
getFormatName
in class ImportFormat
null
public java.lang.String getCLIId()
ImportFormat
getCLIId
in class ImportFormat
public java.lang.String getExtensions()
ImportFormat
getExtensions
in class ImportFormat
null
for the defaultpublic java.lang.String getDescription()
ImportFormat
Implementors of ImportFormats should override this. Ideally, it should specify
recognizes
an import format
getDescription
in class ImportFormat
public boolean isRecognizedFormat(java.io.InputStream stream) throws java.io.IOException
ImportFormat
isRecognizedFormat
in class ImportFormat
java.io.IOException
public java.util.List<BibtexEntry> importEntries(java.io.InputStream stream, OutputPrinter status) throws java.io.IOException
ImportFormat
importEntries
in class ImportFormat
java.io.IOException