types

package
v0.0.0-...-95bfc10 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2020 License: Apache-2.0 Imports: 6 Imported by: 0

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"`
	Value string `xml:",chardata"`
}

AccessCondition ...

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 ClassificationInfo

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

ClassificationInfo ...

type CreatorInfo

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

CreatorInfo ...

type DateCaptured

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

DateCaptured ...

type DateCreated

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

DateCreated ...

type DateIssued

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

DateIssued ...

type DateOther

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

DateOther ...

type Detail

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

Detail ...

type DigiprovMD

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

DigiprovMD ...

type DigiprovMdWrap

type DigiprovMdWrap struct {
	MDTYPE      string `xml:"MDTYPE,attr"`
	OTHERMDTYPE string `xml:"OTHERMDTYPE,attr"`
	Links       Links  `xml:"xmlData>links"` // required, not repeatable
}

DigiprovMdWrap ...

type DigitizationInfo

type DigitizationInfo struct {
	// digitization -> date_captured
	EventType              string   `json:"event_type,omitempty" bson:"event_type,omitempty"`                             //
	PlaceDigitization      string   `json:"place_digitization,omitempty" bson:"place_digitization,omitempty"`             //
	PlaceInfo              []Place  `json:"place_info,omitempty" bson:"place_info,omitempty"`                             //
	PublisherDigitization  string   `json:"publisher_digitization,omitempty" bson:"publisher_digitization,omitempty"`     //
	PublisherInfo          []string `json:"publisher_info,omitempty" bson:"publisher_info,omitempty"`                     //
	YearDigitizationString string   `json:"year_digitization_string,omitempty" bson:"year_digitization_string,omitempty"` //
	YearDigitization       int64    `json:"year_digitization,omitempty" bson:"year_digitization,omitempty"`               //
	YearDigitizationStart  int64    `json:"year_digitization_start,omitempty" bson:"year_digitization_start,omitempty"`   //
	YearDigitizationEnd    int64    `json:"year_digitization_end,omitempty" bson:"year_digitization_end,omitempty"`       //
	//DateOther                []DateOther `json:"date_other,omitempty" bson:"date_other,omitempty"`                             //
	Edition string `json:"edition_digitization,omitempty" bson:"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    // helper
	IsPartOfMultivolumework bool     // helper

	// logical and physical
	ID    string `xml:"ID,attr"`
	Type  string `xml:"TYPE,attr"`
	DmdID string `xml:"DMDID,attr"`
	Divs  []Div  `xml:"div"` // required, repeatable

	ParentID   string // helper
	ParentWork string // helper
	ParentLog  string // helper
	WorkID     string // helper

	// 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"`
	Admid string `xml:"ADMID,attr"`
	Mptr  Mptr   `xml:"mptr"` // optional, not repeatable

	DivPosition int64 // helper
	Level       int8  // helper
}

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"`

	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"`
	Mdtype  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
	LogCollection  *mongo.Collection
	PhysCollection *mongo.Collection
}

ESDoc ...

type ESLog

type ESLog struct {
	Bycreator     string        `json:"bycreator,omitempty" bson:"bycreator,omitempty"`
	Byperson      string        `json:"byperson,omitempty" bson:"byperson,omitempty"`
	Bytitle       string        `json:"bytitle,omitempty" bson:"bytitle,omitempty"`
	Catalogue     string        `json:"catalogue,omitempty" bson:"catalogue,omitempty"`
	Collection    string        `json:"collection,omitempty" bson:"collection,omitempty"`
	ContentID     string        `json:"contentid,omitempty" bson:"contentid,omitempty"`
	Context       string        `json:"context,omitempty" bson:"context,omitempty"`
	CreatorInfos  []CreatorInfo `json:"creator_infos,omitempty" bson:"creator_infos,omitempty"`
	Currentno     []string      `json:"currentno,omitempty" bson:"currentno,omitempty"`
	Currentnosort int64         `json:"currentnosort,omitempty" bson:"currentnosort,omitempty"`
	DateIndexed   string        `json:"date_indexed,omitempty" bson:"date_indexed,omitempty"`
	DateModified  string        `json:"date_modified,omitempty" bson:"date_modified,omitempty"`
	Dc            []string      `json:"dc,omitempty" bson:"dc,omitempty"`
	DcZvdd        []string      `json:"dc_zvdd,omitempty" bson:"dc_zvdd,omitempty"`
	DcDDC         []string      `json:"dc_ddc,omitempty" bson:"dc_ddc,omitempty"`
	DmdID         string        `json:"dmdid,omitempty" bson:"dmdid,omitempty"`
	Log           string        `json:"log,omitempty" bson:"log,omitempty"`
	// todo via copy-field (same as "id")
	LogID          string       `json:"log_id,omitempty" bson:"log_id,omitempty"`
	Doctype        string       `json:"doctype,omitempty" bson:"doctype,omitempty"`
	ID             string       `json:"id,omitempty" bson:"id,omitempty"`
	Hosts          []string     `json:"host,omitempty" bson:"host,omitempty"`
	Precedings     []string     `json:"preceding,omitempty" bson:"preceding,omitempty"`
	Series         []string     `json:"series,omitempty" bson:"series,omitempty"`
	Succeedings    []string     `json:"succeeding,omitempty" bson:"succeeding,omitempty"`
	Identifier     []string     `json:"identifier,omitempty" bson:"identifier,omitempty"`
	IdentifierInfo []Identifier `json:"identifier_info,omitempty" bson:"identifier_info,omitempty"`
	Isanchor       bool         `json:"isanchor" bson:"isanchor"`
	Iscontribution bool         `json:"iscontribution" bson:"iscontribution"`
	Isparent       bool         `json:"isparent" bson:"isparent"`
	Issn           string       `json:"issn,omitempty" bson:"issn,omitempty"`
	Iswork         bool         `json:"iswork" bson:"iswork"`
	Label          string       `json:"label,omitempty" bson:"label,omitempty"`
	Lang           []string     `json:"lang,omitempty" bson:"lang,omitempty"`
	Genre          []string     `json:"genre,omitempty" bson:"genre,omitempty"`
	Scriptterm     []string     `json:"scriptterm,omitempty" bson:"scriptterm,omitempty"`
	Level          int8         `json:"level,omitempty" bson:"level,omitempty"`

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

	// todo, fill from mods>NameInfo (all)
	PersonInfos              []PersonInfo             `json:"person_infos,omitempty" bson:"person_infos,omitempty"`
	PhysicalDescriptionInfos *PhysicalDescriptionInfo `json:"physical_description_infos,omitempty" bson:"physical_description_infos,omitempty"`
	Product                  string                   `json:"product,omitempty" bson:"product,omitempty"`
	PublishInfos             *PublishInfo             `json:"publish_infos,omitempty" bson:"publish_infos,omitempty"`
	DigitizationInfos        *DigitizationInfo        `json:"digitization_infos,omitempty" bson:"digitization_infos,omitempty"`
	Purl                     string                   `json:"purl,omitempty" bson:"purl,omitempty"`
	RecordIdentifier         string                   `json:"record_identifier,omitempty" bson:"record_identifier,omitempty"`
	// indexing simplified
	RelatedItemInfos []RelatedItemInfos `json:"related_items_infos,omitempty" bson:"related_items_infos,omitempty"`
	ParentDivInfo    ParentDivInfo      `json:"parent_div_info,omitempty" bson:"parent_div_info,omitempty"`

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

	//LogStartPhysID             string                   `json:"log_start_phys_id,omitempty" bson:"log_start_phys_id,omitempty"` // ???
	//LogEndPhysID               string                   `json:"log_end_phys_id,omitempty" bson:"log_end_phys_id,omitempty"`     // ???
	IsExportDataCreated bool `json:"export_data_created" bson:"export_data_created"`
}

ESLog ...

type ESLogHits

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

ESHits ...

type ESLogResponse

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

ESResponse ..

type ESPhys

type ESPhys struct {
	Bycreator                  string   `json:"bycreator,omitempty" bson:"bycreator,omitempty"`
	ContentID                  string   `json:"content_id,omitempty" bson:"content_id,omitempty"`
	ContentIDChangedAt         string   `json:"content_id_changed_at,omitempty" bson:"content_id_changed_at,omitempty"`
	Currentno                  []string `json:"currentno,omitempty" bson:"currentno,omitempty"`
	Currentnosort              int64    `json:"currentnosort,omitempty" bson:"currentnosort,omitempty"`
	DateIndexed                string   `json:"date_indexed,omitempty" bson:"date_indexed,omitempty"`
	DateModified               string   `json:"date_modified,omitempty" bson:"date_modified,omitempty"`
	Dc                         []string `json:"dc,omitempty" bson:"dc,omitempty"`
	DcZvdd                     []string `json:"dc_zvdd,omitempty" bson:"dc_zvdd,omitempty"`
	DcDDC                      []string `json:"dc_ddc,omitempty" bson:"dc_ddc,omitempty"`
	FulltextExist              bool
	Fulltext                   string                 `json:"fulltext,omitempty" bson:"fulltext,omitempty"`
	FulltextNotAnalysed        string                 `json:"fulltext_not_analysed,omitempty" bson:"fulltext_not_analysed,omitempty"`
	ID                         string                 `json:"id,omitempty" bson:"id,omitempty"`
	Iscontribution             bool                   `json:"iscontribution" bson:"iscontribution"`
	Label                      string                 `json:"label,omitempty" bson:"label,omitempty"`
	Log                        string                 `json:"log,omitempty" bson:"log,omitempty"`
	LogID                      string                 `json:"log_id,omitempty" bson:"log_id,omitempty"`
	Order                      int64                  `json:"order,omitempty" bson:"order,omitempty"`
	Orderlabel                 string                 `json:"orderlabel,omitempty" bson:"orderlabel,omitempty"`
	Filename                   string                 `json:"filename,omitempty" bson:"filename,omitempty"`
	Format                     string                 `json:"format,omitempty" bson:"format,omitempty"`
	Page                       string                 `json:"page,omitempty" bson:"page,omitempty"`
	PageKey                    string                 `json:"page_key,omitempty" bson:"page_key,omitempty"`
	Parent                     *Parent                `json:"parent,omitempty" bson:"parent,omitempty"`
	Phys                       string                 `json:"phys,omitempty" bson:"phys,omitempty"`
	PublishInfos               *PublishInfo           `json:"publish_infos,omitempty" bson:"publish_infos,omitempty"`
	RightsAccessConditionInfos []RightAccessCondition `json:"rights_access_condition_infos,omitempty" bson:"rights_access_condition_infos,omitempty"`
	StartPageIndex             int64                  `json:"start_page_index" bson:"start_page_index"`
	// todo document new field
	EndPageIndex    int64       `json:"end_page_index" bson:"end_page_index"`
	Structrun       []Structrun `json:"structrun,omitempty" bson:"structrun,omitempty"`
	Title           *TitleInfo  `json:"title,omitempty" bson:"title,omitempty"` // ???
	Type            string      `json:"type,omitempty" bson:"type,omitempty"`   // ???
	Work            string      `json:"work,omitempty" bson:"work,omitempty"`   // ???
	Mimetype        string      `json:"mimetype,omitempty" bson:"mimetype,omitempty"`
	Externalcontent bool        // helper
	Index           int64       // helper
}

ESPhys ...

type ESSourceHits

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

ESSourceHits ...

type FLocat

type FLocat struct {
	XMLName xml.Name `xml:"FLocat"`
	Loctype string   `xml:"Loctype,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"`
}

Fptr ..

type GatheredIntoInfo

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

GatheredIntoInfo ...

type GenreInfo

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

GenreInfo ...

type Geographic

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

Geographic ...

type HierarchicalGeographic

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

HierarchicalGeographic ...

type ID

type ID struct {
	IsRecordID bool
	Type       string
	Value      string
}

ID ...

type Identifier

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

Identifier ...

type Indexer

type Indexer interface {
	WriteToIndex() string
}

Indexer ...

type IndexerJob

type IndexerJob struct {
	Document string `json:"document"` // document == ID
	Key      string `json:"inkey"`
	Product  string `json:"product"` // product == bucket
	Context  string `json:"context"`
	//Product string `json:"product"`
	Reindex bool   `json:"reindex"`
	Ftype   string `json:"ftype"` // fulltext type HTML, TXT_1, TXT_2, TEI_2
}

IndexerJob ...

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"`
	Authority string `xml:"authority,attr"`
	Type      string `xml:"type,attr"`
}

LanguageTerm ...

type Links struct {
	Reference    []Reference `xml:"reference"`    // required, repeatable
	Presentation string      `xml:"presentation"` // optional, not repeatable
	Sru          string      `xml:"sru"`          // optional, not repeatable
	Iiif         string      `xml:"iiif"`         // 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
	// Start_page_index int64
	// End_page_index   int64
	// LogStart_physID string
	// LogEnd_physID   string
	ESLog    ESLog
	LogLabel string
}

LogToPhysLink ...

type MdWrap

type MdWrap struct {
	Value string `xml:"MDTYPE,attr"`
}

MdWrap ...

type Mets

type Mets struct {
	Context          string
	Product          string
	RecordIdentifier string
	WorkID           string     // helper
	IndexerJob       IndexerJob // helper
	Doctype          string
	XMLName          xml.Name    `xml:"mets"`
	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    // helper
}

Mets ..

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"`
	GndURI      string         `xml:"gndURI"`
	GndNumber   string         `xml:"gndNumber"`
	Roleterm    RoletermInfo   `xml:"role>roleTerm"`
}

NameInfo ...

type NamePartInfo

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

NamePartInfo ...

type NoteInfo

type NoteInfo struct {
	Value string `xml:",chardata" json:"value,omitempty" bson:"value,omitempty"`
	Type  string `xml:"type,attr" json:"type,omitempty" bson:"type,omitempty"`
	ID    string `xml:"ID,attr" json:"id,omitempty" bson:"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" bson:"event_type,omitempty"`     // values: {production|publication|digitization|distribution}
	Place        []Place        `xml:"place" json:"place,omitempty" bson:"place,omitempty"`                        // optinal, repeatable
	Publisher    []string       `xml:"publisher" json:"publisher,omitempty" bson:"publisher,omitempty"`            // optinal, repeatable
	DateIssued   []DateIssued   `xml:"dateIssued" json:"date_issued,omitempty" bson:"date_issued,omitempty"`       // (required), repeatable
	DateCreated  []DateCreated  `xml:"dateCreated" json:"date_created,omitempty" bson:"date_created,omitempty"`    // (required), repeatable
	DateCaptured []DateCaptured `xml:"dateCaptured" json:"date_captured,omitempty" bson:"date_captured,omitempty"` // optional, repeatable
	DateOther    []DateOther    `xml:"dateOther" json:"date_other,omitempty" bson:"date_other,omitempty"`          // optional, repeatable
	Edition      string         `xml:"edition" json:"edition,omitempty" bson:"edition,omitempty"`                  // optional, not repeatable
}

OriginInfo ...

type PageMeta

type PageMeta struct {
	Page    string `json:"page" bson:"page"`
	PageKey string `json:"page_key" bson:"page_key"`
}

PageMeta ...

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" bson:"parent_id,omitempty"`
	RecordID                   string                 `json:"record_id,omitempty" bson:"record_id,omitempty"`
	Log                        string                 `json:"log,omitempty" bson:"log,omitempty"`
	Title                      *TitleInfo             `json:"title,omitempty" bson:"title,omitempty"`
	Type                       string                 `json:"type,omitempty" bson:"type,omitempty"`
	Issn                       string                 `json:"issn,omitempty" bson:"issn,omitempty"`
	Zdb                        string                 `json:"zdb,omitempty" bson:"zdb,omitempty"`
	Dc                         []string               `json:"dc,omitempty" bson:"dc,omitempty"`
	DcZvdd                     []string               `json:"dc_zvdd,omitempty" bson:"dc_zvdd,omitempty"`
	DcDDC                      []string               `json:"dc_ddc,omitempty" bson:"dc_ddc,omitempty"`
	PublishInfos               *PublishInfo           `json:"publish_infos,omitempty" bson:"publish_infos,omitempty"`
	RightsAccessConditionInfos []RightAccessCondition `json:"rights_access_condition_infos,omitempty" bson:"rights_access_condition_infos,omitempty"`
	Purl                       string                 `json:"purl,omitempty" bson:"purl,omitempty"`
	Catalogue                  string                 `json:"catalogue,omitempty" bson:"catalogue,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 // helper
	ParentLabel string // helper
	ParentType  string // helper

}

ParentDivInfo ...

type PartInfo

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

}

PartInfo ...

type PersonInfo

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

PersonInfo ...

type Phys

type Phys struct {
	Order int64
	To    string
}

Phys ...

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

PhysToLogLink ...

type PhysicalAttributes

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

PhysicalAttributes ...

type PhysicalDescriptionInfo

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

PhysicalDescriptionInfo ...

type PhysicalLocationInfo

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

PhysicalLocationInfo ...

type Place

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

Place ...

type PlaceTerm

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

PlaceTerm ...

type PublishInfo

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

PublishInfo ...

func GetPublishInfo

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

GetPublishInfo ...

type RecordInfo

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

RecordInfo ...

type Recordidentifier

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

Recordidentifier ...

type Reference

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

Reference ...

type RelatedItemInfos

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

RelatedItemInfos ...

type Relateditem

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

Relateditem ...

type ReturnDmdsecMap

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

ReturnDmdsecMap ...

type RightAccessCondition

type RightAccessCondition struct {
	Value string `json:"access_condition,omitempty" bson:"access_condition,omitempty"`
	URL   string `json:"url,omitempty" bson:"url,omitempty"`
}

RightAccessCondition ...

type Rights

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

}

Rights ...

type RightsMD

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

RightsMD ...

type RightsMdWrap

type RightsMdWrap struct {
	MDTYPE      string `xml:"MDTYPE,attr"`
	OTHERMDTYPE string `xml:"OTHERMDTYPE,attr"`
	Rights      Rights `xml:"xmlData>rights"` // required, not repeatable
	Links       Links  `xml:"xmlData>links"`  // required, not repeatable
}

RightsMdWrap ...

type RoletermInfo

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

RoletermInfo ...

type ScriptTerm

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

ScriptTerm ...

type ShelfLocationInfo

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

ShelfLocationInfo ...

type Shelfmark

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

Shelfmark ...

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

Smlink ..

type SolrDoc

type SolrDoc struct {
	Bycreator string `json:"bycreator,omitempty" bson:"bycreator,omitempty"`
	Byperson  string `json:"byperson,omitempty" bson:"byperson,omitempty"`
	Bytitle   string `json:"bytitle,omitempty" bson:"bytitle,omitempty"`

	Creator               []string `json:"creator,omitempty" bson:"creator,omitempty"`
	CreatorType           []string `json:"creator_type,omitempty" bson:"creator_type,omitempty"`
	CreatorGNDURI         []string `json:"creator_gndURI,omitempty" bson:"creator_gndURI,omitempty"`
	CreatorDate           []string `json:"creator_date,omitempty" bson:"creator_date,omitempty"`
	CreatorDateString     []string `json:"creator_date_string,omitempty" bson:"creator_date_string,omitempty"`
	CreatorRoleterm       []string `json:"creator_roleterm,omitempty" bson:"creator_roleterm,omitempty"`
	FacetCreatorPersonal  []string `json:"facet_creator_personal,omitempty" bson:"facet_creator_personal,omitempty"`
	FacetCreatorCorporate []string `json:"facet_creator_corporate,omitempty" bson:"facet_creator_corporate,omitempty"`

	Person               []string `json:"person,omitempty" bson:"person,omitempty"`
	PersonType           []string `json:"person_type,omitempty" bson:"person_type,omitempty"`
	PersonGNDURI         []string `json:"person_gndURI,omitempty" bson:"person_gndURI,omitempty"`
	PersonDate           []string `json:"person_date,omitempty" bson:"person_date,omitempty"`
	PersonDateString     []string `json:"person_date_string,omitempty" bson:"person_date_string,omitempty"`
	PersonRoleterm       []string `json:"person_roleterm,omitempty" bson:"person_roleterm,omitempty"`
	FacetPersonPersonal  []string `json:"facet_person_personal,omitempty" bson:"facet_person_personal,omitempty"`
	FacetPersonCorporate []string `json:"facet_person_corporate,omitempty" bson:"facet_person_corporate,omitempty"`

	Currentno     string `json:"currentno,omitempty" bson:"currentno,omitempty"`
	Currentnosort int64  `json:"currentnosort,omitempty" bson:"currentnosort,omitempty"`

	DateIndexed  string `json:"date_indexed,omitempty" bson:"date_indexed,omitempty"`
	DateModified string `json:"date_modified,omitempty" bson:"date_modified,omitempty"`

	Dc          []string `json:"dc,omitempty" bson:"dc,omitempty"`
	DcAuthority []string `json:"dc_authority,omitempty" bson:"dc_authority,omitempty"`

	Docstrct string `json:"docstrct,omitempty" bson:"docstrct,omitempty"` // monograph, volume
	Doctype  string `json:"doctype,omitempty" bson:"doctype,omitempty"`   // work, collection, log, anchor

	LogID             []string `json:"log_id,omitempty" bson:"log_id,omitempty"`
	LogType           []string `json:"log_type,omitempty" bson:"log_type,omitempty"`
	LogLabel          []string `json:"log_label,omitempty" bson:"log_label,omitempty"`
	LogDmdID          []string `json:"log_dmdid,omitempty" bson:"log_dmdid,omitempty"`
	LogAdmid          []string `json:"log_admid,omitempty" bson:"log_admid,omitempty"`
	LogLevel          []int8   `json:"log_level,omitempty" bson:"log_level,omitempty"`
	LogIndex          []int64  `json:"log_index,omitempty" bson:"log_index,omitempty"` // todo add to schema.xml
	LogOrder          []int64  `json:"log_order,omitempty" bson:"log_order,omitempty"` // todo add to schema.xml
	LogStartPageIndex []int64  `json:"log_start_page_index,omitempty" bson:"log_start_page_index,omitempty"`
	LogEndPageIndex   []int64  `json:"log_end_page_index,omitempty" bson:"log_end_page_index,omitempty"`
	LogPartProduct    []string `json:"log_part_product,omitempty" bson:"log_part_product,omitempty"`
	LogPartWork       []string `json:"log_part_work,omitempty" bson:"log_part_work,omitempty"`
	LogPartKey        []string `json:"log_part_key,omitempty" bson:"log_part_key,omitempty"`
	LogTitlePageIndex int64    `json:"log_title_page_index,omitempty" bson:"log_title_page_index,omitempty"` // todo add to schema.xml

	ID               string `json:"id,omitempty" bson:"id,omitempty"`
	RecordIdentifier string `json:"record_identifier,omitempty" bson:"record_identifier,omitempty"`

	Identifier []string `json:"identifier,omitempty" bson:"identifier,omitempty"`

	Isanchor bool `json:"isanchor" bson:"isanchor"`
	Iswork   bool `json:"iswork" bson:"iswork"`

	Genre []string `json:"genre,omitempty" bson:"genre,omitempty"`
	Lang  []string `json:"lang,omitempty" bson:"lang,omitempty"`

	Hosts       []string `json:"host,omitempty" bson:"host,omitempty"`             // todo add to schema.xml
	Precedings  []string `json:"preceding,omitempty" bson:"preceding,omitempty"`   // todo add to schema.xml
	Series      []string `json:"series,omitempty" bson:"series,omitempty"`         // todo add to schema.xml
	Succeedings []string `json:"succeeding,omitempty" bson:"succeeding,omitempty"` // todo add to schema.xml

	Note     []string `json:"note,omitempty" bson:"note,omitempty"`
	NoteType []string `json:"note_type,omitempty" bson:"note_type,omitempty"`

	Place             string `json:"place_publish,omitempty" bson:"place_publish,omitempty"`
	Publisher         string `json:"publisher,omitempty" bson:"publisher,omitempty"`
	YearPublishString string `json:"year_publish_string,omitempty" bson:"year_publish_string,omitempty"`
	YearPublish       int64  `json:"year_publish,omitempty" bson:"year_publish,omitempty"`
	YearPublishStart  int64  `json:"year_publish_start,omitempty" bson:"year_publish_start,omitempty"`
	YearPublishEnd    int64  `json:"year_publish_end,omitempty" bson:"year_publish_end,omitempty"`

	PlaceDigitization      string `json:"place_digitization,omitempty" bson:"place_digitization,omitempty"`
	PublisherDigitization  string `json:"publisher_digitization,omitempty" bson:"publisher_digitization,omitempty"`
	YearDigitizationString string `json:"year_digitization_string,omitempty" bson:"year_digitization_string,omitempty"`
	YearDigitization       int64  `json:"year_digitization,omitempty" bson:"year_digitization,omitempty"`
	YearDigitizationStart  int64  `json:"year_digitization_start,omitempty" bson:"year_digitization_start,omitempty"`
	YearDigitizationEnd    int64  `json:"year_digitization_end,omitempty" bson:"year_digitization_end,omitempty"`

	DigitalOrigin string   `json:"phys_desc_digitalOrigin,omitempty" bson:"phys_desc_digitalOrigin,omitempty"`
	Extent        []string `json:"phys_desc_extent,omitempty" bson:"phys_desc_extent,omitempty"`

	Purl string `json:"purl,omitempty" bson:"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" bson:"relateditem_id,omitempty"`
	RelateditemTitle            []string `json:"relateditem_title,omitempty" bson:"relateditem_title,omitempty"`
	RelateditemTitleAbbreviated []string `json:"relateditem_title_abbreviated,omitempty" bson:"relateditem_title_abbreviated,omitempty"`
	RelateditemTitlePartname    []string `json:"relateditem_title_partname,omitempty" bson:"relateditem_title_partname,omitempty"`
	RelateditemNote             []string `json:"relateditem_note,omitempty" bson:"relateditem_note,omitempty"`
	RelateditemType             []string `json:"relateditem_type,omitempty" bson:"relateditem_type,omitempty"`
	ParentdocID                 []string `json:"parentdoc_id,omitempty" bson:"parentdoc_id,omitempty"`
	ParentdocTitle              []string `json:"parentdoc_title,omitempty" bson:"parentdoc_title,omitempty"`
	ParentdocTitleAbbreviated   []string `json:"parentdoc_title_abbreviated,omitempty" bson:"parentdoc_title_abbreviated,omitempty"`
	ParentdocTitlePartname      []string `json:"parentdoc_title_partname,omitempty" bson:"parentdoc_title_partname,omitempty"`
	ParentdocNote               []string `json:"parentdoc_note,omitempty" bson:"parentdoc_note,omitempty"`
	ParentdocType               []string `json:"parentdoc_type,omitempty" bson:"parentdoc_type,omitempty"`
	ParentdocWork               []string `json:"parentdoc_work,omitempty" bson:"parentdoc_work,omitempty"`
	ParentdocLabel              []string `json:"parentdoc_label,omitempty" bson:"parentdoc_label,omitempty"`

	Owner           string `json:"rights_owner,omitempty" bson:"rights_owner,omitempty"`
	OwnerSiteURL    string `json:"rights_owner_site_url,omitempty" bson:"rights_owner_site_url,omitempty"`
	OwnerContact    string `json:"rights_owner_contact,omitempty" bson:"rights_owner_contact,omitempty"`
	RightsLicense   string `json:"rights_license,omitempty" bson:"rights_license,omitempty"`
	RightsReference string `json:"rights_reference,omitempty" bson:"rights_reference,omitempty"`
	RightsSponsor   string `json:"sponsor,omitempty" bson:"sponsor,omitempty"`

	Subject     []string `json:"subject,omitempty" bson:"subject,omitempty"`
	SubjectType []string `json:"subject_type,omitempty" bson:"subject_type,omitempty"`

	FacetSubjectGeographic             []string `json:"facet_subject_geographic,omitempty" bson:"facet_subject_geographic,omitempty"`
	FacetSubjectTopic                  []string `json:"facet_subject_topic,omitempty" bson:"facet_subject_topic,omitempty"`
	FacetSubjectTemporal               []string `json:"facet_subject_temporal,omitempty" bson:"facet_subject_temporal,omitempty"`
	FacetSubjectHierarchicalGeographic []string `json:"facet_subject_hierarchicalGeographic,omitempty" bson:"facet_subject_hierarchicalGeographic,omitempty"`

	Shelfmark []string `json:"shelfmark,omitempty" bson:"shelfmark,omitempty"`

	Title            []string `json:"title,omitempty" bson:"title,omitempty"`
	Subtitle         []string `json:"subtitle,omitempty" bson:"subtitle,omitempty"`
	Sorttitle        []string `json:"sorttitle,omitempty" bson:"sorttitle,omitempty"`
	Partname         []string `json:"partname,omitempty" bson:"partname,omitempty"`
	Partnumber       []int64  `json:"partnumber,omitempty" bson:"partnumber,omitempty"`
	TitleAbbreviated []string `json:"title_abbreviated,omitempty" bson:"title_abbreviated,omitempty"`
	TitleAlternative []string `json:"title_alternative,omitempty" bson:"title_alternative,omitempty"`

	IssueNumber  string `json:"issue_number,omitempty" bson:"issue_number,omitempty"`
	VolumeNumber string `json:"volume_number,omitempty" bson:"volume_number,omitempty"`

	Work       string `json:"work,omitempty" bson:"work,omitempty"`
	Collection string `json:"collection,omitempty" bson:"collection,omitempty"`
	Context    string `json:"context,omitempty" bson:"context,omitempty"`
	Product    string `json:"product,omitempty" bson:"product,omitempty"`

	NaviYear   int64  `json:"navi_year,omitempty" bson:"navi_year,omitempty"`     // todo add to schema.xml
	NaviMonth  int64  `json:"navi_month,omitempty" bson:"navi_month,omitempty"`   // todo add to schema.xml
	NaviDay    int64  `json:"navi_day,omitempty" bson:"navi_day,omitempty"`       // todo add to schema.xml
	NaviString string `json:"navi_string,omitempty" bson:"navi_string,omitempty"` // todo add to schema.xml

	PhysImageFormat string `json:"image_format,omitempty" bson:"image_format,omitempty"`

	PhysFirstPageIndex int64 `json:"phys_first_page_index,omitempty" bson:"phys_first_page_index,omitempty"`
	PhysLastPageIndex  int64 `json:"phys_last_page_index,omitempty" bson:"phys_last_page_index,omitempty"`

	PhysOrder      []int64  `json:"phys_order,omitempty" bson:"phys_order,omitempty"`
	PhysOrderlabel []string `json:"phys_orderlabel,omitempty" bson:"phys_orderlabel,omitempty"`

	Page    []string `json:"page,omitempty" bson:"page,omitempty"`
	PageKey []string `json:"page_key,omitempty" bson:"page_key,omitempty"`

	Fulltext []string `json:"fulltext,omitempty" bson:"fulltext,omitempty"`

	SolrLogChildDocs []SolrLogChildDoc `json:"_childDocuments_,omitempty" bson:"_childDocuments_,omitempty"`
}

SolrDoc ..

type SolrFulltextDoc

type SolrFulltextDoc struct {
	ID           string `json:"id,omitempty" bson:"id,omitempty"`
	FT           string `json:"ft,omitempty" bson:"ft,omitempty"`
	FTOfWork     string `json:"ft_of_work,omitempty" bson:"ft_of_work,omitempty"`
	FTPageNumber int64  `json:"ft_page_number,omitempty" bson:"ft_page_number,omitempty"`
	Doctype      string `json:"doctype,omitempty" bson:"doctype,omitempty"`
	WorkID       string `json:"work_id,omitempty" bson:"work_id,omitempty"`
}

SolrFulltextDoc ..

type SolrLogChildDoc

type SolrLogChildDoc struct {
	Bycreator string `json:"bycreator,omitempty" bson:"bycreator,omitempty"`
	Byperson  string `json:"byperson,omitempty" bson:"byperson,omitempty"`
	Bytitle   string `json:"bytitle,omitempty" bson:"bytitle,omitempty"`

	Creator               []string `json:"creator,omitempty" bson:"creator,omitempty"`
	CreatorType           []string `json:"creator_type,omitempty" bson:"creator_type,omitempty"`
	CreatorGNDURI         []string `json:"creator_gndURI,omitempty" bson:"creator_gndURI,omitempty"`
	CreatorDate           []string `json:"creator_date,omitempty" bson:"creator_date,omitempty"`
	CreatorDateString     []string `json:"creator_date_string,omitempty" bson:"creator_date_string,omitempty"`
	CreatorRoleterm       []string `json:"creator_roleterm,omitempty" bson:"creator_roleterm,omitempty"`
	FacetCreatorPersonal  []string `json:"facet_creator_personal,omitempty" bson:"facet_creator_personal,omitempty"`
	FacetCreatorCorporate []string `json:"facet_creator_corporate,omitempty" bson:"facet_creator_corporate,omitempty"`

	Person               []string `json:"person,omitempty" bson:"person,omitempty"`
	PersonType           []string `json:"person_type,omitempty" bson:"person_type,omitempty"`
	PersonGNDURI         []string `json:"person_gndURI,omitempty" bson:"person_gndURI,omitempty"`
	PersonDate           []string `json:"person_date,omitempty" bson:"person_date,omitempty"`
	PersonDateString     []string `json:"person_date_string,omitempty" bson:"person_date_string,omitempty"`
	PersonRoleterm       []string `json:"person_roleterm,omitempty" bson:"person_roleterm,omitempty"`
	FacetPersonPersonal  []string `json:"facet_person_personal,omitempty" bson:"facet_person_personal,omitempty"`
	FacetPersonCorporate []string `json:"facet_person_corporate,omitempty" bson:"facet_person_corporate,omitempty"`

	Currentno     string `json:"currentno,omitempty" bson:"currentno,omitempty"`
	Currentnosort int64  `json:"currentnosort,omitempty" bson:"currentnosort,omitempty"`

	Dc          []string `json:"dc,omitempty" bson:"dc,omitempty"`
	DcAuthority []string `json:"dc_authority,omitempty" bson:"dc_authority,omitempty"`

	//Docstrct string `json:"docstrct,omitempty" bson:"docstrct,omitempty"` // monograph, volume
	Doctype string `json:"doctype,omitempty" bson:"doctype,omitempty"` // work, collection, log, anchor

	LogID             []string `json:"log_id,omitempty" bson:"log_id,omitempty"`
	LogType           []string `json:"log_type,omitempty" bson:"log_type,omitempty"`
	LogLabel          []string `json:"log_label,omitempty" bson:"log_label,omitempty"`
	LogDmdID          string   `json:"log_dmdid,omitempty" bson:"log_dmdid,omitempty"`
	LogAdmid          []string `json:"log_admid,omitempty" bson:"log_admid,omitempty"`
	LogLevel          []int8   `json:"log_level,omitempty" bson:"log_level,omitempty"`
	LogIndex          []int64  `json:"log_index,omitempty" bson:"log_index,omitempty"` // todo add to schema.xml
	LogOrder          []int64  `json:"log_order,omitempty" bson:"log_order,omitempty"` // todo add to schema.xml
	LogStartPageIndex []int64  `json:"log_start_page_index,omitempty" bson:"log_start_page_index,omitempty"`
	LogEndPageIndex   []int64  `json:"log_end_page_index,omitempty" bson:"log_end_page_index,omitempty"`
	LogPartProduct    []string `json:"log_part_product,omitempty" bson:"log_part_product,omitempty"`
	LogPartWork       []string `json:"log_part_work,omitempty" bson:"log_part_work,omitempty"`
	LogPartKey        []string `json:"log_part_key,omitempty" bson:"log_part_key,omitempty"`
	LogTitlePageIndex int64    `json:"log_title_page_index,omitempty" bson:"log_title_page_index,omitempty"` // todo add to schema.xml

	ID               string `json:"id,omitempty" bson:"id,omitempty"`
	RecordIdentifier string `json:"record_identifier,omitempty" bson:"record_identifier,omitempty"`

	Identifier []string `json:"identifier,omitempty" bson:"identifier,omitempty"`

	Genre []string `json:"genre,omitempty" bson:"genre,omitempty"`
	Lang  []string `json:"lang,omitempty" bson:"lang,omitempty"`

	Hosts       []string `json:"host,omitempty" bson:"host,omitempty"`             // todo add to schema.xml
	Precedings  []string `json:"preceding,omitempty" bson:"preceding,omitempty"`   // todo add to schema.xml
	Series      []string `json:"series,omitempty" bson:"series,omitempty"`         // todo add to schema.xml
	Succeedings []string `json:"succeeding,omitempty" bson:"succeeding,omitempty"` // todo add to schema.xml

	Note     []string `json:"note,omitempty" bson:"note,omitempty"`
	NoteType []string `json:"note_type,omitempty" bson:"note_type,omitempty"`

	Place             string `json:"place_publish,omitempty" bson:"place_publish,omitempty"`
	Publisher         string `json:"publisher,omitempty" bson:"publisher,omitempty"`
	YearPublishString string `json:"year_publish_string,omitempty" bson:"year_publish_string,omitempty"`
	YearPublish       int64  `json:"year_publish,omitempty" bson:"year_publish,omitempty"`
	YearPublishStart  int64  `json:"year_publish_start,omitempty" bson:"year_publish_start,omitempty"`
	YearPublishEnd    int64  `json:"year_publish_end,omitempty" bson:"year_publish_end,omitempty"`

	PlaceDigitization      string `json:"place_digitization,omitempty" bson:"place_digitization,omitempty"`
	PublisherDigitization  string `json:"publisher_digitization,omitempty" bson:"publisher_digitization,omitempty"`
	YearDigitizationString string `json:"year_digitization_string,omitempty" bson:"year_digitization_string,omitempty"`
	YearDigitization       int64  `json:"year_digitization,omitempty" bson:"year_digitization,omitempty"`
	YearDigitizationStart  int64  `json:"year_digitization_start,omitempty" bson:"year_digitization_start,omitempty"`
	YearDigitizationEnd    int64  `json:"year_digitization_end,omitempty" bson:"year_digitization_end,omitempty"`

	DigitalOrigin string   `json:"phys_desc_digitalOrigin,omitempty" bson:"phys_desc_digitalOrigin,omitempty"`
	Extent        []string `json:"phys_desc_extent,omitempty" bson:"phys_desc_extent,omitempty"`

	Purl string `json:"purl,omitempty" bson:"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" bson:"relateditem_id,omitempty"`
	RelateditemTitle            []string `json:"relateditem_title,omitempty" bson:"relateditem_title,omitempty"`
	RelateditemTitleAbbreviated []string `json:"relateditem_title_abbreviated,omitempty" bson:"relateditem_title_abbreviated,omitempty"`
	RelateditemTitlePartname    []string `json:"relateditem_title_partname,omitempty" bson:"relateditem_title_partname,omitempty"`
	RelateditemNote             []string `json:"relateditem_note,omitempty" bson:"relateditem_note,omitempty"`
	RelateditemType             []string `json:"relateditem_type,omitempty" bson:"relateditem_type,omitempty"`
	ParentdocID                 []string `json:"parentdoc_id,omitempty" bson:"parentdoc_id,omitempty"`
	ParentdocTitle              []string `json:"parentdoc_title,omitempty" bson:"parentdoc_title,omitempty"`
	ParentdocTitleAbbreviated   []string `json:"parentdoc_title_abbreviated,omitempty" bson:"parentdoc_title_abbreviated,omitempty"`
	ParentdocTitlePartname      []string `json:"parentdoc_title_partname,omitempty" bson:"parentdoc_title_partname,omitempty"`
	ParentdocNote               []string `json:"parentdoc_note,omitempty" bson:"parentdoc_note,omitempty"`
	ParentdocType               []string `json:"parentdoc_type,omitempty" bson:"parentdoc_type,omitempty"`
	ParentdocWork               []string `json:"parentdoc_work,omitempty" bson:"parentdoc_work,omitempty"`
	ParentdocLabel              []string `json:"parentdoc_label,omitempty" bson:"parentdoc_label,omitempty"`

	Owner           string `json:"rights_owner,omitempty" bson:"rights_owner,omitempty"`
	OwnerSiteURL    string `json:"rights_owner_site_url,omitempty" bson:"rights_owner_site_url,omitempty"`
	OwnerContact    string `json:"rights_owner_contact,omitempty" bson:"rights_owner_contact,omitempty"`
	RightsLicense   string `json:"rights_license,omitempty" bson:"rights_license,omitempty"`
	RightsReference string `json:"rights_reference,omitempty" bson:"rights_reference,omitempty"`
	RightsSponsor   string `json:"sponsor,omitempty" bson:"sponsor,omitempty"`

	Subject     []string `json:"subject,omitempty" bson:"subject,omitempty"`
	SubjectType []string `json:"subject_type,omitempty" bson:"subject_type,omitempty"`

	FacetSubjectGeographic             []string `json:"facet_subject_geographic,omitempty" bson:"facet_subject_geographic,omitempty"`
	FacetSubjectTopic                  []string `json:"facet_subject_topic,omitempty" bson:"facet_subject_topic,omitempty"`
	FacetSubjectTemporal               []string `json:"facet_subject_temporal,omitempty" bson:"facet_subject_temporal,omitempty"`
	FacetSubjectHierarchicalGeographic []string `json:"facet_subject_hierarchicalGeographic,omitempty" bson:"facet_subject_hierarchicalGeographic,omitempty"`

	Shelfmark []string `json:"shelfmark,omitempty" bson:"shelfmark,omitempty"`

	Title            []string `json:"title,omitempty" bson:"title,omitempty"`
	Subtitle         []string `json:"subtitle,omitempty" bson:"subtitle,omitempty"`
	Sorttitle        []string `json:"sorttitle,omitempty" bson:"sorttitle,omitempty"`
	Partname         []string `json:"partname,omitempty" bson:"partname,omitempty"`
	Partnumber       []int64  `json:"partnumber,omitempty" bson:"partnumber,omitempty"`
	TitleAbbreviated []string `json:"title_abbreviated,omitempty" bson:"title_abbreviated,omitempty"`
	TitleAlternative []string `json:"title_alternative,omitempty" bson:"title_alternative,omitempty"`

	IssueNumber  string `json:"issue_number,omitempty" bson:"issue_number,omitempty"`
	VolumeNumber string `json:"volume_number,omitempty" bson:"volume_number,omitempty"`

	WorkID string `json:"work_id,omitempty" bson:"work_id,omitempty"`
	//Work string `json:"work,omitempty" bson:"work,omitempty"`
	//Collection string `json:"collection,omitempty" bson:"collection,omitempty"`
	Context string `json:"context,omitempty" bson:"context,omitempty"`
	Product string `json:"product,omitempty" bson:"product,omitempty"`
}

SolrLogChildDoc ..

type SolrResponse

type SolrResponse struct {
	ResponseHeader SolrResponseHeader `json:"responseHeader"`
	Response       SolrResponseBody   `json:"response"`
}

SolrResponse ...

type SolrResponseBody

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

SolrResponseBody ...

type SolrResponseHeader

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

SolrResponseHeader ..

type SponsorshipInfo

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

SponsorshipInfo ...

type Structlink struct {
	XMLName xml.Name `xml:"structLink"`
	//Title        string   `xml:"title"`
	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" bson:"currentno,omitempty"`
	Currentnosort              int64                  `json:"currentnosort,omitempty" bson:"currentnosort,omitempty"`
	ParentID                   string                 `json:"parent_id,omitempty" bson:"parent_id,omitempty"`
	PublishInfos               *PublishInfo           `json:"publish_infos,omitempty" bson:"publish_infos,omitempty"`
	RightsAccessConditionInfos []RightAccessCondition `json:"rights_access_condition_infos,omitempty" bson:"rights_access_condition_infos,omitempty"`
	Title                      *TitleInfo             `json:"title,omitempty" bson:"title,omitempty"` // ???
	Type                       string                 `json:"type,omitempty" bson:"type,omitempty"`
	Dc                         []string               `json:"dc,omitempty" bson:"dc,omitempty"`
	Issn                       string                 `json:"issn,omitempty" bson:"issn,omitempty"`
	Zdb                        string                 `json:"zdb,omitempty" bson:"zdb,omitempty"`
	Purl                       string                 `json:"purl,omitempty" bson:"purl,omitempty"`
	Catalogue                  string                 `json:"catalogue,omitempty" bson:"catalogue,omitempty"`
}

Structrun ...

func (Structrun) Equal

func (s Structrun) Equal(o Structrun) bool

Equal ...

func (Structrun) IsEmpty

func (s Structrun) IsEmpty() bool

IsEmpty ...

type SubjectInfo

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

SubjectInfo ...

type Temporal

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

Temporal ...

type TitleInfo

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

}

TitleInfo ...

func ConvertTitleInfo

func ConvertTitleInfo(titleInfo *TitleInfo) *TitleInfo

ConvertTitleInfo ...

type Topic

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

Topic ...

Jump to

Keyboard shortcuts

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