types

package
v0.0.0-...-7b63a7d Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2024 License: Apache-2.0 Imports: 6 Imported by: 7

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckDate

func CheckDate(date string, product string) string

CheckDate ...

func ConcatSubject

func ConcatSubject(subjectStr string, v string, subjectTypeStr string, t string) (string, string)

ConcatSubject ...

func Join

func Join(strs ...string) string

Join ...

func StripNonIntFloat

func StripNonIntFloat(s string) string

StripNonIntFloat ...

Types

type AccessCondition

type AccessCondition struct {
	Type         string `xml:"type,attr" json:"type,omitempty"`
	DisplayLabel string `xml:"displayLabel,attr"  json:"displayLabel,omitempty"`
	Value        string `xml:",chardata" json:"Value,omitempty"`
}

AccessCondition ...

type AgentInfo

type AgentInfo struct {
	XMLName   xml.Name `xml:"agent"`
	Role      string   `xml:"ROLE,attr" json:"agent_role,omitempty"`
	Type      string   `xml:"TYPE,attr" json:"agent_type,omitempty"`
	Otherrole string   `xml:"OTHERROLE,attr" json:"agent_otherrole,omitempty"`
	Othertype string   `xml:"OTHERTYPE,attr" json:"agent_othertype,omitempty"`
	Order     int      `json:"order,omitempty"`

	AgentName string      `xml:"name" json:"agent_name,omitempty"` // Name and version of the processor, e.g. the name of the executable
	AgentNote []AgentNote `xml:"note" json:"agent_note,omitempty"` // additional parameter in relation to the processor, e.g. input fileGrp, output fileGrp, parameter list
}

AgentInfo ...

type AgentNote

type AgentNote struct {
	XMLName xml.Name `xml:"note"`
	Option  string   `xml:"ocrd:option,attr" json:"option,omitempty"` // values: input-file-grp,  output-file-grp, parameter, page-id
	Value   string   `xml:",chardata" json:"value,omitempty"`
}

AgentNote ...

type Amdsec

type Amdsec struct {
	XMLName    xml.Name   `xml:"amdSec"`
	ID         string     `xml:"ID,attr"`
	RightsMD   RightsMD   `xml:"rightsMD"`   // required, not repeatable
	DigiprovMD DigiprovMD `xml:"digiprovMD"` // required, not repeatable
}

Amdsec ...

type Annotation

type Annotation struct {
	Context    string         `json:"@context"`
	Type       string         `json:"@type"`      // type of the resource, always set to "oa:Annotation"
	ID         string         `json:"@id"`        // identifier (URI) of the Annotation
	Motivation string         `json:"motivation"` // motivation for the annotation, ie. "sc:painting" means image will be projected on to the Canvas
	Resource   AnnotationBody `json:"resource"`   // image resource being projected into the Canvas
	On         string         `json:"on"`         // identifier (URI) of the Canvas on which the image will be projected
}

Annotation ..

type AnnotationBody

type AnnotationBody struct {
	Type    string       `json:"@type,omitempty"`   // type of the resource, always set to "dctypes:Image"
	ID      string       `json:"@id,omitempty"`     // URL of the image
	Format  string       `json:"format,omitempty"`  // mimetype of the resource
	Service *IiifService `json:"service,omitempty"` // Optional. Service hosting and delivering the IIIF resource
	Width   int32        `json:"width,omitempty"`   // width of the image
	Height  int32        `json:"height,omitempty"`  // height of the image
}

AnnotationBody ..

type Area

type Area struct {
	XMLName xml.Name `xml:"area"`
	Fileid  string   `xml:"FILEID,attr"`
	Shape   string   `xml:"SHAPE,attr"`
	Coords  string   `xml:"COORDS,attr"`
	Order   int16
}

Area ...

type AreaSortSlice

type AreaSortSlice []Area

func (AreaSortSlice) Len

func (d AreaSortSlice) Len() int

Len is part of sort.Interface.

func (AreaSortSlice) Less

func (d AreaSortSlice) Less(i, j int) bool

Less is part of sort.Interface. We use count as the value to sort by

func (AreaSortSlice) Swap

func (d AreaSortSlice) Swap(i, j int)

Swap is part of sort.Interface.

type Author

type Author struct {
	XMLName xml.Name `xml:"author"`
	Value   string   `xml:",chardata"`
}

Author ...

type Canvas

type Canvas struct {
	Type         string         `json:"@type"`                  // type of the resource, always set to "sc:Canvas"
	ID           string         `json:"@id"`                    // identifier (URI) of the Canvas
	Label        string         `json:"label,omitempty"`        // label for the canvas
	Height       int32          `json:"height,omitempty"`       // height of the canvas (corresponds to height of the image)
	Width        int32          `json:"width,omitempty"`        // width of the canvas (corresponds to width of the image)
	Attribution  string         `json:"attribution,omitempty"`  // human readable label that must be displayed when the item is displayed or used, presenting the copyright or ownership statements and an acknowledgement of the owning and/or publishing institution
	License      string         `json:"license,omitempty"`      // (URI) defines the copyright, usage and access rights that apply to this digital object
	Images       []Annotation   `json:"images"`                 // list of one annotation that represents the projection of the image into the canvas where it is displayed
	OtherContent []OtherContent `json:"otherContent,omitempty"` // reference to the page fulltext todo
}

Canvas ..

type ClassificationInfo

type ClassificationInfo struct {
	Value     string `xml:",chardata" json:"Value,omitempty"`
	Authority string `xml:"authority,attr" json:"Authority,omitempty"`
}

ClassificationInfo ...

type Contributor

type Contributor struct {
	XMLName xml.Name `xml:"contributors"`
	Authors []Author `xml:"authors"`
}

Contributor ...

type CreatorInfo

type CreatorInfo struct {
	Type              string `json:"type,omitempty"`
	Name              string `json:"name,omitempty"`
	Roleterm          string `json:"roleterm,omitempty"`
	RoletermAuthority string `json:"roleterm_authority,omitempty"`
	RoletermType      string `json:"roleterm_type,omitempty"`
	GndURI            string `json:"gndURI,omitempty"`
	GndNumber         string `json:"gndNumber,omitempty"`
	Date              string `json:"date,omitempty"`
	DateString        string `json:"date_string,omitempty"`
}

CreatorInfo ...

type Data

type Data struct {
	DataFields []string
}

Data ..

type Dataset

type Dataset struct {
	Label   string `json:"label,omitempty"`
	ID      string `json:"@id"`     // URL to the metadata in a specific format
	Format  string `json:"format"`  // mimetype of the format
	Profile string `json:"profile"` // url of the profile
}

Dataset ...

type Date

type Date struct {
	XMLName  xml.Name  `xml:"dates"`
	Year     int64     `xml:"year,omitempty"`
	PubDates []PubDate `xml:"pub-dates,omitempty"`
}

Date ...

type DateCaptured

type DateCaptured struct {
	Encoding     string `xml:"encoding,attr" json:"encoding,omitempty"`   //
	Point        string `xml:"point,attr" json:"point,omitempty"`         //
	KeyDate      string `xml:"keyDate,attr" json:"key_date,omitempty"`    //
	Qualifier    string `xml:"qualifier,attr" json:"qualifier,omitempty"` //
	DateCaptured string `xml:",chardata" json:"value,omitempty"`          //
}

DateCaptured ...

type DateCreated

type DateCreated struct {
	Encoding    string `xml:"encoding,attr" json:"encoding,omitempty"`   //
	Point       string `xml:"point,attr" json:"point,omitempty"`         //
	KeyDate     string `xml:"keyDate,attr" json:"key_date,omitempty"`    //
	Qualifier   string `xml:"qualifier,attr" json:"qualifier,omitempty"` //
	DateCreated string `xml:",chardata" json:"value,omitempty"`          //
}

DateCreated ...

type DateIssued

type DateIssued struct {
	Encoding   string `xml:"encoding,attr" json:"encoding,omitempty"`   //
	Point      string `xml:"point,attr" json:"point,omitempty"`         //
	KeyDate    string `xml:"keyDate,attr" json:"key_date,omitempty"`    //
	Qualifier  string `xml:"qualifier,attr" json:"qualifier,omitempty"` //
	DateIssued string `xml:",chardata" json:"value,omitempty"`          //
}

DateIssued ...

type DateOther

type DateOther struct {
	Encoding  string `xml:"encoding,attr" json:"encoding,omitempty"`   //
	Point     string `xml:"point,attr" json:"point,omitempty"`         //
	KeyDate   string `xml:"keyDate,attr" json:"key_date,omitempty"`    //
	Qualifier string `xml:"qualifier,attr" json:"qualifier,omitempty"` //
	DateOther string `xml:",chardata" json:"value,omitempty"`          //
}

DateOther ...

type Description

type Description struct {
	Value    string `json:"@value,omitempty"`    // name of a metadata property
	Language string `json:"@language,omitempty"` // value of the metadata property, possibly as link
}

Description ...

type Detail

type Detail struct {
	Type   string `xml:"type,attr" json:"type,omitempty"`
	Number string `xml:"number" json:"number,omitempty"` // required, not repeatable
}

Detail ...

type DigiprovMD

type DigiprovMD struct {
	ID     string `xml:"ID,attr"`
	MdWrap MdWrap `xml:"mdWrap"` // required, not repeatable
}

DigiprovMD ...

type DigitizationInfo

type DigitizationInfo struct {
	// digitization -> date_captured
	EventType               string   `json:"event_type,omitempty"`                //
	PlaceDigitization       []string `json:"place_digitization,omitempty"`        //
	PlaceInfo               []Place  `json:"place_info,omitempty"`                //
	PublisherDigitization   []string `json:"publisher_digitization,omitempty"`    //
	PublisherInfo           []string `json:"publisher_info,omitempty"`            //
	PublisherInfoNormalized []string `json:"publisher_info_normalized,omitempty"` //
	YearDigitizationString  string   `json:"year_digitization_string,omitempty"`  //
	YearDigitization        int64    `json:"year_digitization,omitempty"`         //
	YearDigitizationStart   int64    `json:"year_digitization_start,omitempty"`   //
	YearDigitizationEnd     int64    `json:"year_digitization_end,omitempty"`     //
	Edition                 string   `json:"edition_digitization,omitempty"`      //
}

DigitizationInfo ...

func GetDigitizationInfo

func GetDigitizationInfo(oi OriginInfo) *DigitizationInfo

GetDigitizationInfo ...

func GetDigitizationInfoSimplified

func GetDigitizationInfoSimplified(oi OriginInfo) *DigitizationInfo

GetDigitizationInfoSimplified ...

type Div

type Div struct {
	XMLName                 xml.Name `xml:"div"`
	OOrder                  int64
	IsPartOfMultivolumework bool

	// logical and physical
	ID         string `xml:"ID,attr"`
	Type       string `xml:"TYPE,attr"`
	DmdID      string `xml:"DMDID,attr"`
	Amdid      string `xml:"AMDID,attr"`
	Divs       []Div  `xml:"div"` // required, repeatable
	ParentID   string
	ParentWork string
	ParentLog  string
	WorkID     string

	// physical tags
	Order      string `xml:"ORDER,attr"`      // required
	Orderlabel string `xml:"ORDERLABEL,attr"` // optional
	ContentIDs string `xml:"CONTENTIDS,attr"` // optionnal, identifizierende PURL und/oder URN mit Leerzeichen getrennt

	Fptr []Fptr `xml:"fptr"` // required, repeatable

	// logical tags
	Label string `xml:"LABEL,attr"`

	Mptr Mptr `xml:"mptr"` // optional, not repeatable

	DivPosition int64
	Level       int8
}

Div ...

type Dmdsec

