Documentation ¶
Index ¶
Constants ¶
const ( SourceID = "85" Format = "ElectronicArticle" Collection = "Elsevier Journals" Genre = "article" // Default ris.type DefaultRefType = "EJOUR" )
Variables ¶
var ( ErrNoYearFound = errors.New("no year found") ErrTarFileRequired = errors.New("a tar file is required") )
Functions ¶
This section is empty.
Types ¶
type Article ¶ added in v0.1.100
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 SchemaFunc ¶ added in v0.1.100
type SchemaFunc finc.IntermediateSchema
SchemaFunc make an already converted intermediate schema look like something, that can be converted into one. Workaround to satisfy the interface, for the moment.
func (SchemaFunc) ToIntermediateSchema ¶ added in v0.1.100
func (s SchemaFunc) ToIntermediateSchema() (*finc.IntermediateSchema, error)
ToIntermediateSchema does a type conversion only.
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 ¶ added in v0.1.100
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 ¶ added in v0.1.100
NewShipment creates a new bag of data from a given tarfile.
func (Shipment) BatchConvert ¶ added in v0.1.100
BatchConvert converts all items for a shipment into importable objects.