Documentation
¶
Overview ¶
TODO.
Index ¶
Constants ¶
View Source
const ( SourceID = "85" Format = "ElectronicArticle" Collection = "Elsevier Journals" Genre = "article" // Default ris.type DefaultRefType = "EJOUR" )
Variables ¶
View Source
var ( ErrNoYearFound = errors.New("no year found") ErrTarFileRequired = errors.New("a tar file is required") )
Functions ¶
This section is empty.
Types ¶
type Article ¶
type Article struct {
xml.Name `xml:"article"`
Xlink string `xml:"xlink,attr"`
Ce string `xml:"ce,attr"`
Sb string `xml:"sb,attr"`
Docsubtype string `xml:"docsubtype,attr"`
Version string `xml:"version,attr"`
Lang string `xml:"lang,attr"`
ItemInfo struct {
Jid string `xml:"jid"`
Aid string `xml:"aid"`
Pii string `xml:"pii"`
Doi string `xml:"doi"`
Copyright struct {
Type string `xml:"type,attr"`
Year string `xml:"year,attr"`
} `xml:"copyright"`
} `xml:"item-info"`
Head struct {
ArticleFootnote string `xml:"article-footnote"`
Dochead struct {
Id string `xml:"id,attr"`
Textfn string `xml:"textfn"`
} `xml:"dochead"`
Title string `xml:"title"`
AuthorGroup struct {
Id string `xml:"id,attr"`
Author []struct {
Id string `xml:"id,attr"`
Orcid string `xml:"orcid,attr"`
GivenName string `xml:"given-name"`
Surname string `xml:"surname"`
Degrees string `xml:"degrees"`
CrossRef struct {
Refid string `xml:"refid,attr"`
Id string `xml:"id,attr"`
Sup string `xml:"sup"`
} `xml:"cross-ref"`
EAddress struct {
Type string `xml:"type,attr"`
Id string `xml:"id,attr"`
} `xml:"e-address"`
} `xml:"author"`
Affiliation struct {
Id string `xml:"id,attr"`
Textfn string `xml:"textfn"`
Affiliation struct {
Sa string `xml:"sa,attr"`
Organization []string `xml:"organization"`
AddressLine string `xml:"address-line"`
City string `xml:"city"`
State string `xml:"state"`
PostalCode string `xml:"postal-code"`
Country string `xml:"country"`
} `xml:"affiliation"`
} `xml:"affiliation"`
Correspondence struct {
Id string `xml:"id,attr"`
Label string `xml:"label"`
Text string `xml:"text"`
} `xml:"correspondence"`
} `xml:"author-group"`
DateReceived struct {
Day string `xml:"day,attr"`
Month string `xml:"month,attr"`
Year string `xml:"year,attr"`
} `xml:"date-received"`
DateRevised struct {
Day string `xml:"day,attr"`
Month string `xml:"month,attr"`
Year string `xml:"year,attr"`
} `xml:"date-revised"`
DateAccepted struct {
Day string `xml:"day,attr"`
Month string `xml:"month,attr"`
Year string `xml:"year,attr"`
} `xml:"date-accepted"`
Abstract []struct {
Text string `xml:",innerxml"`
Lang string `xml:"lang,attr"`
Id string `xml:"id,attr"`
View string `xml:"view,attr"`
Class string `xml:"class,attr"`
SectionTitle string `xml:"section-title"`
AbstractSec []struct {
Role string `xml:"role,attr"`
Id string `xml:"id,attr"`
View string `xml:"view,attr"`
SectionTitle string `xml:"section-title"`
SimplePara struct {
Id string `xml:"id,attr"`
View string `xml:"view,attr"`
List struct {
Id string `xml:"id,attr"`
ListItem []struct {
Id string `xml:"id,attr"`
Label string `xml:"label"`
Para struct {
Id string `xml:"id,attr"`
View string `xml:"view,attr"`
} `xml:"para"`
} `xml:"list-item"`
} `xml:"list"`
} `xml:"simple-para"`
} `xml:"abstract-sec"`
} `xml:"abstract"`
Keywords struct {
Lang string `xml:"lang,attr"`
Id string `xml:"id,attr"`
View string `xml:"view,attr"`
Class string `xml:"class,attr"`
SectionTitle string `xml:"section-title"`
Keyword []struct {
Id string `xml:"id,attr"`
Text string `xml:"text"`
} `xml:"keyword"`
} `xml:"keywords"`
} `xml:"head"`
// in case of a "simple-article", carry this field as well
SimpleHead struct {
Title string `xml:"title"`
AuthorGroup struct {
Id string `xml:"id,attr"`
Author []struct {
Id string `xml:"id,attr"`
GivenName string `xml:"given-name"`
Surname string `xml:"surname"`
EAddress struct {
Id string `xml:"id,attr"`
Type string `xml:"type,attr"`
} `xml:"e-address"`
} `xml:"author"`
Affiliation struct {
Id string `xml:"id,attr"`
Textfn string `xml:"textfn"`
Affiliation struct {
Sa string `xml:"sa,attr"`
Organization []string `xml:"organization"`
AddressLine string `xml:"address-line"`
City string `xml:"city"`
PostalCode string `xml:"postal-code"`
Country string `xml:"country"`
} `xml:"affiliation"`
} `xml:"affiliation"`
} `xml:"author-group"`
} `xml:"simple-head"`
}
Article describes a single article.
type Dataset ¶
type Dataset struct {
xml.Name `xml:"dataset"`
SchemaVersion string `xml:"schema-version,attr"`
Xsi string `xml:"xsi,attr"`
SchemaLocation string `xml:"schemaLocation,attr"`
DatasetUniqueIds struct {
ProfileCode string `xml:"profile-code"`
ProfileDatasetId string `xml:"profile-dataset-id"`
Timestamp string `xml:"timestamp"`
} `xml:"dataset-unique-ids"`
DatasetProperties struct {
DatasetAction string `xml:"dataset-action"`
ProductionProcess string `xml:"production-process"`
} `xml:"dataset-properties"`
DatasetContent struct {
JournalIssue []struct {
Version struct {
VersionNumber string `xml:"version-number"`
Stage string `xml:"stage"`
} `xml:"version"`
JournalIssueUniqueIds struct {
Pii string `xml:"pii"`
Doi string `xml:"doi"`
JidAid struct {
Jid string `xml:"jid"`
Issn string `xml:"issn"`
Aid string `xml:"aid"`
} `xml:"jid-aid"`
} `xml:"journal-issue-unique-ids"`
JournalIssueProperties struct {
Jid string `xml:"jid"`
Issn string `xml:"issn"`
VolumeIssueNumber struct {
VolFirst string `xml:"vol-first"`
Suppl string `xml:"suppl"`
} `xml:"volume-issue-number"`
CollectionTitle string `xml:"collection-title"`
} `xml:"journal-issue-properties"`
FilesInfo struct {
Ml []struct {
Pathname string `xml:"pathname"`
Filesize string `xml:"filesize"`
Purpose string `xml:"purpose"`
DTDVersion string `xml:"dtd-version"`
} `xml:"ml"`
} `xml:"files-info"`
} `xml:"journal-issue"`
JournalItem []struct {
CrossMark string `xml:"cross-mark,attr"`
Version struct {
VersionNumber string `xml:"version-number"`
Stage string `xml:"stage"`
} `xml:"version"`
JournalItemUniqueIds struct {
Pii string `xml:"pii"`
Doi string `xml:"doi"`
JidAid struct {
Jid string `xml:"jid"`
Issn string `xml:"issn"`
Aid string `xml:"aid"`
} `xml:"jid-aid"`
} `xml:"journal-item-unique-ids"`
JournalItemProperties struct {
Pit string `xml:"pit"`
ProductionType string `xml:"production-type"`
OnlinePublicationDate string `xml:"online-publication-date"`
} `xml:"journal-item-properties"`
FilesInfo struct {
Ml []struct {
Pathname string `xml:"pathname"`
Filesize string `xml:"filesize"`
Purpose string `xml:"purpose"`
DTDVersion string `xml:"dtd-version"`
} `xml:"ml"`
} `xml:"files-info"`
} `xml:"journal-item"`
} `xml:"dataset-content"`
}
Dataset describes journal issues and items, usually inside a dataset.xml.
type SerialIssue ¶
type SerialIssue struct {
xml.Name `xml:"serial-issue"`
IssueInfo struct {
Pii string `xml:"pii"`
Jid string `xml:"jid"`
Issn string `xml:"issn"`
VolumeIssueNumber struct {
VolFirst string `xml:"vol-first"`
IssFirst string `xml:"iss-first"`
} `xml:"volume-issue-number"`
} `xml:"issue-info"`
IssueData struct {
CoverDate struct {
DateRange struct {
StartDate string `xml:"start-date"`
} `xml:"date-range"`
} `xml:"cover-date"`
Pages []Pages `xml:"pages"`
CoverImage string `xml:"cover-image"`
} `xml:"issue-data"`
IssueBody struct {
IncludeItem []struct {
Pii string `xml:"pii"`
Doi string `xml:"doi"`
Pages string `xml:"pages"`
} `xml:"include-item"`
IssueSec []struct {
SectionTitle string `xml:"section-title"`
IncludeItem []struct {
Pii string `xml:"pii"`
Doi string `xml:"doi"`
Pages Pages `xml:"pages"`
} `xml:"include-item"`
} `xml:"issue-sec"`
} `xml:"issue-body"`
}
SerialIssue contains information about an issue, usually inside issue.xml.
type Shipment ¶
type Shipment struct {
// contains filtered or unexported fields
}
Shipment is a tar export, looks like SAXC0000000000046A.tar. The tar is not extracted but loaded into memory at once. Issues and articles are stored in a map, each keyed on the PII.
func NewShipment ¶
NewShipment creates a new bag of data from a given tarfile.
func (Shipment) BatchConvert ¶
func (s Shipment) BatchConvert() ([]finc.IntermediateSchema, error)
BatchConvert converts all items for a shipment into importable objects.
Click to show internal directories.
Click to hide internal directories.