type Dmdsec struct {
	XMLName                 xml.Name                `xml:"dmdSec"`
	ID                      string                  `xml:"ID,attr"`
	Identifiers             []Identifier            `xml:"mdWrap>xmlData>mods>identifier"`
	TitleInfos              []TitleInfo             `xml:"mdWrap>xmlData>mods>titleInfo" json:"title"` // required for anchor, repeatable
	OriginInfos             []OriginInfo            `xml:"mdWrap>xmlData>mods>originInfo"`             // required for root, repeatable
	NameInfos               []NameInfo              `xml:"mdWrap>xmlData>mods>name"`
	Locations               []LocationInfo          `xml:"mdWrap>xmlData>mods>location"`
	GenresInfos             []GenreInfo             `xml:"mdWrap>xmlData>mods>genre"`
	ClassificationInfos     []ClassificationInfo    `xml:"mdWrap>xmlData>mods>classification"`
	GatheredIntoInfos       []GatheredIntoInfo      `xml:"mdWrap>xmlData>mods>extension>edm>isGatheredInto"`
	SponsorshipInfos        []SponsorshipInfo       `xml:"mdWrap>xmlData>mods>extension>gdz>sponsorship"`
	NormalizedPlaceTerm     []string                `xml:"mdWrap>xmlData>mods>extension>placeTerm"`
	NormalizedGenre         []string                `xml:"mdWrap>xmlData>mods>extension>genre"`
	LanguageInfos           []LanguageInfo          `xml:"mdWrap>xmlData>mods>language"`
	PhysicalDescriptionInfo PhysicalDescriptionInfo `xml:"mdWrap>xmlData>mods>physicalDescription"` // optinal, not repeatable
	NoteInfos               []NoteInfo              `xml:"mdWrap>xmlData>mods>note"`                // optional, repeatable
	SubjectInfos            []SubjectInfo           `xml:"mdWrap>xmlData>mods>subject"`             // optional, repeatable
	Relateditems            []Relateditem           `xml:"mdWrap>xmlData>mods>relatedItem"`         // required for anchor, repeatable
	PartInfo                PartInfo                `xml:"mdWrap>xmlData>mods>part"`                // (required), not repeatable
	RecordInfo              RecordInfo              `xml:"mdWrap>xmlData>mods>recordInfo"`          // required, not repeatable
	AccessConditions        []AccessCondition       `xml:"mdWrap>xmlData>mods>accessCondition"`     // required for DigiZeit, repeatable
}

Dmdsec ...

type DmdsecCheck

type DmdsecCheck struct {
	XMLName xml.Name `xml:"dmdSec"`
	ID      string   `xml:"ID,attr"`
	MdWrap  MdWrap   `xml:"mdWrap"`
}

DmdsecCheck ...

type DmdsecRecordID

type DmdsecRecordID struct {
	XMLName xml.Name `xml:"dmdSec"`
	ID      string   `xml:"ID,attr" json:"id"`
}

DmdsecRecordID ...

type ESDoc

type ESDoc struct {
	ESLogMap  map[string]ESLog
	ESPhysMap map[string]ESPhys
	Product   string
	Context   string
}

ESDoc ...

type ESLog

type ESLog struct {
	CreateDate string      `json:"CREATEDATE,omitempty"`
	AgentInfo  []AgentInfo `json:"agentinfo,omitempty"`

	IsFirst           bool
	IsGt              bool
	IsExternalContent bool
	ReindexedAt       string        `json:"reindexedat,omitempty"`
	Bycreator         string        `json:"bycreator,omitempty"`
	Byperson          string        `json:"byperson,omitempty"`
	Bytitle           string        `json:"bytitle,omitempty"`
	Catalogue         string        `json:"catalogue,omitempty"`
	ContentID         string        `json:"contentid,omitempty"`
	Context           string        `json:"context,omitempty"`
	CreatorInfos      []CreatorInfo `json:"creator_infos,omitempty"`
	Currentno         []string      `json:"currentno,omitempty"`
	Currentnosort     int64         `json:"currentnosort,omitempty"`
	DateIndexed       string        `json:"date_indexed,omitempty"`
	DateModified      string        `json:"date_modified,omitempty"`
	Dc                []string      `json:"dc,omitempty"`
	DcZvdd            []string      `json:"dc_zvdd,omitempty"`
	DcDDC             []string      `json:"dc_ddc,omitempty"`
	DcOther           []string      `json:"dc_other,omitempty"`
	DcOtherAuthority  []string      `json:"dc_other_authority,omitempty"`
	DmdID             string        `json:"dmdid,omitempty"`
	// todo via copy-field (same as "id")
	LogFullpage      string `json:"log_fullpage_s,omitempty"`
	LogFullpageCoord string `json:"log_fullpage_coord_s,omitempty"`
	LogFulltextID    string `json:"log_fulltext_id_s,omitempty"`
	LogFulltext      string `json:"log_fulltext_s,omitempty"`
	Doctype          string `json:"doctype,omitempty"`

	ID         string   `json:"id,omitempty"`
	PID        string   `json:"pid,omitempty"`
	Work       string   `json:"work,omitempty"`
	Collection string   `json:"collection,omitempty"`
	Log        string   `json:"log,omitempty"`
	LogID      string   `json:"log_id,omitempty"`
	PrevPID    string   `json:"prevPID,omitempty"`
	PrevPIDs   []string `json:"prevPIDs,omitempty"`

	Hosts               []string     `json:"host,omitempty"`
	Precedings          []string     `json:"preceding,omitempty"`
	Series              []string     `json:"series,omitempty"`
	Succeedings         []string     `json:"succeeding,omitempty"`
	Identifier          []string     `json:"identifier,omitempty"`
	IdentifierInfo      []Identifier `json:"identifier_info,omitempty"`
	Isanchor            bool         `json:"isanchor"`
	Iscontribution      bool         `json:"iscontribution"`
	Isparent            bool         `json:"isparent"`
	Issn                string       `json:"issn,omitempty"`
	Iswork              bool         `json:"iswork"`
	Label               string       `json:"label,omitempty"`
	Lang                []string     `json:"lang,omitempty"`
	Genre               []string     `json:"genre,omitempty"`
	Sponsor             []string     `json:"sponsor,omitempty"`
	NormalizedGenre     []string     `json:"facet_normalized_genre,omitempty"`
	NormalizedPlaceTerm []string     `json:"facet_normalized_place_term,omitempty"`

	FileGrpUseTypes []string `json:"filegrp_use_types,omitempty"`

	Scriptterm []string `json:"scriptterm,omitempty"`
	Level      int8     `json:"level,omitempty"`

	NoteInfos  []NoteInfo `json:"note_infos,omitempty"`
	Order      int64      `json:"order,omitempty"`
	Parent     *Parent    `json:"parent,omitempty"`
	ParentID   string     `json:"parent_id,omitempty"`
	ParentWork string     `json:"parent_work,omitempty"`
	ParentLog  string     `json:"parent_log,omitempty"`

	// todo, fill from mods>NameInfo (all)
	PersonInfos              []PersonInfo             `json:"person_infos,omitempty"`
	PhysicalDescriptionInfos *PhysicalDescriptionInfo `json:"physical_description_infos,omitempty"`
	Productseries            string                   `json:"productseries_ss,omitempty"`
	Product                  string                   `json:"product,omitempty"`
	PublishInfos             *PublishInfo             `json:"publish_infos,omitempty"`
	DigitizationInfos        *DigitizationInfo        `json:"digitization_infos,omitempty"`
	Purl                     string                   `json:"purl,omitempty"`
	RecordIdentifier         string                   `json:"record_identifier,omitempty"`
	License                  string                   `json:"license,omitempty"`

	// indexing simplified
	RelatedItemInfos []RelatedItemInfos `json:"related_items_infos,omitempty"`
	ParentDivInfo    ParentDivInfo      `json:"parent_div_info,omitempty"`

	LicenseForMetadata           []string `json:"license_for_metadata,omitempty"`
	LicenseForUseAndReproduction []string `json:"license_for_use_and_reproduction,omitempty"`

	RightsAccessConditionInfos []RightAccessCondition `json:"rights_access_condition_infos,omitempty"`
	RightsInfo                 Rights                 `json:"rights_info,omitempty"`
	Shelfmark                  []Shelfmark            `json:"shelfmark_infos,omitempty"`
	Structrun                  []Structrun            `json:"structrun,omitempty"`
	SubjectInfos               []SubjectInfo          `json:"subject_infos,omitempty"`
	Title                      *TitleInfo             `json:"title,omitempty"`
	Type                       string                 `json:"type,omitempty"`
	IssueNumber                string                 `json:"issue_number,omitempty"`
	VolumeNumber               string                 `json:"volume_number,omitempty"`
	NaviYear                   int64                  `json:"navi_year,omitempty"`
	NaviMonth                  int64                  `json:"navi_month,omitempty"`
	NaviDay                    int64                  `json:"navi_day,omitempty"`
	NaviString                 string                 `json:"navi_string,omitempty"`
	NaviDate                   string                 `json:"navi_date,omitempty"`
	Zdb                        string                 `json:"zdb,omitempty"`
	Index                      int64                  `json:"index,omitempty"`
	StartPageIndex             int64                  `json:"start_page_index,omitempty"`
	StartPagePhysID            string                 `json:"start_page_phys_id,omitempty"`
	EndPageIndex               int64                  `json:"end_page_index,omitempty"`
	EndPagePhysID              string                 `json:"end_page_phys_id,omitempty"`
	TitlePageIndex             int64                  `json:"title_page_index,omitempty"`
	TitlePagePhysID            string                 `json:"title_page_phys_id,omitempty"`

	IsExportDataCreated bool `json:"export_data_created"`
}

ESLog ...

type ESLogHits

type ESLogHits struct {
	Total int64             `json:"total"`
	Hits  []ESLogSourceHits `json:"hits"`
}

ESLogHits ...

type ESLogResponse

type ESLogResponse struct {
	Hits ESLogHits `json:"hits"`
}

ESLogResponse ..

type ESLogSortSlice

type ESLogSortSlice []ESLog

func (ESLogSortSlice) Len

func (d ESLogSortSlice) Len() int

Len is part of sort.Interface.

func (ESLogSortSlice) Less

func (d ESLogSortSlice) Less(i, j int) bool

Less is part of sort.Interface. We use count as the value to sort by

func (ESLogSortSlice) Swap

func (d ESLogSortSlice) Swap(i, j int)

Swap is part of sort.Interface.

type ESLogSourceHits

type ESLogSourceHits struct {
	ESLog ESLog `json:"_source"`
}

ESLogSourceHits ...

type ESPhys

type ESPhys struct {
	Context                    string
	Bycreator                  string   `json:"bycreator,omitempty"`
	ContentID                  string   `json:"content_id,omitempty"`
	ContentIDChangedAt         string   `json:"content_id_changed_at,omitempty"`
	Currentno                  []string `json:"currentno,omitempty"`
	Currentnosort              int64    `json:"currentnosort,omitempty"`
	DateIndexed                string   `json:"date_indexed,omitempty"`
	DateModified               string   `json:"date_modified,omitempty"`
	Dc                         []string `json:"dc,omitempty"`
	DcZvdd                     []string `json:"dc_zvdd,omitempty"`
	DcDDC                      []string `json:"dc_ddc,omitempty"`
	FulltextExist              bool
	Fulltext                   string                 `json:"fulltext,omitempty"`
	FulltextHRef               string                 `json:"fulltext_href,omitempty"`
	FulltextNotAnalysed        string                 `json:"fulltext_not_analysed,omitempty"`
	AllFileHrefs               []string               `json:"all_file_hrefs,omitempty"`
	ID                         string                 `json:"id,omitempty"`
	PID                        string                 `json:"pid,omitempty"`
	PrevPID                    string                 `json:"prevPID,omitempty"`
	PrevPIDs                   []string               `json:"prevPIDs,omitempty"`
	Iscontribution             bool                   `json:"iscontribution"`
	IsGt                       bool                   `json:"IsGt"`
	Label                      string                 `json:"label,omitempty"`
	Level                      int8                   `json:"level,omitempty"`
	Log                        string                 `json:"log,omitempty"`
	LogID                      string                 `json:"log_id,omitempty"`
	Order                      int64                  `json:"order,omitempty"`
	Orderlabel                 string                 `json:"orderlabel,omitempty"`
	Filename                   string                 `json:"filename,omitempty"`
	Format                     string                 `json:"format,omitempty"`
	Page                       string                 `json:"page,omitempty"`
	PageKey                    string                 `json:"page_key,omitempty"`
	PageHRef                   string                 `json:"page_href,omitempty"`
	FirstThumbPageHRef         string                 `json:"first_thumb_page_href,omitempty"`
	PageHeight                 int32                  `json:"page_height,omitempty"`
	PageWidth                  int32                  `json:"page_width,omitempty"`
	Parent                     *Parent                `json:"parent,omitempty"`
	Phys                       string                 `json:"phys,omitempty"`
	PublishInfos               *PublishInfo           `json:"publish_infos,omitempty"`
	CreatorInfos               []CreatorInfo          `json:"creator_infos,omitempty"`
	RightsAccessConditionInfos []RightAccessCondition `json:"rights_access_condition_infos,omitempty"`
	StartPageIndex             int64                  `json:"start_page_index"`
	EndPageIndex               int64                  `json:"end_page_index"`
	Structrun                  []Structrun            `json:"structrun,omitempty"`
	Title                      *TitleInfo             `json:"title,omitempty"`
	Type                       string                 `json:"type,omitempty"`
	Work                       string                 `json:"work,omitempty"`
	Mimetype                   string                 `json:"mimetype,omitempty"`
	Externalcontent            bool
	Index                      int64
	GtStates                   []string `json:"gt_states,omitempty"`
}

ESPhys ...

type ESPhysHits

type ESPhysHits struct {
	Total int64              `json:"total"`
	Hits  []ESPhysSourceHits `json:"hits"`
}

ESPhysHits ...

type ESPhysResponse

type ESPhysResponse struct {
	Hits ESPhysHits `json:"hits"`
}

ESPhysResponse ..

type ESPhysSortSlice

type ESPhysSortSlice []ESPhys

func (ESPhysSortSlice) Len

func (d ESPhysSortSlice) Len() int

Len is part of sort.Interface.

func (ESPhysSortSlice) Less

func (d ESPhysSortSlice) Less(i, j int) bool

Less is part of sort.Interface. We use count as the value to sort by

func (ESPhysSortSlice) Swap

func (d ESPhysSortSlice) Swap(i, j int)

Swap is part of sort.Interface.

type ESPhysSourceHits

type ESPhysSourceHits struct {
	ESPhys ESPhys `json:"_source"`
}

ESPhysSourceHits ...

type ESWriteJob

type ESWriteJob struct {
	ID      string
	Type    string
	Content []byte
}

type EndnoteData

type EndnoteData struct {
	XMLName xml.Name `xml:"records"`
	Records []Record `xml:"record"`
}

EndnoteData ...

type ExportData

type ExportData struct {
	ID                   string
	Author               []string
	Title                string
	Subtitle             string
	Publisher            []string
	Editor               string
	PublishingPlace      []string
	PublishingYearString string
	PublishingYear       int64
	Issn                 string
	ParentIssn           string
	Series               string
	URL                  string
	LogURL               string
	Language             []string
	Journal              string
	Periodical           string
	Volume               string
	Number               string
	Month                string
	Edition              string
	Pages                int64
	Product              string
	Note                 string
	IsPeriodical         bool
	IsVolume             bool
	Log                  string
	IsFirst              bool
}

ExportData ...

type ExportWork

type ExportWork struct {
	WorkID   string    `json:"workid"`
	PID      string    `json:"pid"`
	RangeID  string    `json:"rangeid"`
	Context  string    `json:"context"`
	Product  string    `json:"product"`
	Time     time.Time `json:"time"`
	Attempts int32     `json:"attempts"`
}

ExportWork ...

type Extension

type Extension struct {
	PlaceTerm string   `xml:"placeTerm" json:"PlaceTerm,omitempty"` // required, not repeatable
	Genre     []string `xml:"genre" json:"Genre,omitempty"`         // required, not repeatable
}

Extension ...

type FLocat

type FLocat struct {
	XMLName      xml.Name `xml:"FLocat"`
	Loctype      string   `xml:"LOCTYPE,attr"`
	OtherLoctype string   `xml:"OTHERLOCTYPE,attr"`
	Href         string   `xml:"href,attr"`
}

FLocat ...

type File

type File struct {
	XMLName  xml.Name `xml:"file"`
	ID       string   `xml:"ID,attr"`
	Mimetype string   `xml:"MIMETYPE,attr"`
	FLocat   []FLocat `xml:"FLocat"` // required, not repeatable
}

File ...

type FileSecAttributes

type FileSecAttributes struct {
	FileID   string
	Use      string
	Mimetype string
	Loctype  string
	Href     string
	Page     string
	Filename string
	Format   string
}

FileSecAttributes ...

type Filegrp

type Filegrp struct {
	XMLName xml.Name `xml:"fileGrp"`
	Use     string   `xml:"USE,attr"`
	Files   []File   `xml:"file"` // required, repeatable
}

Filegrp ...

type Filesec

type Filesec struct {
	XMLName  xml.Name  `xml:"fileSec"`
	Filegrps []Filegrp `xml:"fileGrp"` // required, repeatable
}

Filesec ...

type Fptr

type Fptr struct {
	// nicht teil des DFG-Viewer Anwend.prof.
	XMLName xml.Name `xml:"fptr"`
	Fileid  string   `xml:"FILEID,attr"`

	Par Par `xml:"par"` // optional, not repeatable
}

Fptr ..

type GatheredIntoInfo

type GatheredIntoInfo struct {
	Value string `xml:",chardata" json:"Value,omitempty"`
}

GatheredIntoInfo ...

type GenreInfo

type GenreInfo struct {
	Value     string `xml:",chardata" json:"Value,omitempty"`
	Authority string `xml:"authority,attr" json:"Authority,omitempty"`
}

GenreInfo ...

type Geographic

type Geographic struct {
	Value    string `xml:",chardata" json:"Value,omitempty"`
	ValueURI string `xml:"valueURI,attr" json:"ValueURI,omitempty"`
}

Geographic ...

type GtState

type GtState struct {
	XMLName xml.Name `xml:"state"`
	Prop    string   `xml:"prop,attr" json:"prop"`
}

GtState ...

type HierarchicalGeographic

type HierarchicalGeographic struct {
	Country string `xml:"country" json:"country,omitempty"`
	State   string `xml:"state" json:"state,omitempty"`
	City    string `xml:"city" json:"city,omitempty"`
}

HierarchicalGeographic ...

type ID

type ID struct {
	IsRecordID bool
	Type       string
	Value      string
}

ID ...

type Identifier

type Identifier struct {
	Type    string `xml:"type,attr" json:"type,omitempty"`
	Value   string `xml:",chardata" json:"id,omitempty"`
	InvalID string `xml:"invalid,attr" json:"-"`
}

Identifier ...

type IiifManifest

type IiifManifest struct {
	//Version     string
	Comment          string          `json:"__comment"`
	ID               string          `json:"@id"`      // identifier (URI) of the Manifest
	Type             string          `json:"@type"`    //  always set to "sc:Manifest"
	Context          string          `json:"@context"` // always with the value "http://iiif.io/api/presentation/2/context.json"
	ViewingDirection string          `json:"viewingDirection"`
	ViewingHint      string          `json:"viewingHint"`
	NavDate          string          `json:"navDate"` // issue date of the item
	Within           string          `json:"within,omitempty"`
	Label            string          `json:"label,omitempty"`       // title of the Item
	Description      *Description    `json:"description,omitempty"` // description of the Item
	Metadata         []Metadata      `json:"metadata"`              // list of metadata values
	Thumbnail        *AnnotationBody `json:"thumbnail,omitempty"`   // thumbnail (preview) of the record
	Attribution      string          `json:"attribution"`           // human readable label that must be displayed when the item is displayed or used, presenting the copyright or ownership statements and an acknowledgement of the owning and/or publishing institution
	License          string          `json:"license,omitempty"`     // right statement (URI) which defines the copyright, usage and access rights that apply to this digital object
	Rendering        []Rendering     `json:"rendering"`             // rendering
	Related          []Related       `json:"related,omitempty"`     // rendering
	SeeAlso          []Dataset       `json:"seeAlso,omitempty"`
	Sequences        []Sequence      `json:"sequences"`
	Structures       []Structure     `json:"structures"`
}

IiifManifest ...

type IiifService

type IiifService struct {
	ID      string `json:"@id,omitempty"`      // URL of the IIIF service hosting/serving the resource
	Context string `json:"@context,omitempty"` // URL of the JSON-LD context, always with the value "http://iiif.io/api/image/2/context.json"
	Profile string `json:"profile,omitempty"`  // URI of the version supported by the service
}

IiifService ..

type ImageInfo

type ImageInfo struct {
	Width  int32 `json:"width"`
	Height int32 `json:"height"`
}

ImageInfo ...

type IndexerJob

type IndexerJob struct {
	BaseDir     string    `json:"basedir"`
	FulltextDir string    `json:"fulltextdir"`
	Document    string    `json:"document"` // document == ID
	Prev        string    `json:"prev"`
	Context     string    `json:"context"`
	Key         string    `json:"inkey"`
	Product     string    `json:"product"` // product == bucket
	Reindex     bool      `json:"reindex"`
	Starttime   time.Time `json:"starttime"`
	Filename    string    `json:"filename"`
	Path        string    `json:"path"`

	ImageFileGrp    string `xml:"imageFileGrp"`
	FulltextFileGrp string `xml:"fulltextFileGrp"`
	IsGt            bool   `xml:"isgt"`
	Ftype           string `json:"ftype"` // fulltext type HTML, TXT_1, TXT_2, TEI_2
}

IndexerJob ...

type JsonUploadObject

type JsonUploadObject struct {
	Bucket  string
	Key     string
	Content []byte
}

JsonUploadObject ...

type KV

type KV struct {
	Key   string
	Value int
}

KV ...

type KalliopeResponse

type KalliopeResponse struct {
	XMLName         xml.Name `xml:"searchRetrieveResponse"`
	Version         string   `xml:"version"`
	NumberOfRecords int      `xml:"numberOfRecords"`
}

KalliopeResponse ...

type LanguageInfo

type LanguageInfo struct {
	LanguageTerm LanguageTerm `xml:"languageTerm"`
	ScriptTerm   ScriptTerm   `xml:"scriptTerm"`
}

LanguageInfo ...

type LanguageTerm

type LanguageTerm struct {
	Value     string `xml:",chardata" json:"Value,omitempty"`
	Authority string `xml:"authority,attr" json:"Authority,omitempty"`
	Type      string `xml:"type,attr" json:"Type,omitempty"`
}

LanguageTerm ...

type Links struct {
	Reference    []Reference `xml:"reference",omitempty`    // required, repeatable
	Presentation string      `xml:"presentation",omitempty` // optional, not repeatable
	Sru          string      `xml:"sru",omitempty`          // optional, not repeatable
	Iiif         string      `xml:"iiif",omitempty`         // optional, not repeatable
}

Links ...

type LocationInfo

type LocationInfo struct {
	PhysicalLocationInfos []PhysicalLocationInfo `xml:"physicalLocation"`
	ShelfLocationInfos    []ShelfLocationInfo    `xml:"shelfLocator"`
}

LocationInfo ...

type LogToPhysLink struct {
	FromLogID string
	ToPhysIDs []Phys
	ESLog     ESLog
	LogLabel  string
}

LogToPhysLink ...

type Logo struct {
	ID      string       `json:"@id,omitempty"`     // URL to the metadata in a specific format
	Service *IiifService `json:"service,omitempty"` //
}

Logo ...

type MdWrap

type MdWrap struct {
	XMLName     xml.Name  `xml:"mdWrap"`
	MDTYPE      string    `xml:"MDTYPE,attr"`
	OTHERMDTYPE string    `xml:"OTHERMDTYPE,attr"`
	Rights      Rights    `xml:"xmlData>rights" json:"Rights,omitempty"` // required, not repeatable
	Links       Links     `xml:"xmlData>links" json:"Links,omitempty"`   // required, not repeatable
	GtStates    []GtState `xml:"xmlData>gt>state" json:"GtStates,omitempty"`
	Value       string    `xml:",chardata" json:"Value,omitempty"`
}

MdWrap ...

type Metadata

type Metadata struct {
	Label string   `json:"label,omitempty"` // name of a metadata property
	Value []string `json:"value"`           // value of the metadata property, possibly as link
}

Metadata ...

type Mets

type Mets struct {
	Context          string
	Product          string
	PID              string
	PrevPID          string
	PrevPIDs         []string
	IsGt             bool
	RecordIdentifier string
	WorkID           string
	IndexerJob       IndexerJob
	Doctype          string
	XMLName          xml.Name    `xml:"mets"`
	MetsHdr          MetsHdr     `xml:"metsHdr"`
	Dmdsecs          []Dmdsec    `xml:"dmdSec"`
	Amdsecs          []Amdsec    `xml:"amdSec"`     // required, repeatable
	Filesec          Filesec     `xml:"fileSec"`    // (required), not repeatable
	Structmaps       []Structmap `xml:"structMap"`  // required, repeatable (for TYPE: logical), not repeatable for physical structMap
	Structlink       Structlink  `xml:"structLink"` // (required), not repeatable
	NonModsDmdsecIDs []string
	GtDmdsecs        map[string]DmdsecCheck
}

Mets ..

type MetsHdr

type MetsHdr struct {
	XMLName    xml.Name    `xml:"metsHdr"`
	Createdate string      `xml:"CREATEDATE,attr"`
	Agent      []AgentInfo `xml:"agent"` // Processor chain, one element for each processor
}

MetsHdr ...

type Mptr

type Mptr struct {
	XMLName xml.Name `xml:"mptr"`
	Loctype string   `xml:"LOCTYPE,attr"`
	Href    string   `xml:"href,attr"`
}

Mptr ...

type NameInfo

type NameInfo struct {
	Type        string         `xml:"type,attr"`
	Displayform string         `xml:"displayForm"`
	Namepart    []NamePartInfo `xml:"namePart"`
	Date        string         `xml:"date"`
	Authority   string         `xml:"authority,attr"`
	ValueURI    string         `xml:"valueURI,attr"`
	Roleterm    RoletermInfo   `xml:"role>roleTerm"`
}

NameInfo ...

type NamePartInfo

type NamePartInfo struct {
	Value string `xml:",chardata" json:"Value,omitempty"`
	Type  string `xml:"type,attr"`
}

NamePartInfo ...

type NoteInfo

type NoteInfo struct {
	Value string `xml:",chardata" json:"Value,omitempty"`
	Type  string `xml:"type,attr" json:"type,omitempty"`
	ID    string `xml:"ID,attr" json:"id,omitempty"`
}

NoteInfo ...

type Order

type Order struct {
	Value int64
}

Order ...

func (Order) CurrentValue

func (order Order) CurrentValue() int64

CurrentValue ...

func (*Order) Increment

func (order *Order) Increment()

Increment ...

type OriginInfo

type OriginInfo struct {
	EventType    string         `xml:"eventType,attr" json:"event_type,omitempty"`  // values: {production|publication|digitization|distribution}
	Place        []Place        `xml:"place" json:"place,omitempty"`                // optinal, repeatable
	Publisher    []string       `xml:"publisher" json:"publisher,omitempty"`        // optinal, repeatable
	DateIssued   []DateIssued   `xml:"dateIssued" json:"date_issued,omitempty"`     // (required), repeatable
	DateCreated  []DateCreated  `xml:"dateCreated" json:"date_created,omitempty"`   // (required), repeatable
	DateCaptured []DateCaptured `xml:"dateCaptured" json:"date_captured,omitempty"` // optional, repeatable
	DateOther    []DateOther    `xml:"dateOther" json:"date_other,omitempty"`       // optional, repeatable
	Edition      string         `xml:"edition" json:"edition,omitempty"`            // optional, not repeatable
}

OriginInfo ...

type OtherContent

type OtherContent struct {
	ID string `json:"@id"` // URL of the page fulltext
}

OtherContent ..

type PageMeta

type PageMeta struct {
	Format     string `json:"format"`
	Page       string `json:"page"`
	PageKey    string `json:"page_key"`
	PageWidth  int32  `json:"page_width"`
	PageHeight int32  `json:"page_height"`
}

PageMeta ...

type Par

type Par struct {
	XMLName xml.Name `xml:"par"`

	Seq []Seq `xml:"seq"` // optional, not repeatable
}

Par ...

type Params

type Params struct {
	Q    string `json:"q"`
	Fl   string `json:"fl"`
	Rows string `json:"rows"`
	Wt   string `json:"wt"`
}

Params ..

type Parent

type Parent struct {
	ParentID                   string                 `json:"parent_id,omitempty"`
	RecordID                   string                 `json:"record_id,omitempty"`
	RecordIdentifier           string                 `json:"record_identifier,omitempty"`
	Log                        string                 `json:"log,omitempty"`
	Title                      *TitleInfo             `json:"title,omitempty"`
	Type                       string                 `json:"type,omitempty"`
	Issn                       string                 `json:"issn,omitempty"`
	Zdb                        string                 `json:"zdb,omitempty"`
	Dc                         []string               `json:"dc,omitempty"`
	DcOther                    []string               `json:"dc_other,omitempty"`
	DcOtherAuthority           []string               `json:"dc_other_authority,omitempty"`
	DcZvdd                     []string               `json:"dc_zvdd,omitempty"`
	DcDDC                      []string               `json:"dc_ddc,omitempty"`
	PublishInfos               *PublishInfo           `json:"publish_infos,omitempty"`
	CreatorInfos               []CreatorInfo          `json:"pcretor_infos,omitempty"`
	RightsAccessConditionInfos []RightAccessCondition `json:"rights_access_condition_infos,omitempty"`
	SubjectInfos               []SubjectInfo          `json:"subject_infos,omitempty"`
	Purl                       string                 `json:"purl,omitempty"`
	Catalogue                  string                 `json:"catalogue,omitempty"`
	RelatedItemInfos           []RelatedItemInfos     `json:"related_items_infos,omitempty"`
}

Parent ...

func (Parent) Equal

func (s Parent) Equal(o Parent) bool

Equal ...

func (Parent) IsEmpty

func (s Parent) IsEmpty() bool

IsEmpty ...

type ParentDivInfo

type ParentDivInfo struct {
	ParentID    string `json:"ParentID,omitempty"`
	ParentLabel string `json:"ParentLabel,omitempty"`
	ParentType  string `json:"ParentType,omitempty"`
}

ParentDivInfo ...

type PartInfo

type PartInfo struct {
	Order  string   `xml:"order,attr" json:"order,omitempty"`
	Detail []Detail `xml:"detail" json:"detail,omitempty"` // required, repeatable
}

PartInfo ...

type Periodical

type Periodical struct {
	XMLName   xml.Name `xml:"periodical"`
	FullTitle string   `xml:"full-title,omitempty"`
	Abbr1     string   `xml:"abbr-1,omitempty"`
}

Periodical ...

type PersonInfo

type PersonInfo struct {
	Type              string `json:"type,omitempty"`
	Name              string `json:"name,omitempty"`
	Roleterm          string `json:"roleterm,omitempty"`
	RoletermAuthority string `json:"roleterm_authority,omitempty"`
	RoletermType      string `json:"roleterm_type,omitempty"`
	GndURI            string `json:"gndURI,omitempty"`
	GndNumber         string `json:"gndNumber,omitempty"`
	Date              string `json:"date,omitempty"`
	DateString        string `json:"date_string,omitempty"`
}

PersonInfo ...

type Phys

type Phys struct {
	Order int64
	To    string
}

Phys ...

type PhysAttrSortSlice

type PhysAttrSortSlice []PhysicalAttributes

func (PhysAttrSortSlice) Len

func (d PhysAttrSortSlice) Len() int

Len is part of sort.Interface.

func (PhysAttrSortSlice) Less

func (d PhysAttrSortSlice) Less(i, j int) bool

Less is part of sort.Interface. We use count as the value to sort by

func (PhysAttrSortSlice) Swap

func (d PhysAttrSortSlice) Swap(i, j int)

Swap is part of sort.Interface.

type PhysToLogLink struct {
	PhysID      string
	LogID       string
	LogPosition int64
	LogType     string
}

PhysToLogLink ...

type PhysicalAttributes

type PhysicalAttributes struct {
	ID             string
	DMDID          string
	AMDID          string
	Order          string
	OrderValue     int64
	Orderlabel     string
	Type           string
	ContentID      string
	UseToFileIDMap map[string]string
	FileIDsArr     []string
	DivPosition    int64
}

PhysicalAttributes ...

type PhysicalDescriptionInfo

type PhysicalDescriptionInfo struct {
	DigitalOrigin string   `xml:"digitalOrigin" json:"digitalOrigin,omitempty"` // optional, not repeatable
	Extent        []string `xml:"extent" json:"extent,omitempty"`               // optional, repeatable
	Scripttype    string   `xml:"scripttype" json:"scripttype,omitempty"`       // optional, not repeatable
}

PhysicalDescriptionInfo ...

type PhysicalLocationInfo

type PhysicalLocationInfo struct {
	Value string `xml:",chardata" json:"Value,omitempty"`
	Type  string `xml:"type,attr" json:"Type,omitempty"`
}

PhysicalLocationInfo ...

type Place

type Place struct {
	PlaceTerm []PlaceTerm `xml:"placeTerm" json:"place_term,omitempty"` // // required, repeatabley
}

Place ...

type PlaceTerm

type PlaceTerm struct {
	Type         string `xml:"type,attr" json:"type,omitempty"`                 // values: {text|code}
	Authority    string `xml:"authority,attr" json:"authority,omitempty"`       //
	AuthorityURI string `xml:"authorityURI,attr" json:"authorityURI,omitempty"` //
	ValueURI     string `xml:"valueURI,attr" json:"valueURI,omitempty"`         //
	Value        string `xml:",chardata" json:"value,omitempty"`                //
}

PlaceTerm ...

type PrevInfo

type PrevInfo struct {
	Work     string   `json:"work"`
	PID      string   `json:"pid"`
	PrevPIDs []string `json:"prevPIDs"`
}

PrevInfo ...

type PubDate

type PubDate struct {
	XMLName xml.Name `xml:"pub-dates"`
	Date    string   `xml:"date"`
}

PubDate ...

type PublishInfo

type PublishInfo struct {
	// publish -> date_issued or date_created
	EventType           string   `json:"event_type,omitempty"`           //
	Place               []string `json:"place_publish,omitempty"`        //
	PlaceInfo           []Place  `json:"place_info,omitempty"`           //
	Publisher           []string `json:"publisher,omitempty"`            //
	PublisherNormalized []string `json:"publisher_normalized,omitempty"` //
	YearPublishString   string   `json:"year_publish_string,omitempty"`  //
	YearPublish         int64    `json:"year_publish,omitempty"`         //
	YearPublishStart    int64    `json:"year_publish_start,omitempty"`   //
	YearPublishEnd      int64    `json:"year_publish_end,omitempty"`     //
	Edition             string   `json:"edition,omitempty"`              //
}

PublishInfo ...

func GetPublishInfo

func GetPublishInfo(oi OriginInfo, product string, ccontext string) *PublishInfo

GetPublishInfo ...

type RangeJSON

type RangeJSON struct {
	Type        string   `json:"@type"` // always set to "sc:Range"
	ID          string   `json:"@id"`
	Label       string   `json:"label,omitempty"`
	ViewingHint string   `json:"viewingHint,omitempty"`
	Members     []string `json:"members"`
}

RangeJSON ..

type Record

type Record struct {
	XMLName        xml.Name      `xml:"record"`
	EndnoteRefType RefType       `xml:"ref-type,omitempty"` // 6->book, 17->journal article
	Contributors   []Contributor `xml:"contributors,omitempty"`
	Titles         *Title        `xml:"titles,omitempty"`
	Periodical     *Periodical   `xml:"periodical,omitempty"`
	Pages          string        `xml:"pages,omitempty"`
	Volume         string        `xml:"volume,omitempty"`
	Number         string        `xml:"number,omitempty"`
	Edition        string        `xml:"edition,omitempty"`
	Dates          *Date         `xml:"dates,omitempty"`
	PubLocation    []string      `xml:"pub-location,omitempty"`
	Publisher      []string      `xml:"publisher,omitempty"`
	ISSN           string        `xml:"issn,omitempty"`
	Language       string        `xml:"language,omitempty"`
	URLs           URL           `xml:"urls,omitempty"`
}

Record ...

type RecordInfo

type RecordInfo struct {
	Recordidentifier    Recordidentifier `xml:"recordIdentifier" json:"Recordidentifier,omitempty"`       // required, not repeatable
	RecordInfoNote      RecordInfoNote   `xml:"recordInfoNote" json:"RecordInfoNote,omitempty"`           // required, not repeatable
	DescriptionStandard string           `xml:"descriptionStandard" json:"DescriptionStandard,omitempty"` // optional, not repeatable
}

RecordInfo ...

type RecordInfoNote

type RecordInfoNote struct {
	Type  string `xml:"type,attr" json:"Type,omitempty"`
	Value string `xml:",chardata" json:"Value,omitempty"`
}

RecordInfoNote ...

type Recordidentifier

type Recordidentifier struct {
	Source string `xml:"source,attr" json:"Source,omitempty"`
	Value  string `xml:",chardata" json:"Value,omitempty"`
}

Recordidentifier ...

type RefType

type RefType struct {
	XMLName xml.Name `xml:"ref-type"`
	Name    string   `xml:"name,attr"`
	Value   string   `xml:",chardata"`
}

RefType ...

type Reference

type Reference struct {
	Linktext string `xml:"linktext,attr"`
	Value    string `xml:",chardata" json:"value,omitempty"`
}

Reference ...

type Related struct {
	ID     string `json:"@id"`             // URL to the metadata in a specific format
	Label  string `json:"label,omitempty"` // label, e.g. "PDF download"
	Format string `json:"format"`          // mimetype of the resource
}

Related ..

type RelatedItemInfos

type RelatedItemInfos struct {
	RelateditemType             string `json:"relateditem_type,omitempty"`
	RelateditemTitle            string `json:"relateditem_title,omitempty"`
	RelateditemID               string `json:"relateditem_id,omitempty"`
	RelateditemTitlePartname    string `json:"relateditem_title_partname,omitempty"`
	RelateditemTitleAbbreviated string `json:"relateditem_title_abbreviated,omitempty"`
	RelateditemNote             string `json:"relateditem_note,omitempty"`
}

RelatedItemInfos ...

type Relateditem

type Relateditem struct {
	Type             string      `xml:"type,attr" json:"relateditem_type,omitempty"`
	TitleInfo        []TitleInfo `xml:"titleInfo" json:"titleInfo,omitempty"`
	RelateditemTitle string      `json:"relateditem_title,omitempty"`
	RecordInfo       RecordInfo  `xml:"recordInfo" json:"recordInfo,omitempty"` // (required), not repeatable
	RelateditemID    string      `json:"relateditem_id,omitempty"`              // (required), not repeatable
	PartInfo         *PartInfo   `xml:"part"`                                   // (required), not repeatable
	RelateditemNote  string      `xml:"note" json:"note,omitempty"`
}

Relateditem ...

type Rendering

type Rendering struct {
	ID     string `json:"@id,omitempty"`    // URL to the metadata in a specific format
	Label  string `json:"label,omitempty"`  // label, e.g. "PDF download"
	Format string `json:"format,omitempty"` // mimetype of the resource
}

Rendering ..

type ReturnDmdsecMap

type ReturnDmdsecMap struct {
	DmdsecMap map[string]Dmdsec
	Size      int32
}

ReturnDmdsecMap ...

type RightAccessCondition

type RightAccessCondition struct {
	Type                string `json:"type,omitempty"`
	Value               string `json:"access_condition,omitempty"`
	URL                 string `json:"url,omitempty"`
	Copyright           string `json:"copyright,omitempty"`
	License             string `json:"license,omitempty"`
	LicenseDisplaylabel string `json:"license_displaylabel,omitempty"`
	NormalizedPublisher string `json:"normalized_publisher,omitempty"`
}

RightAccessCondition ...

type Rights

type Rights struct {
	Owner             string `xml:"owner" json:"rights_owner,omitempty"`                     // required, not repeatable
	OwnerSiteURL      string `xml:"ownerSiteURL" json:"rights_owner_site_url,omitempty"`     // required, not repeatable
	OwnerContact      string `xml:"ownerContact" json:"rights_owner_contact,omitempty"`      // required, not repeatable
	Aggregator        string `xml:"aggregator" json:"aggregator,omitempty"`                  // optional, not repeatable
	AggregatorSiteURL string `xml:"aggregatorSiteURL" json:"aggregator_site_url,omitempty"`  // optional, not repeatable
	Sponsor           string `xml:"sponsor" json:"rights_sponsor,omitempty"`                 // optional, not repeatable
	SponsorSiteURL    string `xml:"sponsorSiteURL" json:"rights_sponsor_site_url,omitempty"` // optional, not repeatable
	License           string `xml:"license" json:"rights_license,omitempty"`                 // optional, not repeatable
}

Rights ...

type RightsMD

type RightsMD struct {
	ID     string `xml:"ID,attr"`
	MdWrap MdWrap `xml:"mdWrap"` // required, not repeatable
}

RightsMD ...

type RoletermInfo

type RoletermInfo struct {
	Value     string `xml:",chardata" json:"Value,omitempty"`
	Authority string `xml:"authority,attr" json:"Authority,omitempty"`
	Type      string `xml:"type,attr" json:"Type,omitempty"`
}

RoletermInfo ...

type ScriptTerm

type ScriptTerm struct {
	Value string `xml:",chardata" json:"Value,omitempty"`
	Type  string `xml:"type,attr" json:"Type,omitempty"`
}

ScriptTerm ...

type Seq

type Seq struct {
	XMLName xml.Name `xml:"seq"`
	Order   int16
	Type    string

	Area []Area `xml:"area"` // optional, not repeatable
}

Seq ...

type Sequence

type Sequence struct {
	Type             string   `json:"@type"`           // always set to "sc:Sequence"
	ID               string   `json:"@id"`             // identifier (URI) of the Sequence
	Label            string   `json:"label,omitempty"` // label for the sequence, always set to "Current Page Order"
	StartCanvas      string   `json:"startCanvas"`     // URI of the first canvas to be displayed
	ViewingDirection string   `json:"viewingDirection"`
	ViewingHint      string   `json:"viewingHint"`
	Canvases         []Canvas `json:"canvases"` // ordered list of Canvases
}

Sequence ...

type ShelfLocationInfo

type ShelfLocationInfo struct {
	Value string `xml:",chardata" json:"Value,omitempty"`
	Type  string `xml:"type,attr" json:"Type,omitempty"` // not really required
}

ShelfLocationInfo ...

type Shelfmark

type Shelfmark struct {
	Shelfmark string `json:"shelfmark,omitempty"` // ???
}

Shelfmark ...

type Smlink struct {
	XMLName xml.Name `xml:"smLink"`
	From    string   `xml:"from,attr"`
	To      string   `xml:"to,attr"`
}

Smlink ..

type SolrDocGDZ

type SolrDocGDZ struct {
	// logical elements
	Bycreator              string   `json:"bycreator,omitempty"`
	Byperson               string   `json:"byperson,omitempty"`
	Bytitle                string   `json:"bytitle,omitempty"`
	Creator                []string `json:"creator,omitempty"`
	CreatorType            []string `json:"creator_type,omitempty"`
	CreatorGNDURI          []string `json:"creator_gndURI,omitempty"`
	CreatorGNDNumber       []string `json:"creator_gndNumber,omitempty"`
	CreatorRoleterm        []string `json:"creator_roleterm,omitempty"`
	FacetCreatorPersonal   []string `json:"facet_creator_personal,omitempty"`
	FacetCreatorCorporate  []string `json:"facet_creator_corporate,omitempty"`
	Person                 []string `json:"person,omitempty"`
	PersonType             []string `json:"person_type,omitempty"`
	PersonGNDURI           []string `json:"person_gndURI,omitempty"`
	PersonGNDNumber        []string `json:"person_gndNumber,omitempty"`
	PersonRoleterm         []string `json:"person_roleterm,omitempty"`
	FacetPersonPersonal    []string `json:"facet_person_personal,omitempty"`
	FacetPersonCorporate   []string `json:"facet_person_corporate,omitempty"`
	Currentno              string   `json:"currentno,omitempty"`
	Currentnosort          int64    `json:"currentnosort,omitempty"`
	DateIndexed            string   `json:"date_indexed,omitempty"`
	DateModified           string   `json:"date_modified,omitempty"`
	Dc                     []string `json:"dc,omitempty"`
	DcAuthority            []string `json:"dc_authority,omitempty"`
	Docstrct               string   `json:"docstrct,omitempty"` // monograph, volume
	Doctype                string   `json:"doctype,omitempty"`  // work, collection, log, anchor
	LogID                  []string `json:"log_id,omitempty"`
	LogType                []string `json:"log_type,omitempty"`
	LogLabel               []string `json:"log_label,omitempty"`
	LogDmdID               []string `json:"log_dmdid,omitempty"`
	LogAdmid               []string `json:"log_admid,omitempty"`
	LogLevel               []int8   `json:"log_level,omitempty"`
	LogIndex               []int64  `json:"log_index,omitempty"` // todo add to schema.xml
	LogOrder               []int64  `json:"log_order,omitempty"` // todo add to schema.xml
	LogStartPageIndex      []int64  `json:"log_start_page_index,omitempty"`
	LogEndPageIndex        []int64  `json:"log_end_page_index,omitempty"`
	LogPartProduct         []string `json:"log_part_product,omitempty"`
	LogPartWork            []string `json:"log_part_work,omitempty"`
	LogPartKey             []string `json:"log_part_key,omitempty"`
	TitlePage              string   `json:"title_page,omitempty"` // todo add to schema.xml
	ID                     string   `json:"id,omitempty"`
	RecordIdentifier       string   `json:"record_identifier,omitempty"`
	Identifier             []string `json:"identifier,omitempty"`
	Issn                   string   `json:"issn,omitempty"`
	Isanchor               bool     `json:"isanchor"`
	Iswork                 bool     `json:"iswork"`
	Sponsor                []string `json:"sponsor,omitempty"`
	Genre                  []string `json:"genre,omitempty"`
	NormalizedGenre        []string `json:"facet_normalized_genre,omitempty"`
	NormalizedPlaceTerm    []string `json:"facet_normalized_place_term,omitempty"`
	Lang                   []string `json:"lang,omitempty"`
	Scriptterm             []string `json:"scriptterm,omitempty"`
	Note                   []string `json:"note,omitempty"`
	NoteType               []string `json:"note_type,omitempty"`
	Place                  []string `json:"place_publish,omitempty"`
	Publisher              []string `json:"publisher,omitempty"`
	YearPublishString      string   `json:"year_publish_string,omitempty"`
	YearPublish            int64    `json:"year_publish,omitempty"`
	YearPublishStart       int64    `json:"year_publish_start,omitempty"`
	YearPublishEnd         int64    `json:"year_publish_end,omitempty"`
	PublishEdition         string   `json:"edition,omitempty"`
	PlaceDigitization      []string `json:"place_digitization,omitempty"`
	PublisherDigitization  []string `json:"publisher_digitization,omitempty"`
	YearDigitizationString string   `json:"year_digitization_string,omitempty"`
	YearDigitization       int64    `json:"year_digitization,omitempty"`
	YearDigitizationStart  int64    `json:"year_digitization_start,omitempty"`
	YearDigitizationEnd    int64    `json:"year_digitization_end,omitempty"`
	DigitizationEdition    string   `json:"edition_digitization,omitempty"`
	DigitalOrigin          []string `json:"phys_desc_digitalOrigin,omitempty"`
	Extent                 []string `json:"phys_desc_extent,omitempty"`
	Purl                   string   `json:"purl,omitempty"`
	Catalogue              string   `json:"catalogue,omitempty"`

	// TODO this must be standardised across the projects. this has to be discussed with ali
	// GDZ referenced via relateditem_*, NLH references via parentdoc_*
	RelateditemID                      []string `json:"relateditem_id,omitempty"`
	RelateditemTitle                   []string `json:"relateditem_title,omitempty"`
	RelateditemTitleAbbreviated        []string `json:"relateditem_title_abbreviated,omitempty"`
	RelateditemNote                    []string `json:"relateditem_note,omitempty"`
	RelateditemType                    []string `json:"relateditem_type,omitempty"`
	ParentdocID                        []string `json:"parentdoc_id,omitempty"`
	ParentdocTitle                     []string `json:"parentdoc_title,omitempty"`
	ParentdocTitleAbbreviated          []string `json:"parentdoc_title_abbreviated,omitempty"`
	ParentdocTitlePartname             []string `json:"parentdoc_title_partname,omitempty"`
	ParentdocNote                      []string `json:"parentdoc_note,omitempty"`
	ParentdocType                      []string `json:"parentdoc_type,omitempty"`
	ParentdocWork                      []string `json:"parentdoc_work,omitempty"`
	ParentdocLabel                     []string `json:"parentdoc_label,omitempty"`
	AccessCondition                    string   `json:"rights_access_condition,omitempty"`
	Owner                              string   `json:"rights_owner,omitempty"`
	OwnerSiteURL                       string   `json:"rights_owner_site_url,omitempty"`
	OwnerContact                       string   `json:"rights_owner_contact,omitempty"`
	RightsLicense                      string   `json:"rights_license,omitempty"`
	RightsReference                    string   `json:"rights_reference,omitempty"`
	RightsSponsor                      string   `json:"rights_sponsor,omitempty"`
	LicenseForMetadata                 []string `json:"license_for_metadata,omitempty"`
	LicenseForUseAndReproduction       []string `json:"license_for_use_and_reproduction,omitempty"`
	Subject                            []string `json:"subject,omitempty"`
	SubjectType                        []string `json:"subject_type,omitempty"`
	FacetSubjectGeographic             []string `json:"facet_subject_geographic,omitempty"`
	FacetSubjectTopic                  []string `json:"facet_subject_topic,omitempty"`
	FacetSubjectTemporal               []string `json:"facet_subject_temporal,omitempty"`
	FacetSubjectHierarchicalGeographic []string `json:"facet_subject_hierarchicalGeographic,omitempty"`
	Shelfmark                          []string `json:"shelfmark,omitempty"`
	Title                              []string `json:"title,omitempty"`
	Subtitle                           []string `json:"subtitle,omitempty"`
	Sorttitle                          []string `json:"sorttitle,omitempty"`
	IssueNumber                        string   `json:"issue_number,omitempty"`
	VolumeNumber                       string   `json:"volume_number,omitempty"`
	Work                               string   `json:"work,omitempty"`
	Collection                         string   `json:"collection,omitempty"`
	Context                            string   `json:"context,omitempty"`
	Product                            string   `json:"product,omitempty"`
	Productseries                      string   `json:"productseries_ss,omitempty"`

	// physical elements
	PhysImageFormat    string               `json:"image_format,omitempty"`
	PhysFirstPageIndex int64                `json:"phys_first_page_index,omitempty"`
	PhysLastPageIndex  int64                `json:"phys_last_page_index,omitempty"`
	PhysOrder          []int64              `json:"phys_order,omitempty"`
	PhysOrderlabel     []string             `json:"phys_orderlabel,omitempty"`
	Page               []string             `json:"page,omitempty"`
	PageKey            []string             `json:"page_key,omitempty"`
	Fulltext           []string             `json:"fulltext,omitempty"`
	SolrLogChildDocs   []SolrLogChildDocGDZ `json:"_childDocuments_,omitempty"`
}

SolrDocGDZ ..

type SolrDocNLH

type SolrDocNLH struct {
	// logical elements
	Bycreator             string   `json:"bycreator,omitempty"`
	Byperson              string   `json:"byperson,omitempty"`
	Bytitle               string   `json:"bytitle,omitempty"`
	Creator               []string `json:"creator,omitempty"`
	CreatorType           []string `json:"creator_type,omitempty"`
	CreatorGNDURI         []string `json:"creator_gndURI,omitempty"`
	CreatorDate           []string `json:"creator_date,omitempty"`
	CreatorDateString     []string `json:"creator_date_string,omitempty"`
	CreatorRoleterm       []string `json:"creator_roleterm,omitempty"`
	FacetCreatorPersonal  []string `json:"facet_creator_personal,omitempty"`
	FacetCreatorCorporate []string `json:"facet_creator_corporate,omitempty"`
	Person                []string `json:"person,omitempty"`
	PersonType            []string `json:"person_type,omitempty"`
	PersonGNDURI          []string `json:"person_gndURI,omitempty"`
	PersonDate            []string `json:"person_date,omitempty"`
	PersonDateString      []string `json:"person_date_string,omitempty"`
	PersonRoleterm        []string `json:"person_roleterm,omitempty"`
	FacetPersonPersonal   []string `json:"facet_person_personal,omitempty"`
	FacetPersonCorporate  []string `json:"facet_person_corporate,omitempty"`
	Currentno             string   `json:"currentno,omitempty"`
	Currentnosort         int64    `json:"currentnosort,omitempty"`
	DateIndexed           string   `json:"date_indexed,omitempty"`
	DateModified          string   `json:"date_modified,omitempty"`
	Dc                    []string `json:"dc,omitempty"`
	DcAuthority           []string `json:"dc_authority,omitempty"`
	Docstrct              string   `json:"docstrct,omitempty"` // monograph, volume
	Doctype               string   `json:"doctype,omitempty"`  // work, collection, log, anchor
	LogID                 []string `json:"log_id,omitempty"`
	LogType               []string `json:"log_type,omitempty"`
	LogLabel              []string `json:"log_label,omitempty"`
	LogDmdID              []string `json:"log_dmdid,omitempty"`
	LogAdmid              []string `json:"log_admid,omitempty"`
	LogLevel              []int8   `json:"log_level,omitempty"`
	LogIndex              []int64  `json:"log_index,omitempty"` // todo add to schema.xml
	LogOrder              []int64  `json:"log_order,omitempty"` // todo add to schema.xml
	LogStartPageIndex     []int64  `json:"log_start_page_index,omitempty"`
	LogEndPageIndex       []int64  `json:"log_end_page_index,omitempty"`
	LogPartProduct        []string `json:"log_part_product,omitempty"`
	LogPartWork           []string `json:"log_part_work,omitempty"`
	LogPartKey            []string `json:"log_part_key,omitempty"`

	LogFullpage      []string `json:"log_fullpage_s,omitempty"`
	LogFullpageCoord []string `json:"log_fullpage_coord_s,omitempty"`
	LogFulltextID    []string `json:"log_fulltext_id_s,omitempty"`
	LogFulltext      []string `json:"log_fulltext_s,omitempty"`

	TitlePage              string   `json:"title_page,omitempty"` // todo add to schema.xml
	ID                     string   `json:"id,omitempty"`
	RecordIdentifier       string   `json:"record_identifier,omitempty"`
	Identifier             []string `json:"identifier,omitempty"`
	Issn                   string   `json:"issn,omitempty"`
	Isanchor               bool     `json:"isanchor"`
	Iswork                 bool     `json:"iswork"`
	Sponsor                []string `json:"sponsor,omitempty"`
	Genre                  []string `json:"genre,omitempty"`
	NormalizedGenre        []string `json:"facet_normalized_genre,omitempty"`
	NormalizedPlaceTerm    []string `json:"facet_normalized_place_term,omitempty"`
	Lang                   []string `json:"lang,omitempty"`
	Scriptterm             []string `json:"scriptterm,omitempty"`
	Note                   []string `json:"note,omitempty"`
	NoteType               []string `json:"note_type,omitempty"`
	Place                  []string `json:"place_publish,omitempty"`
	Publisher              []string `json:"publisher,omitempty"`
	YearPublishString      string   `json:"year_publish_string,omitempty"`
	YearPublish            int64    `json:"year_publish,omitempty"`
	YearPublishStart       int64    `json:"year_publish_start,omitempty"`
	YearPublishEnd         int64    `json:"year_publish_end,omitempty"`
	PublishEdition         string   `json:"edition,omitempty"`
	PlaceDigitization      []string `json:"place_digitization,omitempty"`
	PublisherDigitization  []string `json:"publisher_digitization,omitempty"`
	YearDigitizationString string   `json:"year_digitization_string,omitempty"`
	YearDigitization       int64    `json:"year_digitization,omitempty"`
	YearDigitizationStart  int64    `json:"year_digitization_start,omitempty"`
	YearDigitizationEnd    int64    `json:"year_digitization_end,omitempty"`
	DigitizationEdition    string   `json:"edition_digitization,omitempty"`
	DigitalOrigin          []string `json:"phys_desc_digitalOrigin,omitempty"`
	Extent                 []string `json:"phys_desc_extent,omitempty"`
	Purl                   string   `json:"purl,omitempty"`

	// TODO this must be standardised across the projects. this has to be discussed with ali
	// GDZ referenced via relateditem_*, NLH references via parentdoc_*
	RelateditemID                      []string `json:"relateditem_id,omitempty"`
	RelateditemTitle                   []string `json:"relateditem_title,omitempty"`
	RelateditemTitleAbbreviated        []string `json:"relateditem_title_abbreviated,omitempty"`
	RelateditemTitlePartname           []string `json:"relateditem_title_partname,omitempty"`
	RelateditemNote                    []string `json:"relateditem_note,omitempty"`
	RelateditemType                    []string `json:"relateditem_type,omitempty"`
	ParentdocID                        []string `json:"parentdoc_id,omitempty"`
	ParentdocTitle                     []string `json:"parentdoc_title,omitempty"`
	ParentdocTitleAbbreviated          []string `json:"parentdoc_title_abbreviated,omitempty"`
	ParentdocTitlePartname             []string `json:"parentdoc_title_partname,omitempty"`
	ParentdocNote                      []string `json:"parentdoc_note,omitempty"`
	ParentdocType                      []string `json:"parentdoc_type,omitempty"`
	ParentdocWork                      []string `json:"parentdoc_work,omitempty"`
	ParentdocLabel                     []string `json:"parentdoc_label,omitempty"`
	Owner                              string   `json:"rights_owner,omitempty"`
	OwnerSiteURL                       string   `json:"rights_owner_site_url,omitempty"`
	OwnerContact                       string   `json:"rights_owner_contact,omitempty"`
	RightsLicense                      string   `json:"rights_license,omitempty"`
	RightsReference                    string   `json:"rights_reference,omitempty"`
	RightsSponsor                      string   `json:"rights_sponsor,omitempty"`
	Subject                            []string `json:"subject,omitempty"`
	SubjectType                        []string `json:"subject_type,omitempty"`
	FacetSubjectGeographic             []string `json:"facet_subject_geographic,omitempty"`
	FacetSubjectTopic                  []string `json:"facet_subject_topic,omitempty"`
	FacetSubjectTemporal               []string `json:"facet_subject_temporal,omitempty"`
	FacetSubjectHierarchicalGeographic []string `json:"facet_subject_hierarchicalGeographic,omitempty"`
	Shelfmark                          []string `json:"shelfmark,omitempty"`
	Title                              []string `json:"title,omitempty"`
	TitleOriginal                      []string `json:"title_original,omitempty"`
	Subtitle                           []string `json:"subtitle,omitempty"`
	Sorttitle                          []string `json:"sorttitle,omitempty"`
	Partname                           []string `json:"partname,omitempty"`
	Partnumber                         []int64  `json:"partnumber,omitempty"`
	TitleAbbreviated                   []string `json:"title_abbreviated,omitempty"`
	TitleAlternative                   []string `json:"title_alternative,omitempty"`
	PeriodicalName                     []string `json:"periodical_name,omitempty"`
	IssueNumber                        string   `json:"issue_number,omitempty"`
	VolumeNumber                       string   `json:"volume_number,omitempty"`
	Work                               string   `json:"work,omitempty"`
	Collection                         string   `json:"collection,omitempty"`
	Context                            string   `json:"context,omitempty"`
	Product                            string   `json:"product,omitempty"`
	Productseries                      string   `json:"productseries_ss,omitempty"`
	NaviYear                           int64    `json:"navi_year,omitempty"`   // todo add to schema.xml
	NaviMonth                          int64    `json:"navi_month,omitempty"`  // todo add to schema.xml
	NaviDay                            int64    `json:"navi_day,omitempty"`    // todo add to schema.xml
	NaviString                         string   `json:"navi_string,omitempty"` // todo add to schema.xml
	NaviDate                           string   `json:"navi_date,omitempty"`   // todo add to schema.xml

	// physical elements
	PhysImageFormat    string               `json:"image_format,omitempty"`
	PhysFirstPageIndex int64                `json:"phys_first_page_index,omitempty"`
	PhysLastPageIndex  int64                `json:"phys_last_page_index,omitempty"`
	PhysOrder          []int64              `json:"phys_order,omitempty"`
	PhysOrderlabel     []string             `json:"phys_orderlabel,omitempty"`
	Page               []string             `json:"page,omitempty"`
	PageKey            []string             `json:"page_key,omitempty"`
	Fulltext           []string             `json:"fulltext,omitempty"`
	SolrLogChildDocs   []SolrLogChildDocNLH `json:"_childDocuments_,omitempty"`
}

SolrDocNLH ..

type SolrFulltextDoc

type SolrFulltextDoc struct {
	ID             string   `json:"id,omitempty"`
	FT             string   `json:"ft,omitempty"`
	FTOfWork       string   `json:"ft_of_work,omitempty"`
	FTPageNumber   int64    `json:"ft_page_number,omitempty"`
	Doctype        string   `json:"doctype,omitempty"`
	WorkID         string   `json:"work_id,omitempty"`
	Product        string   `json:"product,omitempty"`
	Productseries  string   `json:"productseries_ss,omitempty"`
	LogType        []string `json:"log_type,omitempty"`
	IsContribution bool     `json:"iscontribution,omitempty"`
}

SolrFulltextDoc ..

type SolrLogChildDocGDZ

type SolrLogChildDocGDZ struct {
	Bycreator              string   `json:"bycreator,omitempty"`
	Byperson               string   `json:"byperson,omitempty"`
	Bytitle                string   `json:"bytitle,omitempty"`
	Creator                []string `json:"creator,omitempty"`
	CreatorType            []string `json:"creator_type,omitempty"`
	CreatorGNDURI          []string `json:"creator_gndURI,omitempty"`
	CreatorGNDNumber       []string `json:"creator_gndNumbber,omitempty"`
	CreatorRoleterm        []string `json:"creator_roleterm,omitempty"`
	FacetCreatorPersonal   []string `json:"facet_creator_personal,omitempty"`
	FacetCreatorCorporate  []string `json:"facet_creator_corporate,omitempty"`
	Person                 []string `json:"person,omitempty"`
	PersonType             []string `json:"person_type,omitempty"`
	PersonGNDURI           []string `json:"person_gndURI,omitempty"`
	PersonGNDNumber        []string `json:"person_gndNumber,omitempty"`
	PersonRoleterm         []string `json:"person_roleterm,omitempty"`
	FacetPersonPersonal    []string `json:"facet_person_personal,omitempty"`
	FacetPersonCorporate   []string `json:"facet_person_corporate,omitempty"`
	Currentno              string   `json:"currentno,omitempty"`
	Currentnosort          int64    `json:"currentnosort,omitempty"`
	Dc                     []string `json:"dc,omitempty"`
	DcAuthority            []string `json:"dc_authority,omitempty"`
	Doctype                string   `json:"doctype,omitempty"` // work, collection, log, anchor
	LogID                  []string `json:"log_id,omitempty"`
	LogType                []string `json:"log_type,omitempty"`
	LogLabel               []string `json:"log_label,omitempty"`
	LogDmdID               string   `json:"log_dmdid,omitempty"`
	LogAdmid               []string `json:"log_admid,omitempty"`
	LogLevel               []int8   `json:"log_level,omitempty"`
	LogOrder               []int64  `json:"log_order,omitempty"` // todo add to schema.xml
	LogStartPageIndex      []int64  `json:"log_start_page_index,omitempty"`
	LogEndPageIndex        []int64  `json:"log_end_page_index,omitempty"`
	LogPartProduct         []string `json:"log_part_product,omitempty"`
	LogPartWork            []string `json:"log_part_work,omitempty"`
	LogPartKey             []string `json:"log_part_key,omitempty"`
	ID                     string   `json:"id,omitempty"`
	RecordIdentifier       string   `json:"record_identifier,omitempty"`
	Identifier             []string `json:"identifier,omitempty"`
	Sponsor                []string `json:"sponsor,omitempty"`
	Genre                  []string `json:"genre,omitempty"`
	NormalizedGenre        []string `json:"facet_normalized_genre,omitempty"`
	NormalizedPlaceTerm    []string `json:"normalized_place_term,omitempty"`
	IsContribution         bool     `json:"iscontribution,omitempty"`
	Lang                   []string `json:"lang,omitempty"`
	Scriptterm             []string `json:"scriptterm,omitempty"`
	Note                   []string `json:"note,omitempty"`
	NoteType               []string `json:"note_type,omitempty"`
	Place                  []string `json:"place_publish,omitempty"`
	Publisher              []string `json:"publisher,omitempty"`
	YearPublishString      string   `json:"year_publish_string,omitempty"`
	YearPublish            int64    `json:"year_publish,omitempty"`
	YearPublishStart       int64    `json:"year_publish_start,omitempty"`
	YearPublishEnd         int64    `json:"year_publish_end,omitempty"`
	PublishEdition         string   `json:"edition,omitempty"`
	PlaceDigitization      []string `json:"place_digitization,omitempty"`
	PublisherDigitization  []string `json:"publisher_digitization,omitempty"`
	YearDigitizationString string   `json:"year_digitization_string,omitempty"`
	YearDigitization       int64    `json:"year_digitization,omitempty"`
	YearDigitizationStart  int64    `json:"year_digitization_start,omitempty"`
	YearDigitizationEnd    int64    `json:"year_digitization_end,omitempty"`
	DigitizationEdition    string   `json:"edition_digitization,omitempty"`
	DigitalOrigin          []string `json:"phys_desc_digitalOrigin,omitempty"`
	Extent                 []string `json:"phys_desc_extent,omitempty"`
	Purl                   string   `json:"purl,omitempty"`
	Catalogue              string   `json:"catalogue,omitempty"`

	// TODO this must be standardised across the projects. this has to be discussed with ali
	// GDZ referenced via relateditem_*, NLH references via parentdoc_*
	RelateditemID                      []string `json:"relateditem_id,omitempty"`
	RelateditemTitle                   []string `json:"relateditem_title,omitempty"`
	RelateditemTitleAbbreviated        []string `json:"relateditem_title_abbreviated,omitempty"`
	RelateditemNote                    []string `json:"relateditem_note,omitempty"`
	RelateditemType                    []string `json:"relateditem_type,omitempty"`
	ParentdocID                        []string `json:"parentdoc_id,omitempty"`
	ParentdocTitle                     []string `json:"parentdoc_title,omitempty"`
	ParentdocTitleAbbreviated          []string `json:"parentdoc_title_abbreviated,omitempty"`
	ParentdocTitlePartname             []string `json:"parentdoc_title_partname,omitempty"`
	ParentdocNote                      []string `json:"parentdoc_note,omitempty"`
	ParentdocType                      []string `json:"parentdoc_type,omitempty"`
	ParentdocWork                      []string `json:"parentdoc_work,omitempty"`
	ParentdocLabel                     []string `json:"parentdoc_label,omitempty"`
	AccessCondition                    string   `json:"rights_access_condition,omitempty"`
	Owner                              string   `json:"rights_owner,omitempty"`
	OwnerSiteURL                       string   `json:"rights_owner_site_url,omitempty"`
	OwnerContact                       string   `json:"rights_owner_contact,omitempty"`
	RightsLicense                      string   `json:"rights_license,omitempty"`
	RightsReference                    string   `json:"rights_reference,omitempty"`
	RightsSponsor                      string   `json:"rights_sponsor,omitempty"`
	Subject                            []string `json:"subject,omitempty"`
	SubjectType                        []string `json:"subject_type,omitempty"`
	FacetSubjectGeographic             []string `json:"facet_subject_geographic,omitempty"`
	FacetSubjectTopic                  []string `json:"facet_subject_topic,omitempty"`
	FacetSubjectTemporal               []string `json:"facet_subject_temporal,omitempty"`
	FacetSubjectHierarchicalGeographic []string `json:"facet_subject_hierarchicalGeographic,omitempty"`
	Shelfmark                          []string `json:"shelfmark,omitempty"`
	Title                              []string `json:"title,omitempty"`
	Subtitle                           []string `json:"subtitle,omitempty"`
	Sorttitle                          []string `json:"sorttitle,omitempty"`
	IssueNumber                        string   `json:"issue_number,omitempty"`
	VolumeNumber                       string   `json:"volume_number,omitempty"`
	WorkID                             string   `json:"work_id,omitempty"`
	Context                            string   `json:"context,omitempty"`
	Product                            string   `json:"product,omitempty"`
	Productseries                      string   `json:"productseries_ss,omitempty"`
}

SolrLogChildDocGDZ ..

type SolrLogChildDocNLH

