zvdd

package
v0.1.365 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2024 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SourceIdentifier = "93" // TODO(miku): find correct id
	Format           = "ElectronicArticle"
	Genre            = "article"
	DefaultRefType   = "EJOUR"
	Collection       = "ZVDD"
)

SourceIdentifier for internal bookkeeping.

Variables

This section is empty.

Functions

This section is empty.

Types

type DublicCoreRecord

type DublicCoreRecord struct {
	XMLName xml.Name `xml:"record"`
	Header  struct {
		Status     string   `xml:"status,attr"`
		Identifier string   `xml:"identifier"`
		Datestamp  string   `xml:"datestamp"`
		SetSpec    []string `xml:"setSpec"`
	} `xml:"header"`
	Metadata struct {
		DC struct {
			Title       []string `xml:"title"`
			Creator     []string `xml:"creator"`
			Subject     []string `xml:"subject"`
			Publisher   []string `xml:"publisher"`
			Date        []string `xml:"date"`
			Type        []string `xml:"type"`
			Format      []string `xml:"format"`
			Identifier  []string `xml:"identifier"`
			Language    []string `xml:"language"`
			Rights      []string `xml:"rights"`
			Description []string `xml:"description"`
			Source      []string `xml:"source"`
		} `xml:"dc"`
	} `xml:"metadata"`
	About string `xml:"about"`
}

DublicCoreRecord is a sketch for highwire XML.

func (DublicCoreRecord) ToIntermediateSchema

func (r DublicCoreRecord) ToIntermediateSchema() (*finc.IntermediateSchema, error)

ToIntermediateSchema sketch.

type Mets

type Mets struct {
	XMLName xml.Name `xml:"mets"`
	Header  struct {
		XMLName xml.Name `xml:"metsHdr"`
		Agents  []struct {
			Role      string `xml:"ROLE,attr"`
			Type      string `xml:"TYPE,attr"`
			OtherType string `xml:"OTHERTYPE,attr"`
			Name      string `xml:"name"`
		} `xml:"agent"`
	}
	DmdSection struct {
		// Wrap Wrap
		Wrap struct {
			MimeType  string `xml:"MIMETYPE,attr"`
			Type      string `xml:"MDTYPE,attr"`
			OtherType string `xml:"OTHERMDTYPE,attr"`
			Data      struct {
				Mods Mods `xml:"mods"`
			} `xml:"xmlData"`
		} `xml:"mdWrap"`
	} `xml:"dmdSec"`
	AmdSection struct {
		ID     string `xml:"ID,attr"`
		Rights struct {
			ID   string `xml:"ID,attr"`
			Wrap struct {
				MimeType  string `xml:"MIMETYPE,attr"`
				Type      string `xml:"MDTYPE,attr"`
				OtherType string `xml:"OTHERMDTYPE,attr"`
				Data      struct {
					Value string `xml:",innerxml"`
				} `xml:"xmlData"`
			} `xml:"mdWrap"`
		} `xml:"rightsMD"`
		Provenience struct {
			ID   string `xml:"ID,attr"`
			Wrap struct {
				MimeType  string `xml:"MIMETYPE,attr"`
				Type      string `xml:"MDTYPE,attr"`
				OtherType string `xml:"OTHERMDTYPE,attr"`
				Data      struct {
					Value string `xml:",innerxml"`
				} `xml:"xmlData"`
			} `xml:"mdWrap"`
		} `xml:"digiprovMD"`
	} `xml:"amdSec"`
	FileSection struct {
		FileGroup struct {
			Use   string `xml:"USE,attr"`
			Files []struct {
				MimeType     string `xml:"MIMETYPE,attr"`
				Checksum     string `xml:"CHECKSUM,attr"`
				Created      string `xml:"CREATED,attr"`
				ChecksumType string `xml:"CHECKSUMTYPE,attr"`
				Size         string `xml:"SIZE,attr"`
				ID           string `xml:"ID,attr"`
				FLocat       struct {
					Ref  string `xml:"href,attr"`
					Type string `xml:"LOCTYPE,attr"`
				} `xml:"FLocat"`
			} `xml:"file"`
		} `xml:"fileGrp"`
	} `xml:"fileSec"`
}

