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.