type SolrLogChildDocNLH struct {
	Bycreator              string   `json:"bycreator,omitempty"`
	Byperson               string   `json:"byperson,omitempty"`
	Bytitle                string   `json:"bytitle,omitempty"`
	Creator                []string `json:"creator,omitempty"`
	CreatorType            []string `json:"creator_type,omitempty"`
	CreatorGNDURI          []string `json:"creator_gndURI,omitempty"`
	CreatorGNDNumber       []string `json:"creator_gndNumbber,omitempty"`
	CreatorDate            []string `json:"creator_date,omitempty"`
	CreatorDateString      []string `json:"creator_date_string,omitempty"`
	CreatorRoleterm        []string `json:"creator_roleterm,omitempty"`
	FacetCreatorPersonal   []string `json:"facet_creator_personal,omitempty"`
	FacetCreatorCorporate  []string `json:"facet_creator_corporate,omitempty"`
	Person                 []string `json:"person,omitempty"`
	PersonType             []string `json:"person_type,omitempty"`
	PersonGNDURI           []string `json:"person_gndURI,omitempty"`
	PersonGNDNumber        []string `json:"person_gndNumber,omitempty"`
	PersonDate             []string `json:"person_date,omitempty"`
	PersonDateString       []string `json:"person_date_string,omitempty"`
	PersonRoleterm         []string `json:"person_roleterm,omitempty"`
	FacetPersonPersonal    []string `json:"facet_person_personal,omitempty"`
	FacetPersonCorporate   []string `json:"facet_person_corporate,omitempty"`
	Currentno              string   `json:"currentno,omitempty"`
	Currentnosort          int64    `json:"currentnosort,omitempty"`
	Dc                     []string `json:"dc,omitempty"`
	DcAuthority            []string `json:"dc_authority,omitempty"`
	Doctype                string   `json:"doctype,omitempty"` // work, collection, log, anchor
	LogID                  []string `json:"log_id,omitempty"`
	LogType                []string `json:"log_type,omitempty"`
	LogLabel               []string `json:"log_label,omitempty"`
	LogDmdID               string   `json:"log_dmdid,omitempty"`
	LogAdmid               []string `json:"log_admid,omitempty"`
	LogLevel               []int8   `json:"log_level,omitempty"`
	LogIndex               []int64  `json:"log_index,omitempty"` // todo add to schema.xml
	LogOrder               []int64  `json:"log_order,omitempty"` // todo add to schema.xml
	LogStartPageIndex      []int64  `json:"log_start_page_index,omitempty"`
	LogEndPageIndex        []int64  `json:"log_end_page_index,omitempty"`
	LogPartProduct         []string `json:"log_part_product,omitempty"`
	LogPartWork            []string `json:"log_part_work,omitempty"`
	LogPartKey             []string `json:"log_part_key,omitempty"`
	LogTitlePageIndex      int64    `json:"log_title_page_index,omitempty"` // todo add to schema.xml
	ID                     string   `json:"id,omitempty"`
	RecordIdentifier       string   `json:"record_identifier,omitempty"`
	Identifier             []string `json:"identifier,omitempty"`
	Sponsor                []string `json:"sponsor,omitempty"`
	Genre                  []string `json:"genre,omitempty"`
	NormalizedGenre        []string `json:"facet_normalized_genre,omitempty"`
	NormalizedPlaceTerm    []string `json:"facet_normalized_place_term,omitempty"`
	IsContribution         bool     `json:"iscontribution,omitempty"`
	Lang                   []string `json:"lang,omitempty"`
	Scriptterm             []string `json:"scriptterm,omitempty"`
	Note                   []string `json:"note,omitempty"`
	NoteType               []string `json:"note_type,omitempty"`
	Place                  []string `json:"place_publish,omitempty"`
	Publisher              []string `json:"publisher,omitempty"`
	YearPublishString      string   `json:"year_publish_string,omitempty"`
	YearPublish            int64    `json:"year_publish,omitempty"`
	YearPublishStart       int64    `json:"year_publish_start,omitempty"`
	YearPublishEnd         int64    `json:"year_publish_end,omitempty"`
	PublishEdition         string   `json:"edition,omitempty"`
	PlaceDigitization      []string `json:"place_digitization,omitempty"`
	PublisherDigitization  []string `json:"publisher_digitization,omitempty"`
	YearDigitizationString string   `json:"year_digitization_string,omitempty"`
	YearDigitization       int64    `json:"year_digitization,omitempty"`
	YearDigitizationStart  int64    `json:"year_digitization_start,omitempty"`
	YearDigitizationEnd    int64    `json:"year_digitization_end,omitempty"`
	DigitizationEdition    string   `json:"edition_digitization,omitempty"`
	DigitalOrigin          []string `json:"phys_desc_digitalOrigin,omitempty"`
	Extent                 []string `json:"phys_desc_extent,omitempty"`
	Purl                   string   `json:"purl,omitempty"`
	Catalogue              string   `json:"catalogue,omitempty"`

	// TODO this must be standardised across the projects. this has to be discussed with ali
	// GDZ referenced via relateditem_*, NLH references via parentdoc_*
	RelateditemID                      []string `json:"relateditem_id,omitempty"`
	RelateditemTitle                   []string `json:"relateditem_title,omitempty"`
	RelateditemTitleAbbreviated        []string `json:"relateditem_title_abbreviated,omitempty"`
	RelateditemTitlePartname           []string `json:"relateditem_title_partname,omitempty"`
	RelateditemNote                    []string `json:"relateditem_note,omitempty"`
	RelateditemType                    []string `json:"relateditem_type,omitempty"`
	ParentdocID                        []string `json:"parentdoc_id,omitempty"`
	ParentdocTitle                     []string `json:"parentdoc_title,omitempty"`
	ParentdocTitleAbbreviated          []string `json:"parentdoc_title_abbreviated,omitempty"`
	ParentdocTitlePartname             []string `json:"parentdoc_title_partname,omitempty"`
	ParentdocNote                      []string `json:"parentdoc_note,omitempty"`
	ParentdocType                      []string `json:"parentdoc_type,omitempty"`
	ParentdocWork                      []string `json:"parentdoc_work,omitempty"`
	ParentdocLabel                     []string `json:"parentdoc_label,omitempty"`
	AccessCondition                    string   `json:"rights_access_condition,omitempty"`
	Owner                              string   `json:"rights_owner,omitempty"`
	OwnerSiteURL                       string   `json:"rights_owner_site_url,omitempty"`
	OwnerContact                       string   `json:"rights_owner_contact,omitempty"`
	RightsLicense                      string   `json:"rights_license,omitempty"`
	RightsReference                    string   `json:"rights_reference,omitempty"`
	RightsSponsor                      string   `json:"rights_sponsor,omitempty"`
	Subject                            []string `json:"subject,omitempty"`
	SubjectType                        []string `json:"subject_type,omitempty"`
	FacetSubjectGeographic             []string `json:"facet_subject_geographic,omitempty"`
	FacetSubjectTopic                  []string `json:"facet_subject_topic,omitempty"`
	FacetSubjectTemporal               []string `json:"facet_subject_temporal,omitempty"`
	FacetSubjectHierarchicalGeographic []string `json:"facet_subject_hierarchicalGeographic,omitempty"`
	Shelfmark                          []string `json:"shelfmark,omitempty"`
	Title                              []string `json:"title,omitempty"`
	TitleOriginal                      []string `json:"title_original,omitempty"`
	Subtitle                           []string `json:"subtitle,omitempty"`
	Sorttitle                          []string `json:"sorttitle,omitempty"`
	Partname                           []string `json:"partname,omitempty"`
	Partnumber                         []int64  `json:"partnumber,omitempty"`
	TitleAbbreviated                   []string `json:"title_abbreviated,omitempty"`
	TitleAlternative                   []string `json:"title_alternative,omitempty"`
	IssueNumber                        string   `json:"issue_number,omitempty"`
	VolumeNumber                       string   `json:"volume_number,omitempty"`
	WorkID                             string   `json:"work_id,omitempty"`
	Context                            string   `json:"context,omitempty"`
	Product                            string   `json:"product,omitempty"`
	Productseries                      string   `json:"productseries_ss,omitempty"`
}

SolrLogChildDocNLH ..

type SolrResponseBodyGDZ

type SolrResponseBodyGDZ struct {
	NumFound int64        `json:"numFound"`
	Start    int64        `json:"start"`
	Docs     []SolrDocGDZ `json:"docs"`
}

SolrResponseBodyGDZ ...

type SolrResponseBodyNLH

type SolrResponseBodyNLH struct {
	NumFound int64        `json:"numFound"`
	Start    int64        `json:"start"`
	Docs     []SolrDocNLH `json:"docs"`
}

SolrResponseBodyNLH ...

type SolrResponseGDZ

type SolrResponseGDZ struct {
	ResponseHeader SolrResponseHeader  `json:"responseHeader"`
	Response       SolrResponseBodyGDZ `json:"response"`
}

SolrResponseGDZ ...

type SolrResponseHeader

type SolrResponseHeader struct {
	Status int64   `json:"status"`
	QTime  float64 `json:"QTime"`
	Params Params  `json:"params"`
}

SolrResponseHeader ..

type SolrResponseNLH

type SolrResponseNLH struct {
	ResponseHeader SolrResponseHeader  `json:"responseHeader"`
	Response       SolrResponseBodyNLH `json:"response"`
}

SolrResponseNLH ...

type SponsorshipInfo

type SponsorshipInfo struct {
	Value string `xml:",chardata" json:"Value,omitempty"`
}

SponsorshipInfo ...

type Structlink struct {
	XMLName xml.Name `xml:"structLink"`
	ID      string   `xml:"ID,attr"`
	Smlink  []Smlink `xml:"smLink"` // required, repeatable
}

Structlink ...

type Structmap

type Structmap struct {
	XMLName xml.Name `xml:"structMap"`
	Type    string   `xml:"TYPE,attr"`
	Divs    []Div    `xml:"div"` // required, repeatable
}

Structmap ...

type Structrun

type Structrun struct {
	Currentno                  []string               `json:"currentno,omitempty"`
	Currentnosort              int64                  `json:"currentnosort,omitempty"`
	ParentID                   string                 `json:"parent_id,omitempty"`
	PublishInfos               *PublishInfo           `json:"publish_infos,omitempty"`
	CreatorInfos               []CreatorInfo          `json:"creator_infos,omitempty"`
	RightsAccessConditionInfos []RightAccessCondition `json:"rights_access_condition_infos,omitempty"`
	Title                      *TitleInfo             `json:"title,omitempty"` // ???
	Type                       string                 `json:"type,omitempty"`
	Dc                         []string               `json:"dc,omitempty"`
	Issn                       string                 `json:"issn,omitempty"`
	Zdb                        string                 `json:"zdb,omitempty"`
	Purl                       string                 `json:"purl,omitempty"`
	Catalogue                  string                 `json:"catalogue,omitempty"`
}

Structrun ...

func (Structrun) Equal

func (s Structrun) Equal(o Structrun) bool

Equal ...

func (Structrun) IsEmpty

func (s Structrun) IsEmpty() bool

IsEmpty ...

type Structure

type Structure struct {
	Type             string      `json:"@type"`           // always set to "sc:Range"
	ID               string      `json:"@id"`             // identifier (URI) of the Structure
	Label            string      `json:"label,omitempty"` // label for the Structure, e.g. "Table of Contents"
	ViewingDirection string      `json:"viewingDirection,omitempty"`
	ViewingHint      string      `json:"viewingHint,omitempty"` // e.g. "top"
	Metadata         []Metadata  `json:"metadata"`              // list of metadata values
	Rendering        []Rendering `json:"rendering,omitempty"`   // ordered list of related Canvases
	Within           string      `json:"within,omitempty"`
	SeeAlso          []Dataset   `json:"seeAlso,omitempty"`
	Canvases         []string    `json:"canvases"` // ordered list of related Canvases
}

Structure ..

type SubjectInfo

type SubjectInfo struct {
	Type                   string                   `json:"type,omitempty"`
	Value                  string                   `xml:",chardata" json:"subject,omitempty"`
	Authority              string                   `xml:"authority,attr" json:"authority,omitempty"`
	AuthorityURI           string                   `xml:"authorityURI,attr" json:"authorityURI,omitempty"`
	Topics                 []Topic                  `xml:"topic" json:"topic,omitempty"`                                   // optional, repeatable
	HierarchicalGeographic []HierarchicalGeographic `xml:"hierarchicalGeographic" json:"hierarchicalGeographic,omitempty"` // optional, repeatable
	Geographics            []Geographic             `xml:"geographic" json:"geographic,omitempty"`                         // optional, repeatable
	Temporal               []Temporal               `xml:"temporal" json:"temporal,omitempty"`                             // optional, repeatable
	TitleInfo              []TitleInfo              `xml:"titleInfo" json:"titleInfo,omitempty"`                           // optional, repeatable
	NameInfo               []NameInfo               `xml:"name" json:"name,omitempty"`                                     // optional, repeatable
}

SubjectInfo ...

type Temporal

type Temporal struct {
	Value    string `xml:",chardata" json:"Value,omitempty"`
	ValueURI string `xml:"valueURI,attr" json:"ValueURI,omitempty"`
}

Temporal ...

type Title

type Title struct {
	XMLName        xml.Name `xml:"titles"`
	Title          string   `xml:"title,omitempty"`
	SecondaryTitle string   `xml:"secondary-title,omitempty"`
}

Title ...

type TitleInfo

type TitleInfo struct {
	Type             string `xml:"type,attr" json:"type,omitempty"`
	AuthorityURI     string `xml:"authorityURI,attr" json:"authority_URI,omitempty"` // URI der Normdatei
	ValueURI         string `xml:"valueURI,attr" json:"ValueURI,omitempty"`          // URI des Sachtitels
	Title            string `xml:"title" json:"title,omitempty"`                     // required, not repeatable
	TitleOriginal    string `json:"title_original,omitempty"`                        // required, not repeatable
	Subtitle         string `xml:"subTitle" json:"subtitle,omitempty"`               // optinal, not repeatable
	Nonsort          string `xml:"nonSort" json:"-"`                                 // optinal, repeatable
	Sorttitle        string `json:"sorttitle,omitempty"`                             // optinal, repeatable
	Partname         string `xml:"partName" json:"partname,omitempty"`               // optinal, repeatable
	PartnumberOrig   string `xml:"partNumber" json:"-"`                              // optinal, repeatable
	Partnumber       int64  `json:"partnumber,omitempty"`                            // optinal, repeatable
	TitleAbbreviated string `json:"title_abbreviated,omitempty"`                     // required, not repeatable
	TitleAlternative string `json:"title_alternative,omitempty"`                     // required, not repeatable
	TitleUniform     string `json:"title_uniform,omitempty"`                         // required, not repeatable
}

TitleInfo ...

func ConvertTitleInfo

func ConvertTitleInfo(titleInfo *TitleInfo) *TitleInfo

ConvertTitleInfo ...

type Topic

type Topic struct {
	Value    string `xml:",chardata" json:"Value,omitempty"`
	ValueURI string `xml:"valueURI,attr" json:"ValueURI,omitempty"`
}

Topic ...

type URL

type URL struct {
	XMLName xml.Name `xml:"urls"`
	URL     string   `xml:"text-url>url"`
}

URL ...

Jump to

Keyboard shortcuts

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