Mets fields, relevant for conversion.

type MetsRecord

type MetsRecord struct {
	XMLName xml.Name `xml:"record"`
	Header  struct {
		Identifier string `xml:"identifier"`
		Datestamp  string `xml:"datestamp"`
	} `xml:"header"`
	Metadata struct {
		Mets Mets `xml:"mets"`
	} `xml:"metadata"`
}

MetsRecord contains a GetRequest response.

func (*MetsRecord) DOI

func (r *MetsRecord) DOI() string

DOI returns a doi if applicable.

func (*MetsRecord) ToIntermediateSchema

func (r *MetsRecord) ToIntermediateSchema() (output *finc.IntermediateSchema, err error)

ToIntermediateSchema converts the input to intermediate schema.

func (*MetsRecord) URL

func (r *MetsRecord) URL() (urls []string)

URL returns a list of URLs found in document.

func (*MetsRecord) URN

func (r *MetsRecord) URN() string

URN returns the urn or an empty string.

type Mods

type Mods struct {
	XMLName   xml.Name `xml:"mods"`
	TitleInfo struct {
		Title    string `xml:"title"`
		SubTitle string `xml:"subTitle"`
	} `xml:"titleInfo"`
	Type  string `xml:"typeOfResource"`
	Genre struct {
		Authority string `xml:"authority,attr"`
		Value     string `xml:",chardata"`
	} `xml:"genre"`
	Origin []struct {
		Place struct {
			Term struct {
				Type  string `xml:"type,attr"`
				Value string `xml:",chardata"`
			} `xml:"placeTerm"`
		} `xml:"place"`
		DateIssued []struct {
			Date     string `xml:",chardata"`
			Encoding string `xml:"encoding,attr"`
			KeyDate  string `xml:"keyDate,attr"`
		} `xml:"dateIssued"`
		Issuance  string   `xml:"issuance"`
		Publisher []string `xml:"publisher"`
		Edition   []string `xml:"edition"`
	} `xml:"originInfo"`
	Language []struct {
		Authority string `xml:"authority,attr"`
		Type      string `xml:"type,attr"`
		Value     string `xml:",chardata"`
	} `xml:"language>languageTerm"`
	Physical struct {
		Extent string `xml:"extent"`
		Note   string `xml:"note"`
	} `xml:"physicalDescription"`
	Note []struct {
		Type  string `xml:"type,attr"`
		Value string `xml:",chardata"`
	} `xml:"note"`
	Identifier []struct {
		Type  string `xml:"type,attr"`
		Value string `xml:",chardata"`
	} `xml:"identifier"`
	Location struct {
		PhysicalLocation struct {
			Authority string `xml:"authority,attr"`
			Value     string `xml:",chardata"`
		} `xml:"physicalLocation"`
		HoldingsSimple struct {
			CopyInformation struct {
				SubLocation  string `xml:"subLocation"`
				ShelfLocator string `xml:"shelfLocator"`
			}
		} `xml:"holdingsSimple"`
		URL []string `xml:"URL"`
	} `xml:"location"`
	Extension struct {
		Value string `xml:",innerxml"`
	} `xml:"extension"`
	RecordInfo []struct {
		RecordCreationDate struct {
			Encoding string `xml:"encoding,attr"`
			Value    string `xml:",chardata"`
		} `xml:"recordCreationDate"`
		RecordIdentifier struct {
			Source string `xml:"source,attr"`
			Value  string `xml:",chardata"`
		} `xml:"recordIdentifier"`
		DescriptionStandard string `xml:"descriptionStandard"`
	}
	Classification []struct {
		Authority string `xml:"authority"`
		Value     string `xml:",chardata"`
	} `xml:"classification"`
}

Mods found embedded in Mets.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL