ead

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2022 License: Apache-2.0 Imports: 45 Imported by: 0

Documentation

Overview

nolint:lll

Index

Constants

View Source
const (
	SourceEad    = "EAD"
	SourceOaiPmh = "OAI-PMH"
)
View Source
const CLevelLeader = "@"
View Source
const FragmentGraphDocType = "ead"

Variables

View Source
var ErrCannotPopFromQueue = errors.New("unable to pop element from the queue")
View Source
var ErrFileNotFound = errors.New("file not found")
View Source
var ErrNoDescriptionIndex = errors.New("no index created for EAD description")

Functions

func CreateTree

func CreateTree(cfg *NodeConfig, n *Node, hubID string, id string) *fragments.Tree

func GetDataPath added in v0.1.3

func GetDataPath(spec string) string

func GetDescriptionCount added in v0.1.10

func GetDescriptionCount(spec, query string) (int, error)

func NewResource added in v0.1.1

func NewResource(label string) r.Term

func ValidateSpec added in v0.2.0

func ValidateSpec(spec string) error

ValidateSpec checks for path traversal characters that should not be in the spec identifier.

Types

type Archive added in v0.1.3

type Archive struct {
	InventoryID      string   `json:"inventoryID"`
	Title            string   `json:"title"`
	Period           []string `json:"period"`
	CLevelCount      int      `json:"cLevelCount"`
	DescriptionCount int      `json:"descriptionCount"`
	Files            string   `json:"files,omitempty"`
	Length           string   `json:"length,omitempty"`
	Abstract         []string `json:"abstract,omitempty"`
	Material         string   `json:"material,omitempty"`
	Language         string   `json:"language,omitempty"`
	Origin           []string `json:"origin,omitempty"`
	MetsFiles        int      `json:"metsFiles,omitempty"`
	ClevelsTotal     int      `json:"clevelsTotal"`
}

Archive holds all information for the EAD search results that are grouped by inventoryID. This is the EadID from the EAD header.

type BulkIndex added in v0.1.8

type BulkIndex interface {
	Publish(ctx context.Context, message ...*domainpb.IndexMessage) error
}

type BulkProcessor

type BulkProcessor interface {
	Add(request elastic.BulkableRequest)
}

BulkProcessor is an interface for oliver/elastice BulkProcessor.

type CContextRts added in v0.1.8

type CContextRts struct {
	XMLName          xml.Name         `xml:"Context,omitempty" json:"Context,omitempty"`
	AttrCONTEXTCLASS string           `xml:"CONTEXTCLASS,attr"  json:",omitempty"`
	CPermissionsRts  *CPermissionsRts `xml:"http://www.archivesportaleurope.net/Portal/profiles/rights/ Permissions,omitempty" json:"Permissions,omitempty"`
}

type CFLocat added in v0.1.8

type CFLocat struct {
	XMLName            xml.Name `xml:"FLocat,omitempty" json:"FLocat,omitempty"`
	AttrLOCTYPE        string   `xml:"LOCTYPE,attr"  json:",omitempty"`
	AttrXlinkSpacehref string   `xml:"http://www.w3.org/1999/xlink href,attr"  json:",omitempty"`
	AttrXlinkSpacetype string   `xml:"http://www.w3.org/1999/xlink type,attr"  json:",omitempty"`
}

type CLevel

type CLevel interface {
	GetNested() []CLevel
	GetCc() *Cc
}

type CLevelEntry added in v0.1.3

type CLevelEntry struct {

	// Path is the unique key to the path of the clevel in the archive tree
	Path string `json:"path"`

	// UnitID is the identifier of the clevel
	UnitID string `json:"unitID"`

	// Label is the title of the clevel
	Label string `json:"label"`

	// HubID is the unique identifier of the clevel as stored in the hub3 index
	HubID string `json:"hubID"`

	// ResultOrder is the place the search result has in the total list of results.
	// This can be used to aid the search pagination on the Archive result page.
	ResultOrder uint64 `json:"sortKey"`
}

CLevel holds the search results per clevel entry in the an EAD Archive.

type CPermissionsRts added in v0.1.8

type CPermissionsRts struct {
	XMLName       xml.Name `xml:"Permissions,omitempty" json:"Permissions,omitempty"`
	AttrCOPY      string   `xml:"COPY,attr"  json:",omitempty"`
	AttrDELETE    string   `xml:"DELETE,attr"  json:",omitempty"`
	AttrDISCOVER  string   `xml:"DISCOVER,attr"  json:",omitempty"`
	AttrDISPLAY   string   `xml:"DISPLAY,attr"  json:",omitempty"`
	AttrDUPLICATE string   `xml:"DUPLICATE,attr"  json:",omitempty"`
	AttrMODIFY    string   `xml:"MODIFY,attr"  json:",omitempty"`
	AttrPRINT     string   `xml:"PRINT,attr"  json:",omitempty"`
}

type CRightsDeclarationMDRts added in v0.1.8

type CRightsDeclarationMDRts struct {
	XMLName                    xml.Name               `xml:"RightsDeclarationMD,omitempty" json:"RightsDeclarationMD,omitempty"`
	AttrRIGHTSCATEGORY         string                 `xml:"RIGHTSCATEGORY,attr"  json:",omitempty"`
	AttrRIGHTSDECID            string                 `xml:"RIGHTSDECID,attr"  json:",omitempty"`
	AttrXsiSpaceschemaLocation string                 `xml:"http://www.w3.org/2001/XMLSchema-instance schemaLocation,attr"  json:",omitempty"`
	Attrxmlns                  string                 `xml:"xmlns,attr"  json:",omitempty"`
	AttrXmlnsxsi               string                 `xml:"xmlns xsi,attr"  json:",omitempty"`
	CContextRts                *CContextRts           `xml:"http://www.archivesportaleurope.net/Portal/profiles/rights/ Context,omitempty" json:"Context,omitempty"`
	CRightsDeclarationRts      *CRightsDeclarationRts `` /* 128-byte string literal not displayed */
	CRightsHolderRts           *CRightsHolderRts      `xml:"http://www.archivesportaleurope.net/Portal/profiles/rights/ RightsHolder,omitempty" json:"RightsHolder,omitempty"`
}

type CRightsDeclarationRts added in v0.1.8

type CRightsDeclarationRts struct {
	XMLName     xml.Name `xml:"RightsDeclaration,omitempty" json:"RightsDeclaration,omitempty"`
	AttrCONTEXT string   `xml:"CONTEXT,attr"  json:",omitempty"`
}

type CRightsHolderCommentsRts added in v0.1.8

type CRightsHolderCommentsRts struct {
	XMLName xml.Name `xml:"RightsHolderComments,omitempty" json:"RightsHolderComments,omitempty"`
	Text    string   `xml:",chardata" json:",omitempty"`
}

type CRightsHolderContactAddressRts added in v0.1.8

type CRightsHolderContactAddressRts struct {
	XMLName xml.Name `xml:"RightsHolderContactAddress,omitempty" json:"RightsHolderContactAddress,omitempty"`
	Text    string   `xml:",chardata" json:",omitempty"`
}

type CRightsHolderContactDesignationRts added in v0.1.8

type CRightsHolderContactDesignationRts struct {
	XMLName xml.Name `xml:"RightsHolderContactDesignation,omitempty" json:"RightsHolderContactDesignation,omitempty"`
	Text    string   `xml:",chardata" json:",omitempty"`
}

type CRightsHolderContactEmailRts added in v0.1.8

type CRightsHolderContactEmailRts struct {
	XMLName xml.Name `xml:"RightsHolderContactEmail,omitempty" json:"RightsHolderContactEmail,omitempty"`
	Text    string   `xml:",chardata" json:",omitempty"`
}

type CRightsHolderContactPhoneRts added in v0.1.8

type CRightsHolderContactPhoneRts struct {
	XMLName       xml.Name `xml:"RightsHolderContactPhone,omitempty" json:"RightsHolderContactPhone,omitempty"`
	AttrPHONETYPE string   `xml:"PHONETYPE,attr"  json:",omitempty"`
	Text          string   `xml:",chardata" json:",omitempty"`
}

type CRightsHolderContactRts added in v0.1.8

type CRightsHolderContactRts struct {
	XMLName                            xml.Name                            `xml:"RightsHolderContact,omitempty" json:"RightsHolderContact,omitempty"`
	CRightsHolderContactAddressRts     *CRightsHolderContactAddressRts     `` /* 146-byte string literal not displayed */
	CRightsHolderContactDesignationRts *CRightsHolderContactDesignationRts `` /* 154-byte string literal not displayed */
	CRightsHolderContactEmailRts       *CRightsHolderContactEmailRts       `` /* 142-byte string literal not displayed */
	CRightsHolderContactPhoneRts       *CRightsHolderContactPhoneRts       `` /* 142-byte string literal not displayed */
}

type CRightsHolderNameRts added in v0.1.8

type CRightsHolderNameRts struct {
	XMLName xml.Name `xml:"RightsHolderName,omitempty" json:"RightsHolderName,omitempty"`
	Text    string   `xml:",chardata" json:",omitempty"`
}

type CRightsHolderRts added in v0.1.8

type CRightsHolderRts struct {
	XMLName                  xml.Name                  `xml:"RightsHolder,omitempty" json:"RightsHolder,omitempty"`
	CRightsHolderCommentsRts *CRightsHolderCommentsRts `` /* 134-byte string literal not displayed */
	CRightsHolderContactRts  *CRightsHolderContactRts  `` /* 132-byte string literal not displayed */
	CRightsHolderNameRts     *CRightsHolderNameRts     `` /* 126-byte string literal not displayed */
}

type Cabstract

type Cabstract struct {
	XMLName   xml.Name   `xml:"abstract,omitempty" json:"abstract,omitempty"`
	Raw       []byte     `xml:",innerxml" json:",omitempty"`
	Attrlabel string     `xml:"label,attr"  json:",omitempty"`
	Abstract  string     `xml:",chardata" json:",omitempty"`
	Cextref   []*Cextref `xml:"extref,omitempty" json:"extref,omitempty"`
	Clb       []*Clb     `xml:"lb,omitempty" json:"lb,omitempty"`
}

func (*Cabstract) CleanAbstract added in v0.1.1

func (ca *Cabstract) CleanAbstract() []string

CleanAbstract returns the Abstract split on EAD '<lb />', i.e. line-break

type Caccessrestrict

type Caccessrestrict struct {
	XMLName         xml.Name           `xml:"accessrestrict,omitempty" json:"accessrestrict,omitempty"`
	Raw             []byte             `xml:",innerxml" json:",omitempty"`
	Attrid          string             `xml:"id,attr"  json:",omitempty"`
	Attrtype        string             `xml:"type,attr"  json:",omitempty"`
	Caccessrestrict []*Caccessrestrict `xml:"accessrestrict,omitempty" json:"accessrestrict,omitempty"`
	Chead           []*Chead           `xml:"head,omitempty" json:"head,omitempty"`
	Clegalstatus    *Clegalstatus      `xml:"legalstatus,omitempty" json:"legalstatus,omitempty"`
	Clist           []*Clist           `xml:"list,omitempty" json:"list,omitempty"`
	Cp              []*Cp              `xml:"p,omitempty" json:"p,omitempty"`
}

type Caccruals

type Caccruals struct {
	XMLName xml.Name  `xml:"accruals,omitempty" json:"accruals,omitempty"`
	Raw     []byte    `xml:",innerxml" json:",omitempty"`
	Attrid  string    `xml:"id,attr"  json:",omitempty"`
	Chead   []*Chead  `xml:"head,omitempty" json:"head,omitempty"`
	Cp      []*Cp     `xml:"p,omitempty" json:"p,omitempty"`
	Ctable  []*Ctable `xml:"table,omitempty" json:"table,omitempty"`
}

type Cacqinfo

type Cacqinfo struct {
	XMLName       xml.Name    `xml:"acqinfo,omitempty" json:"acqinfo,omitempty"`
	Raw           []byte      `xml:",innerxml" json:",omitempty"`
	Attraltrender string      `xml:"altrender,attr"  json:",omitempty"`
	Cacqinfo      []*Cacqinfo `xml:"acqinfo,omitempty" json:"acqinfo,omitempty"`
	Chead         []*Chead    `xml:"head,omitempty" json:"head,omitempty"`
	Clist         []*Clist    `xml:"list,omitempty" json:"list,omitempty"`
	Cp            []*Cp       `xml:"p,omitempty" json:"p,omitempty"`
	Ctable        []*Ctable   `xml:"table,omitempty" json:"table,omitempty"`
}

type Cagent added in v0.1.8

type Cagent struct {
	XMLName  xml.Name `xml:"agent,omitempty" json:"agent,omitempty"`
	AttrROLE string   `xml:"ROLE,attr"  json:",omitempty"`
	Cmname   *Cmname  `xml:"http://www.loc.gov/METS/ name,omitempty" json:"name,omitempty"`
}

type CaltRecordID added in v0.1.8

type CaltRecordID struct {
	XMLName  xml.Name `xml:"altRecordID,omitempty" json:"altRecordID,omitempty"`
	AttrTYPE string   `xml:"TYPE,attr"  json:",omitempty"`
	Text     string   `xml:",chardata" json:",omitempty"`
}

type Caltformavail

type Caltformavail struct {
	XMLName  xml.Name `xml:"altformavail,omitempty" json:"altformavail,omitempty"`
	Raw      []byte   `xml:",innerxml" json:",omitempty"`
	Attrtype string   `xml:"type,attr"  json:",omitempty"`
	Chead    []*Chead `xml:"head,omitempty" json:"head,omitempty"`
	Clist    []*Clist `xml:"list,omitempty" json:"list,omitempty"`
	Cp       []*Cp    `xml:"p,omitempty" json:"p,omitempty"`
}

type CamdSec added in v0.1.8

type CamdSec struct {
	XMLName   xml.Name   `xml:"amdSec,omitempty" json:"amdSec,omitempty"`
	CrightsMD *CrightsMD `xml:"http://www.loc.gov/METS/ rightsMD,omitempty" json:"rightsMD,omitempty"`
}

type Cappraisal

type Cappraisal struct {
	XMLName      xml.Name      `xml:"appraisal,omitempty" json:"appraisal,omitempty"`
	Raw          []byte        `xml:",innerxml" json:",omitempty"`
	Attraudience string        `xml:"audience,attr"  json:",omitempty"`
	Cappraisal   []*Cappraisal `xml:"appraisal,omitempty" json:"appraisal,omitempty"`
	Chead        []*Chead      `xml:"head,omitempty" json:"head,omitempty"`
	Clist        []*Clist      `xml:"list,omitempty" json:"list,omitempty"`
	Cp           []*Cp         `xml:"p,omitempty" json:"p,omitempty"`
	Ctable       []*Ctable     `xml:"table,omitempty" json:"table,omitempty"`
}

type Carchdesc

type Carchdesc struct {
	XMLName       xml.Name         `xml:"archdesc,omitempty" json:"archdesc,omitempty"`
	Raw           []byte           `xml:",innerxml" json:",omitempty"`
	Attrlevel     string           `xml:"level,attr"  json:",omitempty"`
	Attrtype      string           `xml:"type,attr"  json:",omitempty"`
	Caccruals     []*Caccruals     `xml:"accruals,omitempty" json:"accruals,omitempty"`
	Cbibliography []*Cbibliography `xml:"bibliography,omitempty" json:"bibliography,omitempty"`
	Cbioghist     []*Cbioghist     `xml:"bioghist,omitempty" json:"bioghist,omitempty"`
	Cdescgrp      []*Cdescgrp      `xml:"descgrp,omitempty" json:"descgrp,omitempty"`
	Cdid          []*Cdid          `xml:"did,omitempty" json:"did,omitempty"`
	Cdsc          *Cdsc            `xml:"dsc,omitempty" json:"dsc,omitempty"`
	Cuserestrict  []*Cuserestrict  `xml:"userestrict,omitempty" json:"userestrict,omitempty"`
}

func (*Carchdesc) GetAbstract

func (ad *Carchdesc) GetAbstract() []string

func (*Carchdesc) GetNormalPeriods

func (ad *Carchdesc) GetNormalPeriods() []string

func (*Carchdesc) GetPeriods

func (ad *Carchdesc) GetPeriods() []string

type Carchref added in v0.1.1

type Carchref struct {
	XMLName      xml.Name      `xml:"archref,omitempty" json:"archref,omitempty"`
	Raw          []byte        `xml:",innerxml" json:",omitempty"`
	Attractuate  string        `xml:"actuate,attr"  json:",omitempty"`
	Attrhref     string        `xml:"href,attr"  json:",omitempty"`
	Attrlinktype string        `xml:"linktype,attr"  json:",omitempty"`
	Attrshow     string        `xml:"show,attr"  json:",omitempty"`
	Archref      string        `xml:",chardata" json:",omitempty"`
	Clb          []*Clb        `xml:"lb,omitempty" json:"lb,omitempty"`
	Ctitle       []*Ctitle     `xml:"title,omitempty" json:"title,omitempty"`
	Cunitid      []*Cunitid    `xml:"unitid,omitempty" json:"unitid,omitempty"`
	Cunittitle   []*Cunittitle `xml:"unittitle,omitempty" json:"unittitle,omitempty"`
}

type Carrangement

type Carrangement struct {
	XMLName      xml.Name        `xml:"arrangement,omitempty" json:"arrangement,omitempty"`
	Raw          []byte          `xml:",innerxml" json:",omitempty"`
	Carrangement []*Carrangement `xml:"arrangement,omitempty" json:"arrangement,omitempty"`
	Chead        []*Chead        `xml:"head,omitempty" json:"head,omitempty"`
	Clist        []*Clist        `xml:"list,omitempty" json:"list,omitempty"`
	Cp           []*Cp           `xml:"p,omitempty" json:"p,omitempty"`
	Ctable       []*Ctable       `xml:"table,omitempty" json:"table,omitempty"`
}

type Cauthor

type Cauthor struct {
	XMLName xml.Name `xml:"author,omitempty" json:"author,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Author  string   `xml:",chardata" json:",omitempty"`
	Clb     []*Clb   `xml:"lb,omitempty" json:"lb,omitempty"`
}

type Cbibliography added in v0.1.1

type Cbibliography struct {
	XMLName       xml.Name         `xml:"bibliography,omitempty" json:"bibliography,omitempty"`
	Raw           []byte           `xml:",innerxml" json:",omitempty"`
	Cbibliography []*Cbibliography `xml:"bibliography,omitempty" json:"bibliography,omitempty"`
	Chead         []*Chead         `xml:"head,omitempty" json:"head,omitempty"`
	Clist         []*Clist         `xml:"list,omitempty" json:"list,omitempty"`
	Cp            []*Cp            `xml:"p,omitempty" json:"p,omitempty"`
	Ctable        []*Ctable        `xml:"table,omitempty" json:"table,omitempty"`
}

type Cbibref

type Cbibref struct {
	XMLName      xml.Name     `xml:"bibref,omitempty" json:"bibref,omitempty"`
	Raw          []byte       `xml:",innerxml" json:",omitempty"`
	Attractuate  string       `xml:"actuate,attr"  json:",omitempty"`
	Attrhref     string       `xml:"href,attr"  json:",omitempty"`
	Attrlinktype string       `xml:"linktype,attr"  json:",omitempty"`
	Attrshow     string       `xml:"show,attr"  json:",omitempty"`
	Bibref       string       `xml:",chardata" json:",omitempty"`
	Cextref      []*Cextref   `xml:"extref,omitempty" json:"extref,omitempty"`
	Cimprint     []*Cimprint  `xml:"imprint,omitempty" json:"imprint,omitempty"`
	Clb          []*Clb       `xml:"lb,omitempty" json:"lb,omitempty"`
	Cname        []*Cname     `xml:"name,omitempty" json:"name,omitempty"`
	Cpersname    []*Cpersname `xml:"persname,omitempty" json:"persname,omitempty"`
	Ctitle       []*Ctitle    `xml:"title,omitempty" json:"title,omitempty"`
}

type Cbioghist

type Cbioghist struct {
	XMLName    xml.Name      `xml:"bioghist,omitempty" json:"bioghist,omitempty"`
	Raw        []byte        `xml:",innerxml" json:",omitempty"`
	Cbioghist  []*Cbioghist  `xml:"bioghist,omitempty" json:"bioghist,omitempty"`
	Cchronlist []*Cchronlist `xml:"chronlist,omitempty" json:"chronlist,omitempty"`
	Chead      []*Chead      `xml:"head,omitempty" json:"head,omitempty"`
	Clist      []*Clist      `xml:"list,omitempty" json:"list,omitempty"`
	Codd       []*Codd       `xml:"odd,omitempty" json:"odd,omitempty"`
	Cp         []*Cp         `xml:"p,omitempty" json:"p,omitempty"`
	Ctable     []*Ctable     `xml:"table,omitempty" json:"table,omitempty"`
}

type Cblockquote

type Cblockquote struct {
	XMLName xml.Name `xml:"blockquote,omitempty" json:"blockquote,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Cnote   []*Cnote `xml:"note,omitempty" json:"note,omitempty"`
	Cp      []*Cp    `xml:"p,omitempty" json:"p,omitempty"`
}

type Cc

type Cc struct {
	XMLName            xml.Name              `xml:"c,omitempty" json:"c,omitempty"`
	Raw                []byte                `xml:",innerxml" json:",omitempty"`
	Attraltrender      string                `xml:"altrender,attr"  json:",omitempty"`
	Attrlevel          string                `xml:"level,attr"  json:",omitempty"`
	Attrotherlevel     string                `xml:"otherlevel,attr"  json:",omitempty"`
	Caccessrestrict    []*Caccessrestrict    `xml:"accessrestrict,omitempty" json:"accessrestrict,omitempty"`
	Caccruals          []*Caccruals          `xml:"accruals,omitempty" json:"accruals,omitempty"`
	Cacqinfo           []*Cacqinfo           `xml:"acqinfo,omitempty" json:"acqinfo,omitempty"`
	Caltformavail      []*Caltformavail      `xml:"altformavail,omitempty" json:"altformavail,omitempty"`
	Cappraisal         []*Cappraisal         `xml:"appraisal,omitempty" json:"appraisal,omitempty"`
	Carrangement       []*Carrangement       `xml:"arrangement,omitempty" json:"arrangement,omitempty"`
	Cbibliography      []*Cbibliography      `xml:"bibliography,omitempty" json:"bibliography,omitempty"`
	Cbioghist          []*Cbioghist          `xml:"bioghist,omitempty" json:"bioghist,omitempty"`
	Ccontrolaccess     []*Ccontrolaccess     `xml:"controlaccess,omitempty" json:"controlaccess,omitempty"`
	Ccustodhist        []*Ccustodhist        `xml:"custodhist,omitempty" json:"custodhist,omitempty"`
	Cdao               []*Cdao               `xml:"dao,omitempty" json:"dao,omitempty"`
	Cdid               []*Cdid               `xml:"did,omitempty" json:"did,omitempty"`
	Codd               []*Codd               `xml:"odd,omitempty" json:"odd,omitempty"`
	Coriginalsloc      *Coriginalsloc        `xml:"originalsloc,omitempty" json:"originalsloc,omitempty"`
	Cotherfindaid      []*Cotherfindaid      `xml:"otherfindaid,omitempty" json:"otherfindaid,omitempty"`
	Cphystech          []*Cphystech          `xml:"phystech,omitempty" json:"phystech,omitempty"`
	Cprocessinfo       []*Cprocessinfo       `xml:"processinfo,omitempty" json:"processinfo,omitempty"`
	Crelatedmaterial   []*Crelatedmaterial   `xml:"relatedmaterial,omitempty" json:"relatedmaterial,omitempty"`
	Cscopecontent      []*Cscopecontent      `xml:"scopecontent,omitempty" json:"scopecontent,omitempty"`
	Cseparatedmaterial []*Cseparatedmaterial `xml:"separatedmaterial,omitempty" json:"separatedmaterial,omitempty"`
	Cuserestrict       []*Cuserestrict       `xml:"userestrict,omitempty" json:"userestrict,omitempty"`

	Cc []*Cc `xml:"c,omitempty"`
	// not supported by data
	Cfileplan *Cfileplan  `xml:"fileplan,omitempty" json:"fileplan,omitempty"`
	Cdescgrp  []*Cdescgrp `xml:"descgrp,omitempty" json:"descgrp,omitempty"`
}

func (*Cc) GetAttraltrender

func (c *Cc) GetAttraltrender() string

func (*Cc) GetAttrlevel

func (c *Cc) GetAttrlevel() string

func (*Cc) GetAttrotherlevel

func (c *Cc) GetAttrotherlevel() string

func (*Cc) GetCaccessrestrict

func (c *Cc) GetCaccessrestrict() []*Caccessrestrict

func (*Cc) GetCc added in v0.1.6

func (c *Cc) GetCc() *Cc

func (*Cc) GetCdid

func (c *Cc) GetCdid() *Cdid

func (*Cc) GetGenreform

func (c *Cc) GetGenreform() string

func (*Cc) GetMaterial

func (c *Cc) GetMaterial() string

func (*Cc) GetNested

func (c *Cc) GetNested() []CLevel

func (*Cc) GetOdd

func (c *Cc) GetOdd() []*Codd

func (*Cc) GetPhystech

func (c *Cc) GetPhystech() []*Cphystech

func (*Cc) GetScopeContent

func (c *Cc) GetScopeContent() []*Cscopecontent

func (*Cc) GetXMLName

func (c *Cc) GetXMLName() xml.Name

func (*Cc) Triples added in v0.1.1

func (cc *Cc) Triples(s r.Term) ([]*r.Triple, error)

type Cc01

type Cc01 struct {
	XMLName xml.Name `xml:"c01,omitempty"`
	Cc
	Numbered []*Cc02 `xml:"c02,omitempty"`
}

func (*Cc01) GetCc added in v0.1.6

func (c *Cc01) GetCc() *Cc

func (*Cc01) GetNested

func (c *Cc01) GetNested() []CLevel

type Cc02

type Cc02 struct {
	XMLName xml.Name `xml:"c02,omitempty"`
	Cc
	Numbered []*Cc03 `xml:"c03,omitempty"`
}

func (*Cc02) GetCc added in v0.1.6

func (c *Cc02) GetCc() *Cc

func (*Cc02) GetNested

func (c *Cc02) GetNested() []CLevel

type Cc03

type Cc03 struct {
	XMLName xml.Name `xml:"c03,omitempty"`
	Cc
	Numbered []*Cc04 `xml:"c04,omitempty"`
}

func (*Cc03) GetCc added in v0.1.6

func (c *Cc03) GetCc() *Cc

func (*Cc03) GetNested

func (c *Cc03) GetNested() []CLevel

type Cc04

type Cc04 struct {
	XMLName xml.Name `xml:"c04,omitempty"`
	Cc
	Numbered []*Cc05 `xml:"c05,omitempty"`
}

func (*Cc04) GetCc added in v0.1.6

func (c *Cc04) GetCc() *Cc

func (*Cc04) GetNested

func (c *Cc04) GetNested() []CLevel

type Cc05

type Cc05 struct {
	XMLName xml.Name `xml:"c05,omitempty"`
	Cc
	Numbered []*Cc06 `xml:"c06,omitempty"`
}

func (*Cc05) GetCc added in v0.1.6

func (c *Cc05) GetCc() *Cc

func (*Cc05) GetNested

func (c *Cc05) GetNested() []CLevel

type Cc06

type Cc06 struct {
	XMLName xml.Name `xml:"c06,omitempty"`
	Cc
	Numbered []*Cc07 `xml:"c07,omitempty"`
}

func (*Cc06) GetCc added in v0.1.6

func (c *Cc06) GetCc() *Cc

func (*Cc06) GetNested

func (c *Cc06) GetNested() []CLevel

type Cc07

type Cc07 struct {
	XMLName xml.Name `xml:"c07,omitempty"`
	Cc
	Numbered []*Cc08 `xml:"c08,omitempty"`
}

func (*Cc07) GetCc added in v0.1.6

func (c *Cc07) GetCc() *Cc

func (*Cc07) GetNested

func (c *Cc07) GetNested() []CLevel

type Cc08

type Cc08 struct {
	XMLName xml.Name `xml:"c08,omitempty"`
	Cc
	Numbered []*Cc09 `xml:"c09,omitempty"`
}

func (*Cc08) GetCc added in v0.1.6

func (c *Cc08) GetCc() *Cc

func (*Cc08) GetNested

func (c *Cc08) GetNested() []CLevel

type Cc09

type Cc09 struct {
	XMLName xml.Name `xml:"c09,omitempty"`
	Cc
	Numbered []*Cc10 `xml:"c10,omitempty"`
}

func (*Cc09) GetCc added in v0.1.6

func (c *Cc09) GetCc() *Cc

func (*Cc09) GetNested

func (c *Cc09) GetNested() []CLevel

type Cc10

type Cc10 struct {
	XMLName xml.Name `xml:"c10,omitempty"`
	Cc
	Numbered []*Cc11 `xml:"c11,omitempty"`
}

func (*Cc10) GetCc added in v0.1.6

func (c *Cc10) GetCc() *Cc

func (*Cc10) GetNested

func (c *Cc10) GetNested() []CLevel

type Cc11

type Cc11 struct {
	XMLName xml.Name `xml:"c11,omitempty"`
	Cc
	Numbered []*Cc12 `xml:"c12,omitempty"`
}

func (*Cc11) GetCc added in v0.1.6

func (c *Cc11) GetCc() *Cc

func (*Cc11) GetNested

func (c *Cc11) GetNested() []CLevel

type Cc12

type Cc12 struct {
	XMLName xml.Name `xml:"c12,omitempty"`
	Cc
	Numbered []*Cc13 `xml:"c13,omitempty"`
}

func (*Cc12) GetCc added in v0.1.6

func (c *Cc12) GetCc() *Cc

func (*Cc12) GetNested

func (c *Cc12) GetNested() []CLevel

type Cc13

type Cc13 struct {
	XMLName xml.Name `xml:"c13,omitempty"`
	Cc
	Numbered []*Cc14 `xml:"c14,omitempty"`
}

func (*Cc13) GetCc added in v0.1.6

func (c *Cc13) GetCc() *Cc

func (*Cc13) GetNested

func (c *Cc13) GetNested() []CLevel

type Cc14

type Cc14 struct {
	XMLName xml.Name `xml:"c14,omitempty"`
	Cc
	Numbered []*Cc15 `xml:"c15,omitempty"`
}

func (*Cc14) GetCc added in v0.1.6

func (c *Cc14) GetCc() *Cc

func (*Cc14) GetNested

func (c *Cc14) GetNested() []CLevel

type Cc15

type Cc15 struct {
	XMLName xml.Name `xml:"c15,omitempty"`
	Cc
	Numbered []*Cc16 `xml:"c16,omitempty"`
}

func (*Cc15) GetCc added in v0.1.6

func (c *Cc15) GetCc() *Cc

func (*Cc15) GetNested

func (c *Cc15) GetNested() []CLevel

type Cc16

type Cc16 struct {
	XMLName xml.Name `xml:"c16,omitempty"`
	Cc
	Numbered []*Cc17 `xml:"c17,omitempty"`
}

func (*Cc16) GetCc added in v0.1.6

func (c *Cc16) GetCc() *Cc

func (*Cc16) GetNested

func (c *Cc16) GetNested() []CLevel

type Cc17

type Cc17 struct {
	XMLName xml.Name `xml:"c17,omitempty"`
	Cc
	Numbered []*Cc18 `xml:"c18,omitempty"`
}

func (*Cc17) GetCc added in v0.1.6

func (c *Cc17) GetCc() *Cc

func (*Cc17) GetNested

func (c *Cc17) GetNested() []CLevel

type Cc18

type Cc18 struct {
	XMLName xml.Name `xml:"c18,omitempty"`
	Cc
	Numbered []*Cc19 `xml:"c19,omitempty"`
}

func (*Cc18) GetCc added in v0.1.6

func (c *Cc18) GetCc() *Cc

func (*Cc18) GetNested

func (c *Cc18) GetNested() []CLevel

type Cc19

type Cc19 struct {
	XMLName xml.Name `xml:"c19,omitempty"`
	Cc
	Numbered []*Cc20 `xml:"c20,omitempty"`
}

func (*Cc19) GetCc added in v0.1.6

func (c *Cc19) GetCc() *Cc

func (*Cc19) GetNested

func (c *Cc19) GetNested() []CLevel

type Cc20

type Cc20 struct {
	XMLName xml.Name `xml:"c20,omitempty"`
	Cc
}

func (*Cc20) GetCc added in v0.1.6

func (c *Cc20) GetCc() *Cc

func (*Cc20) GetNested

func (c *Cc20) GetNested() []CLevel

type Cchange

type Cchange struct {
	XMLName xml.Name `xml:"change,omitempty" json:"change,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Cdate   []*Cdate `xml:"date,omitempty" json:"date,omitempty"`
	Citem   []*Citem `xml:"item,omitempty" json:"item,omitempty"`
}

type Cchronitem

type Cchronitem struct {
	XMLName   xml.Name   `xml:"chronitem,omitempty" json:"chronitem,omitempty"`
	Raw       []byte     `xml:",innerxml" json:",omitempty"`
	Cdate     []*Cdate   `xml:"date,omitempty" json:"date,omitempty"`
	Cevent    []*Cevent  `xml:"event,omitempty" json:"event,omitempty"`
	Ceventgrp *Ceventgrp `xml:"eventgrp,omitempty" json:"eventgrp,omitempty"`
}

type Cchronlist

type Cchronlist struct {
	XMLName    xml.Name      `xml:"chronlist,omitempty" json:"chronlist,omitempty"`
	Raw        []byte        `xml:",innerxml" json:",omitempty"`
	Cchronitem []*Cchronitem `xml:"chronitem,omitempty" json:"chronitem,omitempty"`
	Chead      []*Chead      `xml:"head,omitempty" json:"head,omitempty"`
	Clisthead  *Clisthead    `xml:"listhead,omitempty" json:"listhead,omitempty"`
}

type Ccolspec added in v0.1.1

type Ccolspec struct {
	XMLName      xml.Name `xml:"colspec,omitempty" json:"colspec,omitempty"`
	Raw          []byte   `xml:",innerxml" json:",omitempty"`
	Attralign    string   `xml:"align,attr"  json:",omitempty"`
	Attrcolname  string   `xml:"colname,attr"  json:",omitempty"`
	Attrcolnum   string   `xml:"colnum,attr"  json:",omitempty"`
	Attrcolsep   string   `xml:"colsep,attr"  json:",omitempty"`
	Attrcolwidth string   `xml:"colwidth,attr"  json:",omitempty"`
}

type Ccontrolaccess

type Ccontrolaccess struct {
	XMLName      xml.Name    `xml:"controlaccess,omitempty" json:"controlaccess,omitempty"`
	Raw          []byte      `xml:",innerxml" json:",omitempty"`
	Attraudience string      `xml:"audience,attr"  json:",omitempty"`
	Cgenreform   *Cgenreform `xml:"genreform,omitempty" json:"genreform,omitempty"`
	Cnote        []*Cnote    `xml:"note,omitempty" json:"note,omitempty"`
	Cp           []*Cp       `xml:"p,omitempty" json:"p,omitempty"`
	Csubject     *Csubject   `xml:"subject,omitempty" json:"subject,omitempty"`
}

type Ccorpname

type Ccorpname struct {
	XMLName            xml.Name `xml:"corpname,omitempty" json:"corpname,omitempty"`
	Raw                []byte   `xml:",innerxml" json:",omitempty"`
	Attrauthfilenumber string   `xml:"authfilenumber,attr"  json:",omitempty"`
	Attrencodinganalog string   `xml:"encodinganalog,attr"  json:",omitempty"`
	Attrnormal         string   `xml:"normal,attr"  json:",omitempty"`
	Attrrole           string   `xml:"role,attr"  json:",omitempty"`
	Attrsource         string   `xml:"source,attr"  json:",omitempty"`
	Corpname           string   `xml:",chardata" json:",omitempty"`
}

type Ccreation

type Ccreation struct {
	XMLName      xml.Name  `xml:"creation,omitempty" json:"creation,omitempty"`
	Raw          []byte    `xml:",innerxml" json:",omitempty"`
	Attraudience string    `xml:"audience,attr"  json:",omitempty"`
	Cdate        []*Cdate  `xml:"date,omitempty" json:"date,omitempty"`
	Clb          []*Clb    `xml:"lb,omitempty" json:"lb,omitempty"`
	Creation     string    `xml:",chardata" json:",omitempty"`
	Ctitle       []*Ctitle `xml:"title,omitempty" json:"title,omitempty"`
}

type Ccustodhist

type Ccustodhist struct {
	XMLName     xml.Name       `xml:"custodhist,omitempty" json:"custodhist,omitempty"`
	Raw         []byte         `xml:",innerxml" json:",omitempty"`
	Cacqinfo    []*Cacqinfo    `xml:"acqinfo,omitempty" json:"acqinfo,omitempty"`
	Ccustodhist []*Ccustodhist `xml:"custodhist,omitempty" json:"custodhist,omitempty"`
	Chead       []*Chead       `xml:"head,omitempty" json:"head,omitempty"`
	Clist       []*Clist       `xml:"list,omitempty" json:"list,omitempty"`
	Codd        []*Codd        `xml:"odd,omitempty" json:"odd,omitempty"`
	Cp          []*Cp          `xml:"p,omitempty" json:"p,omitempty"`
	Ctable      []*Ctable      `xml:"table,omitempty" json:"table,omitempty"`
}

type Cdao

type Cdao struct {
	XMLName      xml.Name `xml:"dao,omitempty" json:"dao,omitempty"`
	Raw          []byte   `xml:",innerxml" json:",omitempty"`
	Attractuate  string   `xml:"actuate,attr"  json:",omitempty"`
	Attraudience string   `xml:"audience,attr"  json:",omitempty"`
	Attrhref     string   `xml:"href,attr"  json:",omitempty"`
	Attrlinktype string   `xml:"linktype,attr"  json:",omitempty"`
	Attrrole     string   `xml:"role,attr"  json:",omitempty"`
	Attrshow     string   `xml:"show,attr"  json:",omitempty"`
}

type Cdate

type Cdate struct {
	XMLName            xml.Name `xml:"date,omitempty" json:"date,omitempty"`
	Raw                []byte   `xml:",innerxml" json:",omitempty"`
	Attrcalendar       string   `xml:"calendar,attr"  json:",omitempty"`
	Attrencodinganalog string   `xml:"encodinganalog,attr"  json:",omitempty"`
	Attrera            string   `xml:"era,attr"  json:",omitempty"`
	Attrnormal         string   `xml:"normal,attr"  json:",omitempty"`
	Attrtype           string   `xml:"type,attr"  json:",omitempty"`
	Date               string   `xml:",chardata" json:",omitempty"`
}

type Cdefitem added in v0.1.1

type Cdefitem struct {
	XMLName xml.Name `xml:"defitem,omitempty" json:"defitem,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Citem   []*Citem `xml:"item,omitempty" json:"item,omitempty"`
	Clabel  *Clabel  `xml:"label,omitempty" json:"label,omitempty"`
}

type Cdescgrp

type Cdescgrp struct {
	XMLName            xml.Name              `xml:"descgrp,omitempty" json:"descgrp,omitempty"`
	Raw                []byte                `xml:",innerxml" json:",omitempty"`
	Attrtype           string                `xml:"type,attr"  json:",omitempty"`
	Caccessrestrict    []*Caccessrestrict    `xml:"accessrestrict,omitempty" json:"accessrestrict,omitempty"`
	Caccruals          []*Caccruals          `xml:"accruals,omitempty" json:"accruals,omitempty"`
	Cacqinfo           []*Cacqinfo           `xml:"acqinfo,omitempty" json:"acqinfo,omitempty"`
	Caltformavail      []*Caltformavail      `xml:"altformavail,omitempty" json:"altformavail,omitempty"`
	Cappraisal         []*Cappraisal         `xml:"appraisal,omitempty" json:"appraisal,omitempty"`
	Carrangement       []*Carrangement       `xml:"arrangement,omitempty" json:"arrangement,omitempty"`
	Cbibliography      []*Cbibliography      `xml:"bibliography,omitempty" json:"bibliography,omitempty"`
	Cbioghist          []*Cbioghist          `xml:"bioghist,omitempty" json:"bioghist,omitempty"`
	Ccontrolaccess     []*Ccontrolaccess     `xml:"controlaccess,omitempty" json:"controlaccess,omitempty"`
	Ccustodhist        []*Ccustodhist        `xml:"custodhist,omitempty" json:"custodhist,omitempty"`
	Cfileplan          *Cfileplan            `xml:"fileplan,omitempty" json:"fileplan,omitempty"`
	Chead              []*Chead              `xml:"head,omitempty" json:"head,omitempty"`
	Cindex             []*Cindex             `xml:"index,omitempty" json:"index,omitempty"`
	Clist              []*Clist              `xml:"list,omitempty" json:"list,omitempty"`
	Codd               []*Codd               `xml:"odd,omitempty" json:"odd,omitempty"`
	Coriginalsloc      *Coriginalsloc        `xml:"originalsloc,omitempty" json:"originalsloc,omitempty"`
	Cotherfindaid      []*Cotherfindaid      `xml:"otherfindaid,omitempty" json:"otherfindaid,omitempty"`
	Cp                 []*Cp                 `xml:"p,omitempty" json:"p,omitempty"`
	Cphystech          []*Cphystech          `xml:"phystech,omitempty" json:"phystech,omitempty"`
	Cprefercite        *Cprefercite          `xml:"prefercite,omitempty" json:"prefercite,omitempty"`
	Cprocessinfo       []*Cprocessinfo       `xml:"processinfo,omitempty" json:"processinfo,omitempty"`
	Crelatedmaterial   []*Crelatedmaterial   `xml:"relatedmaterial,omitempty" json:"relatedmaterial,omitempty"`
	Cscopecontent      []*Cscopecontent      `xml:"scopecontent,omitempty" json:"scopecontent,omitempty"`
	Cseparatedmaterial []*Cseparatedmaterial `xml:"separatedmaterial,omitempty" json:"separatedmaterial,omitempty"`
	Cuserestrict       []*Cuserestrict       `xml:"userestrict,omitempty" json:"userestrict,omitempty"`
}

type Cdescrules

type Cdescrules struct {
	XMLName      xml.Name   `xml:"descrules,omitempty" json:"descrules,omitempty"`
	Raw          []byte     `xml:",innerxml" json:",omitempty"`
	Attraudience string     `xml:"audience,attr"  json:",omitempty"`
	Cbibref      []*Cbibref `xml:"bibref,omitempty" json:"bibref,omitempty"`
	Clb          []*Clb     `xml:"lb,omitempty" json:"lb,omitempty"`
	Ctitle       []*Ctitle  `xml:"title,omitempty" json:"title,omitempty"`
	Descrules    string     `xml:",chardata" json:",omitempty"`
}

type Cdid

type Cdid struct {
	XMLName       xml.Name         `xml:"did,omitempty" json:"did,omitempty"`
	Raw           []byte           `xml:",innerxml" json:",omitempty"`
	Attrid        string           `xml:"id,attr"  json:",omitempty"`
	Cabstract     *Cabstract       `xml:"abstract,omitempty" json:"abstract,omitempty"`
	Cdao          []*Cdao          `xml:"dao,omitempty" json:"dao,omitempty"`
	Chead         []*Chead         `xml:"head,omitempty" json:"head,omitempty"`
	Clangmaterial *Clangmaterial   `xml:"langmaterial,omitempty" json:"langmaterial,omitempty"`
	Cmaterialspec []*Cmaterialspec `xml:"materialspec,omitempty" json:"materialspec,omitempty"`
	Corigination  *Corigination    `xml:"origination,omitempty" json:"origination,omitempty"`
	Cphysdesc     []*Cphysdesc     `xml:"physdesc,omitempty" json:"physdesc,omitempty"`
	Cphysloc      []*Cphysloc      `xml:"physloc,omitempty" json:"physloc,omitempty"`
	Crepository   *Crepository     `xml:"repository,omitempty" json:"repository,omitempty"`
	Cunitdate     []*Cunitdate     `xml:"unitdate,omitempty" json:"unitdate,omitempty"`
	Cunitid       []*Cunitid       `xml:"unitid,omitempty" json:"unitid,omitempty"`
	Cunittitle    []*Cunittitle    `xml:"unittitle,omitempty" json:"unittitle,omitempty"`
}

func (*Cdid) NewHeader

func (cdid *Cdid) NewHeader() (*Header, error)

NewHeader creates an Archival Header

func (*Cdid) NewNodeIDs

func (cdid *Cdid) NewNodeIDs() ([]*NodeID, string, error)

NewNodeIDs extract Unit Identifiers from the EAD did

func (*Cdid) Triples added in v0.1.1

func (cdid *Cdid) Triples(referrerSubject r.Term) ([]*r.Triple, error)

type Cdimensions added in v0.1.1

type Cdimensions struct {
	XMLName    xml.Name `xml:"dimensions,omitempty" json:"dimensions,omitempty"`
	Raw        []byte   `xml:",innerxml" json:",omitempty"`
	Attrtype   string   `xml:"type,attr"  json:",omitempty"`
	Dimensions string   `xml:",chardata" json:",omitempty"`
}

type Cdiv added in v0.1.8

type Cdiv struct {
	XMLName        xml.Name `xml:"div,omitempty" json:"div,omitempty"`
	AttrID         string   `xml:"ID,attr"  json:",omitempty"`
	AttrLABEL      string   `xml:"LABEL,attr"  json:",omitempty"`
	AttrORDER      string   `xml:"ORDER,attr"  json:",omitempty"`
	AttrORDERLABEL string   `xml:"ORDERLABEL,attr"  json:",omitempty"`
	Cdiv           []*Cdiv  `xml:"http://www.loc.gov/METS/ div,omitempty" json:"div,omitempty"`
	Cfptr          []*Cfptr `xml:"http://www.loc.gov/METS/ fptr,omitempty" json:"fptr,omitempty"`
}

nolint:govet

type Cdsc

type Cdsc struct {
	XMLName  xml.Name `xml:"dsc,omitempty" json:"dsc,omitempty"`
	Raw      []byte   `xml:",innerxml" json:",omitempty"`
	Attrtype string   `xml:"type,attr"  json:",omitempty"`
	Cc       []*Cc    `xml:"c,omitempty" json:"c,omitempty"`
	Numbered []*Cc01  `xml:"c01,omitempty" json:"c,omitempty"`
	Chead    []*Chead `xml:"head,omitempty" json:"head,omitempty"`
	Cp       []*Cp    `xml:"p,omitempty" json:"p,omitempty"`
}

func (*Cdsc) NewNodeList

func (dsc *Cdsc) NewNodeList(cfg *NodeConfig) (*NodeList, uint64, error)

NewNodeList converts the Archival Description Level to a Nodelist Nodelist is an optimized lossless Protocol Buffer container.

type Cead

type Cead struct {
	XMLName                    xml.Name    `xml:"ead,omitempty" json:"ead,omitempty"`
	Attraudience               string      `xml:"audience,attr,omitempty"  json:",omitempty"`
	AttrXsiSpaceschemaLocation string      `xml:"xsi:schemaLocation,attr,omitempty"  json:",omitempty"`
	AttrXmlnsxlink             string      `xml:"xmlns:xlink,attr,omitempty"  json:",omitempty"`
	Attrxmlns                  string      `xml:"xmlns,attr,omitempty"  json:",omitempty"`
	AttrXmlnsxsi               string      `xml:"xmlns:xsi,attr,omitempty"  json:",omitempty"`
	Ceadheader                 *Ceadheader `xml:"eadheader,omitempty" json:"eadheader,omitempty"`
	Carchdesc                  *Carchdesc  `xml:"archdesc,omitempty" json:"archdesc,omitempty"`
}

do not include Raw

func ReadEAD

func ReadEAD(fpath string) (*Cead, error)

ReadEAD reads an ead2002 XML from a path

func (*Cead) DescriptionGraph

func (cead *Cead) DescriptionGraph(cfg *NodeConfig, unitInfo *UnitInfo) (*fragments.FragmentGraph, *fragments.ResourceMap, error)

DescriptionGraph returns the graph of the Description section (archdesc, descgroups, desc/did) as a FragmentGraph

func (*Cead) RawDescription

func (cead *Cead) RawDescription() []byte

RawDescription returns the EAD description stripped of all markup.

func (*Cead) SaveDescription

func (cead *Cead) SaveDescription(cfg *NodeConfig, unitInfo *UnitInfo) error

SaveDescription stores the FragmentGraph of the EAD description in ElasticSearch

type Ceadheader

type Ceadheader struct {
	XMLName                xml.Name       `xml:"eadheader,omitempty" json:"eadheader,omitempty"`
	Raw                    []byte         `xml:",innerxml" json:",omitempty"`
	Attrcountryencoding    string         `xml:"countryencoding,attr"  json:",omitempty"`
	Attrdateencoding       string         `xml:"dateencoding,attr"  json:",omitempty"`
	Attrfindaidstatus      string         `xml:"findaidstatus,attr"  json:",omitempty"`
	Attrlangencoding       string         `xml:"langencoding,attr"  json:",omitempty"`
	Attrrepositoryencoding string         `xml:"repositoryencoding,attr"  json:",omitempty"`
	Attrscriptencoding     string         `xml:"scriptencoding,attr"  json:",omitempty"`
	Ceadid                 *Ceadid        `xml:"eadid,omitempty" json:"eadid,omitempty"`
	Cfiledesc              *Cfiledesc     `xml:"filedesc,omitempty" json:"filedesc,omitempty"`
	Cprofiledesc           *Cprofiledesc  `xml:"profiledesc,omitempty" json:"profiledesc,omitempty"`
	Crevisiondesc          *Crevisiondesc `xml:"revisiondesc,omitempty" json:"revisiondesc,omitempty"`
}

func (*Ceadheader) GetOwner

func (eh *Ceadheader) GetOwner() string

GetOwner returns the owner of the EAD

func (*Ceadheader) GetTitle

func (eh *Ceadheader) GetTitle() string

GetTitle returns the title of the EAD

type Ceadid

type Ceadid struct {
	XMLName            xml.Name `xml:"eadid,omitempty" json:"eadid,omitempty"`
	Raw                []byte   `xml:",innerxml" json:",omitempty"`
	Attrcountrycode    string   `xml:"countrycode,attr"  json:",omitempty"`
	Attrmainagencycode string   `xml:"mainagencycode,attr"  json:",omitempty"`
	Attrpublicid       string   `xml:"publicid,attr"  json:",omitempty"`
	Attrurl            string   `xml:"url,attr"  json:",omitempty"`
	Attrurn            string   `xml:"urn,attr"  json:",omitempty"`
	EadID              string   `xml:",chardata" json:",omitempty"`
}

type Cedition

type Cedition struct {
	XMLName xml.Name `xml:"edition,omitempty" json:"edition,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Edition string   `xml:",chardata" json:",omitempty"`
}

type Ceditionstmt

type Ceditionstmt struct {
	XMLName  xml.Name  `xml:"editionstmt,omitempty" json:"editionstmt,omitempty"`
	Raw      []byte    `xml:",innerxml" json:",omitempty"`
	Cedition *Cedition `xml:"edition,omitempty" json:"edition,omitempty"`
}

type Cemph

type Cemph struct {
	XMLName       xml.Name `xml:"emph,omitempty" json:"emph,omitempty"`
	Raw           []byte   `xml:",innerxml" json:",omitempty"`
	Attraltrender string   `xml:"altrender,attr"  json:",omitempty"`
	Attrrender    string   `xml:"render,attr"  json:",omitempty"`
	Emph          string   `xml:",chardata" json:",omitempty"`
}

type Centry added in v0.1.1

type Centry struct {
	XMLName     xml.Name      `xml:"entry,omitempty" json:"entry,omitempty"`
	Raw         []byte        `xml:",innerxml" json:",omitempty"`
	Attralign   string        `xml:"align,attr"  json:",omitempty"`
	Attrchar    string        `xml:"char,attr"  json:",omitempty"`
	Attrcharoff string        `xml:"charoff,attr"  json:",omitempty"`
	Attrcolname string        `xml:"colname,attr"  json:",omitempty"`
	Attrcolsep  string        `xml:"colsep,attr"  json:",omitempty"`
	Attrnameend string        `xml:"nameend,attr"  json:",omitempty"`
	Attrnamest  string        `xml:"namest,attr"  json:",omitempty"`
	Attrrowsep  string        `xml:"rowsep,attr"  json:",omitempty"`
	Attrvalign  string        `xml:"valign,attr"  json:",omitempty"`
	Carchref    []*Carchref   `xml:"archref,omitempty" json:"archref,omitempty"`
	Cbibref     []*Cbibref    `xml:"bibref,omitempty" json:"bibref,omitempty"`
	Ccorpname   []*Ccorpname  `xml:"corpname,omitempty" json:"corpname,omitempty"`
	Cdate       []*Cdate      `xml:"date,omitempty" json:"date,omitempty"`
	Cemph       []*Cemph      `xml:"emph,omitempty" json:"emph,omitempty"`
	Cfamname    []*Cfamname   `xml:"famname,omitempty" json:"famname,omitempty"`
	Cfunction   *Cfunction    `xml:"function,omitempty" json:"function,omitempty"`
	Cgeogname   []*Cgeogname  `xml:"geogname,omitempty" json:"geogname,omitempty"`
	Clb         []*Clb        `xml:"lb,omitempty" json:"lb,omitempty"`
	Clist       []*Clist      `xml:"list,omitempty" json:"list,omitempty"`
	Cname       []*Cname      `xml:"name,omitempty" json:"name,omitempty"`
	Cnote       []*Cnote      `xml:"note,omitempty" json:"note,omitempty"`
	Cpersname   []*Cpersname  `xml:"persname,omitempty" json:"persname,omitempty"`
	Cref        []*Cref       `xml:"ref,omitempty" json:"ref,omitempty"`
	Csubject    *Csubject     `xml:"subject,omitempty" json:"subject,omitempty"`
	Ctitle      []*Ctitle     `xml:"title,omitempty" json:"title,omitempty"`
	Cunitdate   []*Cunitdate  `xml:"unitdate,omitempty" json:"unitdate,omitempty"`
	Cunittitle  []*Cunittitle `xml:"unittitle,omitempty" json:"unittitle,omitempty"`
	Entry       string        `xml:",chardata" json:",omitempty"`
}

type Cevent

type Cevent struct {
	XMLName   xml.Name     `xml:"event,omitempty" json:"event,omitempty"`
	Raw       []byte       `xml:",innerxml" json:",omitempty"`
	Clb       []*Clb       `xml:"lb,omitempty" json:"lb,omitempty"`
	Clist     []*Clist     `xml:"list,omitempty" json:"list,omitempty"`
	Cnote     []*Cnote     `xml:"note,omitempty" json:"note,omitempty"`
	Cpersname []*Cpersname `xml:"persname,omitempty" json:"persname,omitempty"`
	Event     string       `xml:",chardata" json:",omitempty"`
}

type Ceventgrp added in v0.1.1

type Ceventgrp struct {
	XMLName xml.Name  `xml:"eventgrp,omitempty" json:"eventgrp,omitempty"`
	Raw     []byte    `xml:",innerxml" json:",omitempty"`
	Cevent  []*Cevent `xml:"event,omitempty" json:"event,omitempty"`
}

type Cextent

type Cextent struct {
	XMLName  xml.Name `xml:"extent,omitempty" json:"extent,omitempty"`
	Raw      []byte   `xml:",innerxml" json:",omitempty"`
	Attrunit string   `xml:"unit,attr"  json:",omitempty"`
	Extent   string   `xml:",chardata" json:",omitempty"`
}

type Cextptr added in v0.1.1

type Cextptr struct {
	XMLName      xml.Name `xml:"extptr,omitempty" json:"extptr,omitempty"`
	Raw          []byte   `xml:",innerxml" json:",omitempty"`
	Attractuate  string   `xml:"actuate,attr"  json:",omitempty"`
	Attrhref     string   `xml:"href,attr"  json:",omitempty"`
	Attrlinktype string   `xml:"linktype,attr"  json:",omitempty"`
	Attrshow     string   `xml:"show,attr"  json:",omitempty"`
}

type Cextref

type Cextref struct {
	XMLName      xml.Name  `xml:"extref,omitempty" json:"extref,omitempty"`
	Raw          []byte    `xml:",innerxml" json:",omitempty"`
	Attractuate  string    `xml:"actuate,attr"  json:",omitempty"`
	Attrhref     string    `xml:"href,attr"  json:",omitempty"`
	Attrlinktype string    `xml:"linktype,attr"  json:",omitempty"`
	Attrshow     string    `xml:"show,attr"  json:",omitempty"`
	Ctitle       []*Ctitle `xml:"title,omitempty" json:"title,omitempty"`
	Extref       string    `xml:",chardata" json:",omitempty"`
}

type Cfamname added in v0.1.1

type Cfamname struct {
	XMLName    xml.Name `xml:"famname,omitempty" json:"famname,omitempty"`
	Raw        []byte   `xml:",innerxml" json:",omitempty"`
	Attrnormal string   `xml:"normal,attr"  json:",omitempty"`
	Famname    string   `xml:",chardata" json:",omitempty"`
}

type Cfile added in v0.1.8

type Cfile struct {
	XMLName      xml.Name `xml:"file,omitempty" json:"file,omitempty"`
	AttrID       string   `xml:"ID,attr"  json:",omitempty"`
	AttrMIMETYPE string   `xml:"MIMETYPE,attr"  json:",omitempty"`
	AttrSIZE     string   `xml:"SIZE,attr"  json:",omitempty"`
	AttrUSE      string   `xml:"USE,attr"  json:",omitempty"`
	CFLocat      *CFLocat `xml:"http://www.loc.gov/METS/ FLocat,omitempty" json:"FLocat,omitempty"`
}

type CfileGrp added in v0.1.8

type CfileGrp struct {
	XMLName xml.Name `xml:"fileGrp,omitempty" json:"fileGrp,omitempty"`
	AttrUSE string   `xml:"USE,attr"  json:",omitempty"`
	Cfile   []*Cfile `xml:"http://www.loc.gov/METS/ file,omitempty" json:"file,omitempty"`
}

type CfileSec added in v0.1.8

type CfileSec struct {
	XMLName  xml.Name    `xml:"fileSec,omitempty" json:"fileSec,omitempty"`
	CfileGrp []*CfileGrp `xml:"http://www.loc.gov/METS/ fileGrp,omitempty" json:"fileGrp,omitempty"`
}

type Cfiledesc

type Cfiledesc struct {
	XMLName          xml.Name          `xml:"filedesc,omitempty" json:"filedesc,omitempty"`
	Raw              []byte            `xml:",innerxml" json:",omitempty"`
	Ceditionstmt     *Ceditionstmt     `xml:"editionstmt,omitempty" json:"editionstmt,omitempty"`
	Cnotestmt        *Cnotestmt        `xml:"notestmt,omitempty" json:"notestmt,omitempty"`
	Cpublicationstmt *Cpublicationstmt `xml:"publicationstmt,omitempty" json:"publicationstmt,omitempty"`
	Ctitlestmt       *Ctitlestmt       `xml:"titlestmt,omitempty" json:"titlestmt,omitempty"`
}

type Cfileplan added in v0.1.1

type Cfileplan struct {
	XMLName   xml.Name   `xml:"fileplan,omitempty" json:"fileplan,omitempty"`
	Raw       []byte     `xml:",innerxml" json:",omitempty"`
	Cfileplan *Cfileplan `xml:"fileplan,omitempty" json:"fileplan,omitempty"`
	Chead     []*Chead   `xml:"head,omitempty" json:"head,omitempty"`
	Clist     []*Clist   `xml:"list,omitempty" json:"list,omitempty"`
	Cp        []*Cp      `xml:"p,omitempty" json:"p,omitempty"`
	Ctable    []*Ctable  `xml:"table,omitempty" json:"table,omitempty"`
}

type Cfptr added in v0.1.8

type Cfptr struct {
	XMLName    xml.Name `xml:"fptr,omitempty" json:"fptr,omitempty"`
	AttrFILEID string   `xml:"FILEID,attr"  json:",omitempty"`
}

type Cfunction added in v0.1.1

type Cfunction struct {
	XMLName  xml.Name `xml:"function,omitempty" json:"function,omitempty"`
	Raw      []byte   `xml:",innerxml" json:",omitempty"`
	Function string   `xml:",chardata" json:",omitempty"`
}

type Cgenreform

type Cgenreform struct {
	XMLName   xml.Name `xml:"genreform,omitempty" json:"genreform,omitempty"`
	Raw       []byte   `xml:",innerxml" json:",omitempty"`
	Attrtype  string   `xml:"type,attr"  json:",omitempty"`
	Genreform string   `xml:",chardata" json:",omitempty"`
}

type Cgeogname added in v0.1.1

type Cgeogname struct {
	XMLName            xml.Name `xml:"geogname,omitempty" json:"geogname,omitempty"`
	Raw                []byte   `xml:",innerxml" json:",omitempty"`
	Attrencodinganalog string   `xml:"encodinganalog,attr"  json:",omitempty"`
	Attrnormal         string   `xml:"normal,attr"  json:",omitempty"`
	Geogname           string   `xml:",chardata" json:",omitempty"`
}

type Chead

type Chead struct {
	XMLName xml.Name `xml:"head,omitempty" json:"head,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Attrid  string   `xml:"id,attr"  json:",omitempty"`
	Clb     []*Clb   `xml:"lb,omitempty" json:"lb,omitempty"`
	Head    string   `xml:",chardata" json:",omitempty"`
}

type Chead01 added in v0.1.1

type Chead01 struct {
	XMLName xml.Name `xml:"head01,omitempty" json:"head01,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Head01  string   `xml:",chardata" json:",omitempty"`
}

type Chead02 added in v0.1.1

type Chead02 struct {
	XMLName xml.Name `xml:"head02,omitempty" json:"head02,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Head02  string   `xml:",chardata" json:",omitempty"`
}

type Cimprint added in v0.1.1

type Cimprint struct {
	XMLName    xml.Name     `xml:"imprint,omitempty" json:"imprint,omitempty"`
	Raw        []byte       `xml:",innerxml" json:",omitempty"`
	Cdate      []*Cdate     `xml:"date,omitempty" json:"date,omitempty"`
	Cgeogname  []*Cgeogname `xml:"geogname,omitempty" json:"geogname,omitempty"`
	Cpublisher *Cpublisher  `xml:"publisher,omitempty" json:"publisher,omitempty"`
	Imprint    string       `xml:",chardata" json:",omitempty"`
}

type Cindex added in v0.1.1

type Cindex struct {
	XMLName     xml.Name       `xml:"index,omitempty" json:"index,omitempty"`
	Raw         []byte         `xml:",innerxml" json:",omitempty"`
	Chead       []*Chead       `xml:"head,omitempty" json:"head,omitempty"`
	Cindexentry []*Cindexentry `xml:"indexentry,omitempty" json:"indexentry,omitempty"`
	Clisthead   *Clisthead     `xml:"listhead,omitempty" json:"listhead,omitempty"`
	Cp          []*Cp          `xml:"p,omitempty" json:"p,omitempty"`
}

type Cindexentry added in v0.1.1

type Cindexentry struct {
	XMLName   xml.Name     `xml:"indexentry,omitempty" json:"indexentry,omitempty"`
	Raw       []byte       `xml:",innerxml" json:",omitempty"`
	Ccorpname []*Ccorpname `xml:"corpname,omitempty" json:"corpname,omitempty"`
	Cgeogname []*Cgeogname `xml:"geogname,omitempty" json:"geogname,omitempty"`
	Cname     []*Cname     `xml:"name,omitempty" json:"name,omitempty"`
	Cpersname []*Cpersname `xml:"persname,omitempty" json:"persname,omitempty"`
	Cptrgrp   *Cptrgrp     `xml:"ptrgrp,omitempty" json:"ptrgrp,omitempty"`
	Cref      []*Cref      `xml:"ref,omitempty" json:"ref,omitempty"`
	Csubject  *Csubject    `xml:"subject,omitempty" json:"subject,omitempty"`
	Ctitle    []*Ctitle    `xml:"title,omitempty" json:"title,omitempty"`
}

type Citem

type Citem struct {
	XMLName    xml.Name      `xml:"item,omitempty" json:"item,omitempty"`
	Raw        []byte        `xml:",innerxml" json:",omitempty"`
	Carchref   []*Carchref   `xml:"archref,omitempty" json:"archref,omitempty"`
	Cbibref    []*Cbibref    `xml:"bibref,omitempty" json:"bibref,omitempty"`
	Cchronlist []*Cchronlist `xml:"chronlist,omitempty" json:"chronlist,omitempty"`
	Ccorpname  []*Ccorpname  `xml:"corpname,omitempty" json:"corpname,omitempty"`
	Cdate      []*Cdate      `xml:"date,omitempty" json:"date,omitempty"`
	Cemph      []*Cemph      `xml:"emph,omitempty" json:"emph,omitempty"`
	Cextref    []*Cextref    `xml:"extref,omitempty" json:"extref,omitempty"`
	Cgeogname  []*Cgeogname  `xml:"geogname,omitempty" json:"geogname,omitempty"`
	Citem      []*Citem      `xml:"item,omitempty" json:"item,omitempty"`
	Clb        []*Clb        `xml:"lb,omitempty" json:"lb,omitempty"`
	Clist      []*Clist      `xml:"list,omitempty" json:"list,omitempty"`
	Cname      []*Cname      `xml:"name,omitempty" json:"name,omitempty"`
	Cnote      []*Cnote      `xml:"note,omitempty" json:"note,omitempty"`
	Cnum       []*Cnum       `xml:"num,omitempty" json:"num,omitempty"`
	Cpersname  []*Cpersname  `xml:"persname,omitempty" json:"persname,omitempty"`
	Cref       []*Cref       `xml:"ref,omitempty" json:"ref,omitempty"`
	Csubject   *Csubject     `xml:"subject,omitempty" json:"subject,omitempty"`
	Ctitle     []*Ctitle     `xml:"title,omitempty" json:"title,omitempty"`
	Cunitdate  []*Cunitdate  `xml:"unitdate,omitempty" json:"unitdate,omitempty"`
	Cunittitle []*Cunittitle `xml:"unittitle,omitempty" json:"unittitle,omitempty"`
	Item       string        `xml:",chardata" json:",omitempty"`
}

type Clabel added in v0.1.1

type Clabel struct {
	XMLName xml.Name `xml:"label,omitempty" json:"label,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Label   string   `xml:",chardata" json:",omitempty"`
}

type Clangmaterial

type Clangmaterial struct {
	XMLName      xml.Name     `xml:"langmaterial,omitempty" json:"langmaterial,omitempty"`
	Raw          []byte       `xml:",innerxml" json:",omitempty"`
	Attrlabel    string       `xml:"label,attr"  json:",omitempty"`
	Clanguage    []*Clanguage `xml:"language,omitempty" json:"language,omitempty"`
	Clb          []*Clb       `xml:"lb,omitempty" json:"lb,omitempty"`
	Langmaterial string       `xml:",chardata" json:",omitempty"`
}

type Clanguage

type Clanguage struct {
	XMLName        xml.Name `xml:"language,omitempty" json:"language,omitempty"`
	Raw            []byte   `xml:",innerxml" json:",omitempty"`
	Attrlangcode   string   `xml:"langcode,attr"  json:",omitempty"`
	Attrscriptcode string   `xml:"scriptcode,attr"  json:",omitempty"`
	Language       string   `xml:",chardata" json:",omitempty"`
}

type Clangusage

type Clangusage struct {
	XMLName   xml.Name     `xml:"langusage,omitempty" json:"langusage,omitempty"`
	Raw       []byte       `xml:",innerxml" json:",omitempty"`
	Clanguage []*Clanguage `xml:"language,omitempty" json:"language,omitempty"`
	Langusage string       `xml:",chardata" json:",omitempty"`
}

type Clb

type Clb struct {
	XMLName xml.Name `xml:"lb,omitempty" json:"lb,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
}

type Clegalstatus

type Clegalstatus struct {
	XMLName     xml.Name `xml:"legalstatus,omitempty" json:"legalstatus,omitempty"`
	Raw         []byte   `xml:",innerxml" json:",omitempty"`
	Attrtype    string   `xml:"type,attr"  json:",omitempty"`
	Legalstatus string   `xml:",chardata" json:",omitempty"`
}

type Clist

type Clist struct {
	XMLName          xml.Name    `xml:"list,omitempty" json:"list,omitempty"`
	Raw              []byte      `xml:",innerxml" json:",omitempty"`
	Attrcontinuation string      `xml:"continuation,attr"  json:",omitempty"`
	Attrmark         string      `xml:"mark,attr"  json:",omitempty"`
	Attrnumeration   string      `xml:"numeration,attr"  json:",omitempty"`
	Attrtype         string      `xml:"type,attr"  json:",omitempty"`
	Cdefitem         []*Cdefitem `xml:"defitem,omitempty" json:"defitem,omitempty"`
	Chead            []*Chead    `xml:"head,omitempty" json:"head,omitempty"`
	Citem            []*Citem    `xml:"item,omitempty" json:"item,omitempty"`
	Clisthead        *Clisthead  `xml:"listhead,omitempty" json:"listhead,omitempty"`
}

type Clisthead added in v0.1.1

type Clisthead struct {
	XMLName xml.Name `xml:"listhead,omitempty" json:"listhead,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Chead01 *Chead01 `xml:"head01,omitempty" json:"head01,omitempty"`
	Chead02 *Chead02 `xml:"head02,omitempty" json:"head02,omitempty"`
}

type Cmaterialspec

type Cmaterialspec struct {
	XMLName      xml.Name `xml:"materialspec,omitempty" json:"materialspec,omitempty"`
	Raw          []byte   `xml:",innerxml" json:",omitempty"`
	Attrlabel    string   `xml:"label,attr"  json:",omitempty"`
	Attrtype     string   `xml:"type,attr"  json:",omitempty"`
	Clb          []*Clb   `xml:"lb,omitempty" json:"lb,omitempty"`
	Materialspec string   `xml:",chardata" json:",omitempty"`
}

type CmdWrap added in v0.1.8

type CmdWrap struct {
	XMLName         xml.Name  `xml:"mdWrap,omitempty" json:"mdWrap,omitempty"`
	AttrMDTYPE      string    `xml:"MDTYPE,attr"  json:",omitempty"`
	AttrOTHERMDTYPE string    `xml:"OTHERMDTYPE,attr"  json:",omitempty"`
	CxmlData        *CxmlData `xml:"http://www.loc.gov/METS/ xmlData,omitempty" json:"xmlData,omitempty"`
}

type Cmets added in v0.1.8

type Cmets struct {
	XMLName                    xml.Name    `xml:"mets,omitempty" json:"mets,omitempty"`
	AttrPROFILE                string      `xml:"PROFILE,attr"  json:",omitempty"`
	AttrXmlnsrts               string      `xml:"xmlns rts,attr"  json:",omitempty"`
	AttrXsiSpaceschemaLocation string      `xml:"http://www.w3.org/2001/XMLSchema-instance schemaLocation,attr"  json:",omitempty"`
	AttrXmlnsxlink             string      `xml:"xmlns xlink,attr"  json:",omitempty"`
	Attrxmlns                  string      `xml:"xmlns,attr"  json:",omitempty"`
	AttrXmlnsxs                string      `xml:"xmlns xs,attr"  json:",omitempty"`
	AttrXmlnsxsi               string      `xml:"xmlns xsi,attr"  json:",omitempty"`
	CamdSec                    *CamdSec    `xml:"http://www.loc.gov/METS/ amdSec,omitempty" json:"amdSec,omitempty"`
	CfileSec                   *CfileSec   `xml:"http://www.loc.gov/METS/ fileSec,omitempty" json:"fileSec,omitempty"`
	CmetsHdr                   *CmetsHdr   `xml:"http://www.loc.gov/METS/ metsHdr,omitempty" json:"metsHdr,omitempty"`
	CstructMap                 *CstructMap `xml:"http://www.loc.gov/METS/ structMap,omitempty" json:"structMap,omitempty"`
}

type CmetsDocumentID added in v0.1.8

type CmetsDocumentID struct {
	XMLName xml.Name `xml:"metsDocumentID,omitempty" json:"metsDocumentID,omitempty"`
	Text    string   `xml:",chardata" json:",omitempty"`
}

type CmetsHdr added in v0.1.8

type CmetsHdr struct {
	XMLName          xml.Name         `xml:"metsHdr,omitempty" json:"metsHdr,omitempty"`
	AttrCREATEDATE   string           `xml:"CREATEDATE,attr"  json:",omitempty"`
	AttrLASTMODDATE  string           `xml:"LASTMODDATE,attr"  json:",omitempty"`
	AttrRECORDSTATUS string           `xml:"RECORDSTATUS,attr"  json:",omitempty"`
	Cagent           []*Cagent        `xml:"http://www.loc.gov/METS/ agent,omitempty" json:"agent,omitempty"`
	CaltRecordID     *CaltRecordID    `xml:"http://www.loc.gov/METS/ altRecordID,omitempty" json:"altRecordID,omitempty"`
	CmetsDocumentID  *CmetsDocumentID `xml:"http://www.loc.gov/METS/ metsDocumentID,omitempty" json:"metsDocumentID,omitempty"`
}

type Cmname added in v0.1.8

type Cmname struct {
	XMLName xml.Name `xml:"name,omitempty" json:"name,omitempty"`
	Text    string   `xml:",chardata" json:",omitempty"`
}

type Cname added in v0.1.1

type Cname struct {
	XMLName  xml.Name `xml:"name,omitempty" json:"name,omitempty"`
	Raw      []byte   `xml:",innerxml" json:",omitempty"`
	Attrrole string   `xml:"role,attr"  json:",omitempty"`
	Name     string   `xml:",chardata" json:",omitempty"`
}

type Cnote

type Cnote struct {
	XMLName  xml.Name  `xml:"note,omitempty" json:"note,omitempty"`
	Raw      []byte    `xml:",innerxml" json:",omitempty"`
	Attrtype string    `xml:"type,attr"  json:",omitempty"`
	Cp       []*Cp     `xml:"p,omitempty" json:"p,omitempty"`
	Ctitle   []*Ctitle `xml:"title,omitempty" json:"title,omitempty"`
	Note     string    `xml:",chardata" json:",omitempty"`
}

type Cnotestmt added in v0.1.1

type Cnotestmt struct {
	XMLName  xml.Name   `xml:"notestmt,omitempty" json:"notestmt,omitempty"`
	Raw      []byte     `xml:",innerxml" json:",omitempty"`
	Cextref  []*Cextref `xml:"extref,omitempty" json:"extref,omitempty"`
	Clb      []*Clb     `xml:"lb,omitempty" json:"lb,omitempty"`
	Cnote    []*Cnote   `xml:"note,omitempty" json:"note,omitempty"`
	Notestmt string     `xml:",chardata" json:",omitempty"`
}

type Cnum added in v0.1.1

type Cnum struct {
	XMLName  xml.Name `xml:"num,omitempty" json:"num,omitempty"`
	Raw      []byte   `xml:",innerxml" json:",omitempty"`
	Attrtype string   `xml:"type,attr"  json:",omitempty"`
	Num      string   `xml:",chardata" json:",omitempty"`
}

type Codd

type Codd struct {
	XMLName    xml.Name      `xml:"odd,omitempty" json:"odd,omitempty"`
	Raw        []byte        `xml:",innerxml" json:",omitempty"`
	Attrtype   string        `xml:"type,attr"  json:",omitempty"`
	Cchronlist []*Cchronlist `xml:"chronlist,omitempty" json:"chronlist,omitempty"`
	Chead      []*Chead      `xml:"head,omitempty" json:"head,omitempty"`
	Clist      []*Clist      `xml:"list,omitempty" json:"list,omitempty"`
	Codd       []*Codd       `xml:"odd,omitempty" json:"odd,omitempty"`
	Cp         []*Cp         `xml:"p,omitempty" json:"p,omitempty"`
	Csubject   *Csubject     `xml:"subject,omitempty" json:"subject,omitempty"`
	Ctable     []*Ctable     `xml:"table,omitempty" json:"table,omitempty"`
}

type Coriginalsloc added in v0.1.1

type Coriginalsloc struct {
	XMLName xml.Name  `xml:"originalsloc,omitempty" json:"originalsloc,omitempty"`
	Raw     []byte    `xml:",innerxml" json:",omitempty"`
	Chead   []*Chead  `xml:"head,omitempty" json:"head,omitempty"`
	Cp      []*Cp     `xml:"p,omitempty" json:"p,omitempty"`
	Ctable  []*Ctable `xml:"table,omitempty" json:"table,omitempty"`
}

type Corigination

type Corigination struct {
	XMLName     xml.Name     `xml:"origination,omitempty" json:"origination,omitempty"`
	Raw         []byte       `xml:",innerxml" json:",omitempty"`
	Attrlabel   string       `xml:"label,attr"  json:",omitempty"`
	Ccorpname   []*Ccorpname `xml:"corpname,omitempty" json:"corpname,omitempty"`
	Cfamname    []*Cfamname  `xml:"famname,omitempty" json:"famname,omitempty"`
	Cpersname   []*Cpersname `xml:"persname,omitempty" json:"persname,omitempty"`
	Origination string       `xml:",chardata" json:",omitempty"`
}

type Cotherfindaid added in v0.1.1

type Cotherfindaid struct {
	XMLName xml.Name `xml:"otherfindaid,omitempty" json:"otherfindaid,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Chead   []*Chead `xml:"head,omitempty" json:"head,omitempty"`
	Clist   []*Clist `xml:"list,omitempty" json:"list,omitempty"`
	Cp      []*Cp    `xml:"p,omitempty" json:"p,omitempty"`
}

type Cp

type Cp struct {
	XMLName       xml.Name      `xml:"p,omitempty" json:"p,omitempty"`
	Raw           []byte        `xml:",innerxml" json:",omitempty"`
	Attraltrender string        `xml:"altrender,attr"  json:",omitempty"`
	Attrid        string        `xml:"id,attr"  json:",omitempty"`
	Carchref      []*Carchref   `xml:"archref,omitempty" json:"archref,omitempty"`
	Cbibref       []*Cbibref    `xml:"bibref,omitempty" json:"bibref,omitempty"`
	Cblockquote   *Cblockquote  `xml:"blockquote,omitempty" json:"blockquote,omitempty"`
	Cchronlist    []*Cchronlist `xml:"chronlist,omitempty" json:"chronlist,omitempty"`
	Ccorpname     []*Ccorpname  `xml:"corpname,omitempty" json:"corpname,omitempty"`
	Cdate         []*Cdate      `xml:"date,omitempty" json:"date,omitempty"`
	Cemph         []*Cemph      `xml:"emph,omitempty" json:"emph,omitempty"`
	Cextptr       []*Cextptr    `xml:"extptr,omitempty" json:"extptr,omitempty"`
	Cextref       []*Cextref    `xml:"extref,omitempty" json:"extref,omitempty"`
	Cgeogname     []*Cgeogname  `xml:"geogname,omitempty" json:"geogname,omitempty"`
	Clb           []*Clb        `xml:"lb,omitempty" json:"lb,omitempty"`
	Clist         []*Clist      `xml:"list,omitempty" json:"list,omitempty"`
	Cname         []*Cname      `xml:"name,omitempty" json:"name,omitempty"`
	Cnote         []*Cnote      `xml:"note,omitempty" json:"note,omitempty"`
	Cnum          []*Cnum       `xml:"num,omitempty" json:"num,omitempty"`
	Cpersname     []*Cpersname  `xml:"persname,omitempty" json:"persname,omitempty"`
	Cref          []*Cref       `xml:"ref,omitempty" json:"ref,omitempty"`
	Ctable        []*Ctable     `xml:"table,omitempty" json:"table,omitempty"`
	Ctitle        []*Ctitle     `xml:"title,omitempty" json:"title,omitempty"`
	Cunitdate     []*Cunitdate  `xml:"unitdate,omitempty" json:"unitdate,omitempty"`
	P             string        `xml:",chardata" json:",omitempty"`
}

func (*Cp) NewClevel added in v0.2.0

func (cp *Cp) NewClevel() (*Cc, error)

NewClevel creates a fake c level series struct from the paragraph text.

type Cpersname added in v0.1.1

type Cpersname struct {
	XMLName      xml.Name `xml:"persname,omitempty" json:"persname,omitempty"`
	Raw          []byte   `xml:",innerxml" json:",omitempty"`
	Attraudience string   `xml:"audience,attr"  json:",omitempty"`
	Attrid       string   `xml:"id,attr"  json:",omitempty"`
	Attrnormal   string   `xml:"normal,attr"  json:",omitempty"`
	Attrrole     string   `xml:"role,attr"  json:",omitempty"`
	Clb          []*Clb   `xml:"lb,omitempty" json:"lb,omitempty"`
	Persname     string   `xml:",chardata" json:",omitempty"`
}

type Cphysdesc

type Cphysdesc struct {
	XMLName     xml.Name       `xml:"physdesc,omitempty" json:"physdesc,omitempty"`
	Raw         []byte         `xml:",innerxml" json:",omitempty"`
	Attrlabel   string         `xml:"label,attr"  json:",omitempty"`
	Cdimensions []*Cdimensions `xml:"dimensions,omitempty" json:"dimensions,omitempty"`
	Cextent     []*Cextent     `xml:"extent,omitempty" json:"extent,omitempty"`
	Cgenreform  *Cgenreform    `xml:"genreform,omitempty" json:"genreform,omitempty"`
	Clb         []*Clb         `xml:"lb,omitempty" json:"lb,omitempty"`
	Cphysfacet  []*Cphysfacet  `xml:"physfacet,omitempty" json:"physfacet,omitempty"`
	Physdesc    string         `xml:",chardata" json:",omitempty"`
}

type Cphysfacet

type Cphysfacet struct {
	XMLName            xml.Name `xml:"physfacet,omitempty" json:"physfacet,omitempty"`
	Raw                []byte   `xml:",innerxml" json:",omitempty"`
	Attrencodinganalog string   `xml:"encodinganalog,attr"  json:",omitempty"`
	Attrtype           string   `xml:"type,attr"  json:",omitempty"`
	Physfacet          string   `xml:",chardata" json:",omitempty"`
}

type Cphysloc

type Cphysloc struct {
	XMLName   xml.Name `xml:"physloc,omitempty" json:"physloc,omitempty"`
	Raw       []byte   `xml:",innerxml" json:",omitempty"`
	Attrlabel string   `xml:"label,attr"  json:",omitempty"`
	Attrtype  string   `xml:"type,attr"  json:",omitempty"`
	Physloc   string   `xml:",chardata" json:",omitempty"`
}

type Cphystech

type Cphystech struct {
	XMLName  xml.Name `xml:"phystech,omitempty" json:"phystech,omitempty"`
	Raw      []byte   `xml:",innerxml" json:",omitempty"`
	Attrtype string   `xml:"type,attr"  json:",omitempty"`
	Chead    []*Chead `xml:"head,omitempty" json:"head,omitempty"`
	Cp       []*Cp    `xml:"p,omitempty" json:"p,omitempty"`
}

type Cprefercite

type Cprefercite struct {
	XMLName xml.Name `xml:"prefercite,omitempty" json:"prefercite,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Chead   []*Chead `xml:"head,omitempty" json:"head,omitempty"`
	Cp      []*Cp    `xml:"p,omitempty" json:"p,omitempty"`
}

type Cprocessinfo

type Cprocessinfo struct {
	XMLName      xml.Name        `xml:"processinfo,omitempty" json:"processinfo,omitempty"`
	Raw          []byte          `xml:",innerxml" json:",omitempty"`
	Chead        []*Chead        `xml:"head,omitempty" json:"head,omitempty"`
	Clist        []*Clist        `xml:"list,omitempty" json:"list,omitempty"`
	Cp           []*Cp           `xml:"p,omitempty" json:"p,omitempty"`
	Cprocessinfo []*Cprocessinfo `xml:"processinfo,omitempty" json:"processinfo,omitempty"`
	Ctable       []*Ctable       `xml:"table,omitempty" json:"table,omitempty"`
}

type Cprofiledesc

type Cprofiledesc struct {
	XMLName    xml.Name    `xml:"profiledesc,omitempty" json:"profiledesc,omitempty"`
	Raw        []byte      `xml:",innerxml" json:",omitempty"`
	Ccreation  *Ccreation  `xml:"creation,omitempty" json:"creation,omitempty"`
	Cdescrules *Cdescrules `xml:"descrules,omitempty" json:"descrules,omitempty"`
	Clangusage *Clangusage `xml:"langusage,omitempty" json:"langusage,omitempty"`
}

type Cptrgrp added in v0.1.1

type Cptrgrp struct {
	XMLName xml.Name `xml:"ptrgrp,omitempty" json:"ptrgrp,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Cref    []*Cref  `xml:"ref,omitempty" json:"ref,omitempty"`
}

type Cpublicationstmt

type Cpublicationstmt struct {
	XMLName    xml.Name    `xml:"publicationstmt,omitempty" json:"publicationstmt,omitempty"`
	Raw        []byte      `xml:",innerxml" json:",omitempty"`
	Cdate      []*Cdate    `xml:"date,omitempty" json:"date,omitempty"`
	Cp         []*Cp       `xml:"p,omitempty" json:"p,omitempty"`
	Cpublisher *Cpublisher `xml:"publisher,omitempty" json:"publisher,omitempty"`
}

type Cpublisher

type Cpublisher struct {
	XMLName   xml.Name `xml:"publisher,omitempty" json:"publisher,omitempty"`
	Raw       []byte   `xml:",innerxml" json:",omitempty"`
	Publisher string   `xml:",chardata" json:",omitempty"`
}

type Cref

type Cref struct {
	XMLName      xml.Name     `xml:"ref,omitempty" json:"ref,omitempty"`
	Raw          []byte       `xml:",innerxml" json:",omitempty"`
	Attractuate  string       `xml:"actuate,attr"  json:",omitempty"`
	Attrlinktype string       `xml:"linktype,attr"  json:",omitempty"`
	Attrshow     string       `xml:"show,attr"  json:",omitempty"`
	Attrtarget   string       `xml:"target,attr"  json:",omitempty"`
	Cdate        []*Cdate     `xml:"date,omitempty" json:"date,omitempty"`
	Cnote        []*Cnote     `xml:"note,omitempty" json:"note,omitempty"`
	Cpersname    []*Cpersname `xml:"persname,omitempty" json:"persname,omitempty"`
	Ref          string       `xml:",chardata" json:",omitempty"`
}

type Crelatedmaterial

type Crelatedmaterial struct {
	XMLName          xml.Name            `xml:"relatedmaterial,omitempty" json:"relatedmaterial,omitempty"`
	Raw              []byte              `xml:",innerxml" json:",omitempty"`
	Chead            []*Chead            `xml:"head,omitempty" json:"head,omitempty"`
	Clist            []*Clist            `xml:"list,omitempty" json:"list,omitempty"`
	Cp               []*Cp               `xml:"p,omitempty" json:"p,omitempty"`
	Crelatedmaterial []*Crelatedmaterial `xml:"relatedmaterial,omitempty" json:"relatedmaterial,omitempty"`
	Ctable           []*Ctable           `xml:"table,omitempty" json:"table,omitempty"`
}

type Crepository

type Crepository struct {
	XMLName    xml.Name     `xml:"repository,omitempty" json:"repository,omitempty"`
	Raw        []byte       `xml:",innerxml" json:",omitempty"`
	Attrlabel  string       `xml:"label,attr"  json:",omitempty"`
	Ccorpname  []*Ccorpname `xml:"corpname,omitempty" json:"corpname,omitempty"`
	Repository string       `xml:",chardata" json:",omitempty"`
}

type Crevisiondesc

type Crevisiondesc struct {
	XMLName      xml.Name   `xml:"revisiondesc,omitempty" json:"revisiondesc,omitempty"`
	Raw          []byte     `xml:",innerxml" json:",omitempty"`
	Attraudience string     `xml:"audience,attr"  json:",omitempty"`
	Cchange      []*Cchange `xml:"change,omitempty" json:"change,omitempty"`
}

type CrightsMD added in v0.1.8

type CrightsMD struct {
	XMLName xml.Name `xml:"rightsMD,omitempty" json:"rightsMD,omitempty"`
	AttrID  string   `xml:"ID,attr"  json:",omitempty"`
	CmdWrap *CmdWrap `xml:"http://www.loc.gov/METS/ mdWrap,omitempty" json:"mdWrap,omitempty"`
}

type Crow added in v0.1.1

type Crow struct {
	XMLName xml.Name  `xml:"row,omitempty" json:"row,omitempty"`
	Raw     []byte    `xml:",innerxml" json:",omitempty"`
	Centry  []*Centry `xml:"entry,omitempty" json:"entry,omitempty"`
}

type Cscopecontent

type Cscopecontent struct {
	XMLName       xml.Name         `xml:"scopecontent,omitempty" json:"scopecontent,omitempty"`
	Raw           []byte           `xml:",innerxml" json:",omitempty"`
	Attraltrender string           `xml:"altrender,attr"  json:",omitempty"`
	Cchronlist    []*Cchronlist    `xml:"chronlist,omitempty" json:"chronlist,omitempty"`
	Chead         []*Chead         `xml:"head,omitempty" json:"head,omitempty"`
	Clist         []*Clist         `xml:"list,omitempty" json:"list,omitempty"`
	Cp            []*Cp            `xml:"p,omitempty" json:"p,omitempty"`
	Cscopecontent []*Cscopecontent `xml:"scopecontent,omitempty" json:"scopecontent,omitempty"`
	Ctable        []*Ctable        `xml:"table,omitempty" json:"table,omitempty"`
}

type Cseparatedmaterial added in v0.1.1

type Cseparatedmaterial struct {
	XMLName            xml.Name              `xml:"separatedmaterial,omitempty" json:"separatedmaterial,omitempty"`
	Raw                []byte                `xml:",innerxml" json:",omitempty"`
	Attrtype           string                `xml:"type,attr"  json:",omitempty"`
	Chead              []*Chead              `xml:"head,omitempty" json:"head,omitempty"`
	Clist              []*Clist              `xml:"list,omitempty" json:"list,omitempty"`
	Cp                 []*Cp                 `xml:"p,omitempty" json:"p,omitempty"`
	Cseparatedmaterial []*Cseparatedmaterial `xml:"separatedmaterial,omitempty" json:"separatedmaterial,omitempty"`
	Ctable             []*Ctable             `xml:"table,omitempty" json:"table,omitempty"`
}

type CstructMap added in v0.1.8

type CstructMap struct {
	XMLName   xml.Name `xml:"structMap,omitempty" json:"structMap,omitempty"`
	AttrLABEL string   `xml:"LABEL,attr"  json:",omitempty"`
	AttrTYPE  string   `xml:"TYPE,attr"  json:",omitempty"`
	Cdiv      *Cdiv    `xml:"http://www.loc.gov/METS/ div,omitempty" json:"div,omitempty"`
}

type Csubject

type Csubject struct {
	XMLName    xml.Name `xml:"subject,omitempty" json:"subject,omitempty"`
	Raw        []byte   `xml:",innerxml" json:",omitempty"`
	Attrsource string   `xml:"source,attr"  json:",omitempty"`
	Subject    string   `xml:",chardata" json:",omitempty"`
}

type Ctable added in v0.1.1

type Ctable struct {
	XMLName    xml.Name   `xml:"table,omitempty" json:"table,omitempty"`
	Raw        []byte     `xml:",innerxml" json:",omitempty"`
	Attrcolsep string     `xml:"colsep,attr"  json:",omitempty"`
	Attrframe  string     `xml:"frame,attr"  json:",omitempty"`
	Attrid     string     `xml:"id,attr"  json:",omitempty"`
	Attrpgwide string     `xml:"pgwide,attr"  json:",omitempty"`
	Attrrowsep string     `xml:"rowsep,attr"  json:",omitempty"`
	Chead      []*Chead   `xml:"head,omitempty" json:"head,omitempty"`
	Ctgroup    []*Ctgroup `xml:"tgroup,omitempty" json:"tgroup,omitempty"`
}

type Ctbody added in v0.1.1

type Ctbody struct {
	XMLName xml.Name `xml:"tbody,omitempty" json:"tbody,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Crow    []*Crow  `xml:"row,omitempty" json:"row,omitempty"`
}

type Ctgroup added in v0.1.1

type Ctgroup struct {
	XMLName  xml.Name    `xml:"tgroup,omitempty" json:"tgroup,omitempty"`
	Raw      []byte      `xml:",innerxml" json:",omitempty"`
	Attrcols string      `xml:"cols,attr"  json:",omitempty"`
	Ccolspec []*Ccolspec `xml:"colspec,omitempty" json:"colspec,omitempty"`
	Ctbody   *Ctbody     `xml:"tbody,omitempty" json:"tbody,omitempty"`
	Cthead   *Cthead     `xml:"thead,omitempty" json:"thead,omitempty"`
}

type Cthead added in v0.1.1

type Cthead struct {
	XMLName xml.Name `xml:"thead,omitempty" json:"thead,omitempty"`
	Raw     []byte   `xml:",innerxml" json:",omitempty"`
	Crow    []*Crow  `xml:"row,omitempty" json:"row,omitempty"`
}

type Ctitle

type Ctitle struct {
	XMLName      xml.Name `xml:"title,omitempty" json:"title,omitempty"`
	Raw          []byte   `xml:",innerxml" json:",omitempty"`
	Attrlinktype string   `xml:"linktype,attr"  json:",omitempty"`
	Attrrender   string   `xml:"render,attr"  json:",omitempty"`
	Attrtype     string   `xml:"type,attr"  json:",omitempty"`
	Cdate        []*Cdate `xml:"date,omitempty" json:"date,omitempty"`
	Clb          []*Clb   `xml:"lb,omitempty" json:"lb,omitempty"`
	Title        string   `xml:",chardata" json:",omitempty"`
}

type Ctitleproper

type Ctitleproper struct {
	XMLName     xml.Name `xml:"titleproper,omitempty" json:"titleproper,omitempty"`
	Raw         []byte   `xml:",innerxml" json:",omitempty"`
	Clb         []*Clb   `xml:"lb,omitempty" json:"lb,omitempty"`
	Titleproper string   `xml:",chardata" json:",omitempty"`
}

type Ctitlestmt

type Ctitlestmt struct {
	XMLName      xml.Name      `xml:"titlestmt,omitempty" json:"titlestmt,omitempty"`
	Raw          []byte        `xml:",innerxml" json:",omitempty"`
	Cauthor      *Cauthor      `xml:"author,omitempty" json:"author,omitempty"`
	Ctitleproper *Ctitleproper `xml:"titleproper,omitempty" json:"titleproper,omitempty"`
}

type Cunitdate

type Cunitdate struct {
	XMLName       xml.Name     `xml:"unitdate,omitempty" json:"unitdate,omitempty"`
	Raw           []byte       `xml:",innerxml" json:",omitempty"`
	Attrcalendar  string       `xml:"calendar,attr"  json:",omitempty"`
	Attrcertainty string       `xml:"certainty,attr"  json:",omitempty"`
	Attrera       string       `xml:"era,attr"  json:",omitempty"`
	Attrlabel     string       `xml:"label,attr"  json:",omitempty"`
	Attrnormal    string       `xml:"normal,attr"  json:",omitempty"`
	Attrtype      string       `xml:"type,attr"  json:",omitempty"`
	Clb           []*Clb       `xml:"lb,omitempty" json:"lb,omitempty"`
	Cunitdate     []*Cunitdate `xml:"unitdate,omitempty" json:"unitdate,omitempty"`
	Unitdate      string       `xml:",chardata" json:",omitempty"`
}

func (*Cunitdate) NewNodeDate

func (date *Cunitdate) NewNodeDate() (*NodeDate, error)

NewNodeDate extract date information frme the EAD unitdate

type Cunitid

type Cunitid struct {
	XMLName            xml.Name `xml:"unitid,omitempty" json:"unitid,omitempty"`
	Raw                []byte   `xml:",innerxml" json:",omitempty"`
	Attraudience       string   `xml:"audience,attr,omitempty"  json:",omitempty"`
	Attrcountrycode    string   `xml:"countrycode,attr,omitempty"  json:",omitempty"`
	Attrencodinganalog string   `xml:"encodinganalog,attr,omitempty"  json:",omitempty"`
	Attrid             string   `xml:"id,attr,omitempty"  json:",omitempty"`
	Attridentifier     string   `xml:"identifier,attr,omitempty"  json:",omitempty"`
	Attrlabel          string   `xml:"label,attr,omitempty"  json:",omitempty"`
	Attrrepositorycode string   `xml:"repositorycode,attr,omitempty"  json:",omitempty"`
	Attrtype           string   `xml:"type,attr,omitempty"  json:",omitempty"`
	Unitid             string   `xml:",chardata" json:",omitempty"`
}

func (*Cunitid) NewNodeID

func (ui *Cunitid) NewNodeID() (*NodeID, error)

NewNodeID converts a unitid field from the EAD did to a NodeID

type Cunittitle

type Cunittitle struct {
	XMLName    xml.Name     `xml:"unittitle,omitempty" json:"unittitle,omitempty"`
	Raw        []byte       `xml:",innerxml" json:",omitempty"`
	Attrlabel  string       `xml:"label,attr,omitempty"  json:",omitempty"`
	Attrtype   string       `xml:"type,attr"  json:",omitempty"`
	Carchref   []*Carchref  `xml:"archref,omitempty" json:"archref,omitempty"`
	Cbibref    []*Cbibref   `xml:"bibref,omitempty" json:"bibref,omitempty"`
	Ccorpname  []*Ccorpname `xml:"corpname,omitempty" json:"corpname,omitempty"`
	Cdate      []*Cdate     `xml:"date,omitempty" json:"date,omitempty"`
	Cemph      []*Cemph     `xml:"emph,omitempty" json:"emph,omitempty"`
	Cextref    []*Cextref   `xml:"extref,omitempty" json:"extref,omitempty"`
	Cfamname   []*Cfamname  `xml:"famname,omitempty" json:"famname,omitempty"`
	Cgenreform *Cgenreform  `xml:"genreform,omitempty" json:"genreform,omitempty"`
	Cgeogname  []*Cgeogname `xml:"geogname,omitempty" json:"geogname,omitempty"`
	Clb        []*Clb       `xml:"lb,omitempty" json:"lb,omitempty"`
	Cname      []*Cname     `xml:"name,omitempty" json:"name,omitempty"`
	Cnum       []*Cnum      `xml:"num,omitempty" json:"num,omitempty"`
	Cpersname  []*Cpersname `xml:"persname,omitempty" json:"persname,omitempty"`
	Cref       []*Cref      `xml:"ref,omitempty" json:"ref,omitempty"`
	Ctitle     []*Ctitle    `xml:"title,omitempty" json:"title,omitempty"`
	Cunitdate  []*Cunitdate `xml:"unitdate,omitempty" json:"unitdate,omitempty"`
	Unittitle  string       `xml:",chardata" json:",omitempty"`
}

func (*Cunittitle) Title

func (ut *Cunittitle) Title() string

type Cuserestrict

type Cuserestrict struct {
	XMLName      xml.Name        `xml:"userestrict,omitempty" json:"userestrict,omitempty"`
	Raw          []byte          `xml:",innerxml" json:",omitempty"`
	Attrtype     string          `xml:"type,attr"  json:",omitempty"`
	Chead        []*Chead        `xml:"head,omitempty" json:"head,omitempty"`
	Clist        []*Clist        `xml:"list,omitempty" json:"list,omitempty"`
	Cp           []*Cp           `xml:"p,omitempty" json:"p,omitempty"`
	Cuserestrict []*Cuserestrict `xml:"userestrict,omitempty" json:"userestrict,omitempty"`
}

type CxmlData added in v0.1.8

type CxmlData struct {
	XMLName                 xml.Name                 `xml:"xmlData,omitempty" json:"xmlData,omitempty"`
	CRightsDeclarationMDRts *CRightsDeclarationMDRts `` /* 132-byte string literal not displayed */
}

type DaoClient added in v0.2.0

type DaoClient struct {
	HttpFallback bool // retrieve DAO url if not present locally
	// contains filtered or unexported fields
}

func NewDaoClient added in v0.2.0

func NewDaoClient(bi *index.Service) DaoClient

func (*DaoClient) DefaultDaoFn added in v0.2.0

func (c *DaoClient) DefaultDaoFn(cfg *DaoConfig) error

func (*DaoClient) Delete added in v0.2.0

func (c *DaoClient) Delete(archiveID, uuid string) error

Delete indexes the stored METS files identified by their UUID

func (*DaoClient) DownloadConfig added in v0.2.0

func (c *DaoClient) DownloadConfig(w http.ResponseWriter, r *http.Request)

DownloadConfig is a handler that returns a stored METS XML for an inventory.

func (*DaoClient) DownloadXML added in v0.2.0

func (c *DaoClient) DownloadXML(w http.ResponseWriter, r *http.Request)

DownloadXML is a handler that returns a stored METS XML for an inventory.

func (*DaoClient) GetDaoConfig added in v0.2.0

func (c *DaoClient) GetDaoConfig(archiveID, uuid string) (DaoConfig, error)

GetDaoConfig convenience function to retrieve the DaoConfig

func (*DaoClient) GetDigitalObjectCount added in v0.2.0

func (c *DaoClient) GetDigitalObjectCount(archiveID string) (int, error)

func (*DaoClient) HandleDelete added in v0.2.0

func (c *DaoClient) HandleDelete(w http.ResponseWriter, r *http.Request)

func (*DaoClient) Index added in v0.2.0

func (c *DaoClient) Index(w http.ResponseWriter, r *http.Request)

Index published records from stored METS files identified by their UUID

func (*DaoClient) PublishFiles added in v0.2.1

func (c *DaoClient) PublishFiles(cfg *DaoConfig, fa *eadpb.FindingAid) error

func (*DaoClient) PublishFindingAid added in v0.2.0

func (c *DaoClient) PublishFindingAid(cfg *DaoConfig, excludeMetsFiles ...bool) error

func (*DaoClient) StoreMets added in v0.2.0

func (c *DaoClient) StoreMets(cfg *DaoConfig) error

type DaoConfig added in v0.2.0

type DaoConfig struct {
	OrgID          string
	HubID          string
	ArchiveID      string // same as DatasetID
	ArchiveTitle   []string
	InventoryID    string
	InventoryPath  string
	InventoryTitle string
	UUID           string // dUUID
	Link           string
	ObjectCount    int
	MimeTypes      []string
	RevisionKey    string
	FilterTypes    []string
	PeriodDesc     []string
	Filenames      []string // names of the files within the digital object
	FileUUIDs      []string // uuids of the files within the digital object
	Source         string   // source of the METS file (i.e. 'EAD' or 'OAI-PMH')
}

func GetDaoConfig added in v0.2.0

func GetDaoConfig(archiveID, uuid string) (DaoConfig, error)

func (*DaoConfig) Delete added in v0.2.0

func (cfg *DaoConfig) Delete() error

Delete removes the DaoConfig and METS file

func (*DaoConfig) FindingAid added in v0.2.0

func (cfg *DaoConfig) FindingAid(c *DaoClient) (eadpb.FindingAid, error)

func (*DaoConfig) GetMetsFilePath added in v0.3.0

func (cfg *DaoConfig) GetMetsFilePath() string

func (*DaoConfig) Mets added in v0.2.0

func (cfg *DaoConfig) Mets() (*Cmets, error)

func (*DaoConfig) MetsFileExists added in v0.3.0

func (cfg *DaoConfig) MetsFileExists() bool

func (*DaoConfig) Write added in v0.2.0

func (cfg *DaoConfig) Write() error

type DataItem

type DataItem struct {
	Type  DataType `json:"type"`
	Text  string   `json:"text,omitempty"`
	Label string   `json:"label,omitempty"`
	Note  string   `json:"note,omitempty"`

	// language type
	LangCode   string `json:"langCode,omitempty"`
	ScriptCode string `json:"scriptCode,omitempty"`

	// Unit
	Number string `json:"number,omitempty"`
	Units  string `json:"units,omitempty"`

	// datatype tag
	Tag     string `json:"tag,omitempty"`
	TagType string `json:"tagType,omitempty"`

	// list tag
	ListNumber string `json:"listNumber,omitempty"`
	ListType   string `json:"listType,omitempty"`

	// Repository type
	Link     string `json:"link,omitempty"`
	LinkType string `json:"linkType,omitempty"`
	Activate string `json:"activate,omitempty"`
	ShowLink string `json:"showLink,omitempty"`

	// nested blocks
	// Inner []DataItem `json:"inner,omitempty"`
	Depth     int    `json:"depth,omitempty"`
	ParentIDS string `json:"parentIDS"`

	// FlowType between data items
	FlowType FlowType `json:"flowType"`
	Order    uint64   `json:"order,omitempty"`
	Closed   bool     `json:"closed,omitempty"`

	// date type
	Normal   string `json:"normal,omitempty"`
	Era      string `json:"era,omitempty"`
	Calendar string `json:"calendar,omitempty"`
}

DataItem holds every data entry in the Archival Description.

type DataType

type DataType int
const (
	Paragraph DataType = iota
	Date
	Image
	Link
	List
	ListItem
	DefItem
	ListLabel
	Table
	TableHead
	TableRow
	TableCel
	Unit
	Language
	Repository
	Nested
	Enum
	Section
	SubSection
	Note
	ChronList
	ChronItem
	Event
)

func (DataType) MarshalJSON

func (dt DataType) MarshalJSON() ([]byte, error)

MarshalJSON marshals the enum as a quoted json string

func (*DataType) UnmarshalJSON

func (dt *DataType) UnmarshalJSON(b []byte) error

UnmarshalJSON unmashals a quoted json string to the enum value

type Deque

type Deque struct {
	// contains filtered or unexported fields
}

Deque represents a single instance of the deque data structure.

func (*Deque) At

func (q *Deque) At(i int) (interface{}, bool)

At returns the element at index i in the queue without removing the element from the queue. This method accepts only non-negative index values. At(0) refers to the first element and is the same as Front(). At(Len()-1) refers to the last element and is the same as Back(). If the index is invalid, the call returns false.

The purpose of At is to allow Deque to serve as a more general purpose circular buffer, where items are only added to and removed from the ends of the deque, but may be read from any place within the deque. Consider the case of a fixed-size circular log buffer: A new entry is pushed onto one end and when full the oldest is popped from the other end. All the log entries in the buffer must be readable without altering the buffer contents.

func (*Deque) Back

func (q *Deque) Back() (interface{}, bool)

Back returns the element at the back of the queue. This is the element that would be returned by PopBack(). If the queue is empty, the call returns false.

func (*Deque) Clear

func (q *Deque) Clear()

Clear removes all elements from the queue, but retains the current capacity. This is useful when repeatedly reusing the queue at high frequency to avoid GC during reuse. The queue will not be resized smaller as long as items are only added. Only when items are removed is the queue subject to getting resized smaller.

func (*Deque) Front

func (q *Deque) Front() (interface{}, bool)

Front returns the element at the front of the queue. This is the element that would be returned by PopFront(). If the queue is empty, the call returns false.

func (*Deque) Len

func (q *Deque) Len() int

Len returns the number of elements currently stored in the queue.

func (*Deque) List

func (q *Deque) List() []interface{}

List returns all the elements currently stored in the queue.

func (*Deque) PopBack

func (q *Deque) PopBack() (interface{}, bool)

PopBack removes and returns the element from the back of the queue. Implements LIFO when used with PushBack(). If the queue is empty, the call returns false.

func (*Deque) PopFront

func (q *Deque) PopFront() (interface{}, bool)

PopFront removes and returns the element from the front of the queue. Implements FIFO when used with PushBack(). If the queue is empty, the call returns false.

func (*Deque) PushBack

func (q *Deque) PushBack(elem interface{})

PushBack appends an element to the back of the queue. Implements FIFO when elements are removed with PopFront(), and LIFO when elements are removed with PopBack().

func (*Deque) PushFront

func (q *Deque) PushFront(elem interface{})

PushFront prepends an element to the front of the queue.

func (*Deque) Rotate

func (q *Deque) Rotate(n int)

Rotate rotates the deque n steps front-to-back. If n is negative, rotates back-to-front. Having Deque provide Rotate() avoids resizing that could happen if implementing rotation using only Pop and Push methods.

func (*Deque) SetMinCapacity

func (q *Deque) SetMinCapacity(minCapacityExp uint)

SetMinCapacity sets a minimum capacity of 2^minCapacityExp. If the value of the minimum capacity is less than or equal to the minimum allowed, then capacity is set to the minimum allowed. This may be called at anytime to set a new minimum capacity.

Setting a larger minimum capacity may be used to prevent resizing when the number of stored items changes frequently across a wide range.

func (*Deque) String

func (q *Deque) String() string

String returns path presentation of the elements stored in the queue

type Description

type Description struct {
	Summary    Summary        `json:"summary,omitempty"`
	Section    []*SectionInfo `json:"sections,omitempty"`
	NrSections int            `json:"nrSections,omitempty"`
	NrItems    int            `json:"nrItems,omitempty"`
	NrHits     int            `json:"nrHits"`
	Item       []*DataItem    `json:"item,omitempty"`
}

Description is simplified version of the 'eadheader', 'archdesc/did' and 'archdesc/descgroups'.

The goal of the simplification is reduce the complexity of the Archival Description for searching and rendering without loosing semantic meaning.

func GetDescription added in v0.1.3

func GetDescription(spec string) (*Description, error)

func NewDescription

func NewDescription(ead *Cead) (*Description, error)

NewDescription creates an Description from a Cead object.

func (*Description) Write added in v0.1.3

func (desc *Description) Write() error

type DescriptionIndex added in v0.1.3

type DescriptionIndex struct {
	// contains filtered or unexported fields
}

func GetDescriptionIndex added in v0.1.3

func GetDescriptionIndex(spec string) (*DescriptionIndex, error)

func NewDescriptionIndex added in v0.1.3

func NewDescriptionIndex(spec string) *DescriptionIndex

func (*DescriptionIndex) CreateFrom added in v0.1.3

func (di *DescriptionIndex) CreateFrom(desc *Description) error

func (*DescriptionIndex) HighlightMatches added in v0.1.3

func (di *DescriptionIndex) HighlightMatches(hits *search.Matches, items []*DataItem, filter bool) []*DataItem

func (*DescriptionIndex) Search added in v0.1.3

func (di *DescriptionIndex) Search(qt *search.QueryTerm) (*search.Matches, error)

func (*DescriptionIndex) SearchWithString added in v0.1.3

func (di *DescriptionIndex) SearchWithString(query string) (*search.Matches, error)

func (*DescriptionIndex) Write added in v0.1.3

func (di *DescriptionIndex) Write() error

type DuplicateError

type DuplicateError struct {
	Path     string `json:"path"`
	Spec     string `json:"spec"`
	Order    int    `json:"order"`
	Key      string `json:"key"`
	Label    string `json:"label"`
	DupKey   string `json:"dupKey"`
	DupLabel string `json:"dupLabel"`
	CType    string `json:"cType"`
	Depth    int32  `json:"depth"`
	Error    string
}

type Extractor added in v0.1.3

type Extractor struct {
	// contains filtered or unexported fields
}

func NewExtractor added in v0.1.3

func NewExtractor(b []byte) (*Extractor, error)

func (*Extractor) Tokens added in v0.1.3

func (e *Extractor) Tokens() []NLPToken

type File

type File struct {
	Title           string   `json:"title,omitempty"`
	Author          string   `json:"author,omitempty"`
	Edition         []string `json:"edition,omitempty"`
	Publisher       string   `json:"publisher,omitempty"`
	PublicationDate string   `json:"publicationDate,omitempty"`
	Copyright       string   `json:"copyright,omitempty"`
	CopyrightURI    string   `json:"copyrightURI"`
}

File holds the meta-information about the EAD file

type FindingAid

type FindingAid struct {
	ID         string    `json:"id,omitempty"`
	Country    string    `json:"country,omitempty"`
	AgencyCode string    `json:"agencyCode,omitempty"`
	Title      []string  `json:"title,omitempty"`
	ShortTitle string    `json:"shortTitle,omitempty"`
	UnitInfo   *UnitInfo `json:"unit,omitempty"`
}

FindingAid holds the core information about the Archival Record

func (*FindingAid) AddUnit

func (fa *FindingAid) AddUnit(archdesc *Carchdesc) error

AddUnit adds the DID information from the ArchDesc to the FindingAid.

type FlowType

type FlowType int
const (
	LineBreak FlowType = iota
	Inline
	Next
)

func (FlowType) MarshalJSON

func (ft FlowType) MarshalJSON() ([]byte, error)

MarshalJSON marshals the enum as a quoted json string

func (*FlowType) UnmarshalJSON

func (ft *FlowType) UnmarshalJSON(b []byte) error

UnmarshalJSON unmashals a quoted json string to the enum value

type Header struct {
	Type             string
	InventoryNumber  string
	ID               []*NodeID
	Label            []string
	Date             []*NodeDate
	Physdesc         string
	Physloc          string
	DateAsLabel      bool
	HasDigitalObject bool
	DaoLink          string
	AltRender        string
	Genreform        string
	Attridentifier   string
}

func (*Header) GetPeriods

func (h *Header) GetPeriods() []string

GetPeriods return a list of human readable periods from the EAD unitDate

func (*Header) GetTreeLabel

func (h *Header) GetTreeLabel() string

GetTreeLabel returns the label that needs to be shown with the tree

func (*Header) Sparse

func (h *Header) Sparse()

Sparse creates a sparse version of Header

type METSEventStatusEnum added in v0.1.8

type METSEventStatusEnum int
const (
	METSCreate METSEventStatusEnum = iota
	METSUpdate
)

func (METSEventStatusEnum) String added in v0.1.8

func (m METSEventStatusEnum) String() string

type Manifest

type Manifest struct {
	InventoryID string `json:"inventoryID"`
	ArchiveName string `json:"archiveName"`
	UnitID      string `json:"unitID"`
	UnitTitle   string `json:"unitTitle"`
}

Manifest holds all the information for an archive to create a IIIF manifest.

type Meta added in v0.1.10

type Meta struct {
	OrgID            string
	DatasetID        string
	Label            string
	Period           []string
	Inventories      int
	DigitalObjects   int
	RecordsPublished int
	MetsFiles        int
	Created          time.Time
	Updated          time.Time
	TimesUploaded    int
	Revision         int32
	DaoStats         models.DaoStats
}

Meta holds all processing information for an EAD Archive

func GetMeta added in v0.1.10

func GetMeta(spec string) (*Meta, error)

func GetOrCreateMeta added in v0.1.10

func GetOrCreateMeta(spec string) (*Meta, bool, error)

func (*Meta) Write added in v0.1.10

func (m *Meta) Write() error

type MetsCounter

type MetsCounter struct {
	// contains filtered or unexported fields
}

MetsCounter is a concurrency safe counter for number of Mets-files processed

func (*MetsCounter) AppendError

func (mc *MetsCounter) AppendError(unitID string, errMsg string)

func (*MetsCounter) GetCount

func (mc *MetsCounter) GetCount() uint64

GetCount returns the snapshot of the current count

func (*MetsCounter) GetDigitalObjectCount

func (mc *MetsCounter) GetDigitalObjectCount() uint64

GetDigitalObjectCount returns the snapshot of the current count

func (*MetsCounter) GetErrorCount

func (mc *MetsCounter) GetErrorCount() uint64

GetErrorCount returns the snapshot of the current error count

func (*MetsCounter) GetErrors

func (mc *MetsCounter) GetErrors() map[string]string

func (*MetsCounter) GetUniqueCounter

func (mc *MetsCounter) GetUniqueCounter() map[string]int

GetUniqueCounter returns the map of unique METS links.

func (*MetsCounter) Increment

func (mc *MetsCounter) Increment(daoLink string)

Increment increments the count by one

func (*MetsCounter) IncrementDigitalObject

func (mc *MetsCounter) IncrementDigitalObject(delta uint64)

IncrementDigitalObject increments the count by one

func (*MetsCounter) IncrementError

func (mc *MetsCounter) IncrementError()

IncrementError increments the error count by one

type NLPToken added in v0.1.3

type NLPToken struct {
	Type NLPType
	Text string
}

type NLPType added in v0.1.3

type NLPType int
const (
	Unknown NLPType = iota
	Person
	GeoLocation
	DateText
	DateIso
	Organization
)

type Node

type Node struct {
	CTag               string
	Depth              int32
	Type               string
	SubType            string
	Header             *Header
	Nodes              []*Node
	Children           int
	Order              uint64
	ParentIDs          []string
	Path               string
	BranchID           string
	AccessRestrict     string
	AccessRestrictYear string
	Material           string
	Phystech           []string
	PhystechType       string
	// contains filtered or unexported fields
}

Node holds all the clevel information.

func NewNode

func NewNode(cl CLevel, parentIDs []string, cfg *NodeConfig) (*Node, error)

NewNode converts EAD c01 to a Archival Node

func (*Node) AppendTriple added in v0.3.0

func (n *Node) AppendTriple(triple *r.Triple)

func (*Node) FragmentGraph

func (n *Node) FragmentGraph(cfg *NodeConfig) (*fragments.FragmentGraph, *fragments.ResourceMap, error)

FragmentGraph returns the archival node as a FragmentGraph

func (*Node) GetSubject

func (n *Node) GetSubject(cfg *NodeConfig) string

GetSubject creates subject URI for the parent Node the header itself is an anonymous BlankNode

func (*Node) Triples

func (n *Node) Triples(cfg *NodeConfig) []*r.Triple

Triples returns a list of triples created from an Archive Node Nested elements are linked as object references

type NodeConfig

type NodeConfig struct {
	Counter               *NodeCounter
	MetsCounter           *MetsCounter
	RecordsCreatedCounter uint64
	RecordsUpdated        uint64
	RecordsDeleted        uint64
	OrgID                 string
	Spec                  string
	Title                 []string
	TitleShort            string
	Revision              int32
	PeriodDesc            []string

	MimeTypes map[string][]string
	HubIDs    chan *NodeEntry
	Errors    []*DuplicateError
	// TODO(kiivihal): remove later
	IndexService            *index.Service
	CreateTree              func(cfg *NodeConfig, n *Node, hubID string, id string) *fragments.Tree
	DaoFn                   func(cfg *DaoConfig) error
	ContentIdentical        bool
	Nodes                   chan *Node
	ProcessDigital          bool
	ProcessDigitalIfMissing bool
	RetrieveDao             bool
	ProcessAccessTime       time.Time

	Tags []string
	// contains filtered or unexported fields
}

NodeConfig holds all the configuration options fo generating Archive Nodes

func NewNodeConfig

func NewNodeConfig(ctx context.Context) *NodeConfig

NewNodeConfig creates a new NodeConfig

func (*NodeConfig) AddLabel

func (nc *NodeConfig) AddLabel(id, label string)

AddLabel adds a cLevel id and its label to the label map This map is used to resolve the label for each clevel for rendering the tree

func (*NodeConfig) ErrorToCSV

func (nc *NodeConfig) ErrorToCSV() ([]byte, error)

func (*NodeConfig) Labels added in v0.1.8

func (cfg *NodeConfig) Labels() map[string]string

func (*NodeConfig) UpdatePath added in v0.1.8

func (cfg *NodeConfig) UpdatePath(node *Node, parentIDs []string) ([]string, error)

type NodeCounter

type NodeCounter struct {
	// contains filtered or unexported fields
}

NodeCounter is a concurrency safe counter for number of Nodes processed

func (*NodeCounter) GetCount

func (nc *NodeCounter) GetCount() uint64

GetCount returns the snapshot of the current count

func (*NodeCounter) Increment

func (nc *NodeCounter) Increment()

Increment increments the count by one

type NodeDate

type NodeDate struct {
	Calendar string
	Era      string
	Normal   string
	Label    string
	Type     string
}

func (*NodeDate) ValidDateNormal

func (nd *NodeDate) ValidDateNormal() error

ValidDateNormal returns if the range in Normal is valid.

type NodeEntry added in v0.1.8

type NodeEntry struct {
	HubID string
	Path  string
	Order uint64
	Title string
}

type NodeID

type NodeID struct {
	TypeID   string
	Type     string
	Audience string
	ID       string
}

type NodeList

type NodeList struct {
	Type  string
	Label []string
	Nodes []*Node
}

type Profile

type Profile struct {
	Creation string `json:"creation,omitempty"`
	Language string `json:"language,omitempty"`
}

Profile details information about the creation of the Archival Record

type SearchRequest added in v0.1.3

type SearchRequest struct {
	Page             int
	Rows             int
	Query            *elastic.BoolQuery
	RawQuery         string
	Service          *elastic.SearchService
	FacetFields      []string
	Filters          []*fragments.QueryFilter
	FacetSize        int
	FacetAndBoolType bool
	SortBy           string
	NestedSortField  string
	SortAsc          bool
	NoCache          bool
	CacheRefresh     bool
	CacheReset       bool
	InventoryID      string
	Explain          bool
	EchoService      bool
	// contains filtered or unexported fields
}

SearchRequest holds all information for EAD search

func (*SearchRequest) Do added in v0.2.1

func (sr *SearchRequest) Do(ctx context.Context, label string) (*elastic.SearchResult, error)

func (*SearchRequest) SetFragmentURIBuilder added in v0.2.1

func (sr *SearchRequest) SetFragmentURIBuilder() error

func (*SearchRequest) SetPostFilter added in v0.2.1

func (sr *SearchRequest) SetPostFilter() error

type SearchResponse added in v0.1.3

type SearchResponse struct {

	// ArchiveCount returns the number of collapsed Archives that match the search  query
	ArchiveCount int `json:"archiveCount"`

	// Cursor the location of the first result in the ElasticSearch search response
	Cursor int `json:"cursor"`

	// TotalPages is the total number of pages in the search response
	TotalPages int `json:"totalPages"`

	// TotalClevelCount returns the total number of clevel that mathc the search query
	// this counts is per clevel, so multiple hits inside a clevel are counted as one
	TotalClevelCount int `json:"totalClevelCount"`

	// TotalDescriptionCount returns the total number of hits in the description.
	// This is an cardinatility aggregation so each hit inside the decription counts as a hit.
	TotalDescriptionCount int `json:"totalDescriptionCount"`

	// TotalHits is a combination of TotalClevelCount and TotalDescriptiontCount.
	TotalHits int `json:"totalHits"`

	// Archives contains the list of archives from the response constrained by the search pagination
	Archives []Archive `json:"archives"`

	// CLevels contains a paged result of the cLevels for a specific archive that match the search query
	// It is ordered by the ead orderKey.
	CLevels []CLevelEntry `json:"cLevels,omitempty"`

	// Facets holds the QueryFacets for filtering
	Facets []*fragments.QueryFacet `json:"facets,omitempty"`

	// Explain response from elasticsearch
	Explain *elastic.SearchResult `json:"explain,omitempty"`

	// Service is the elasticsearch query
	Service interface{} `json:"service,omitempty"`
}

SearchResponse contains the EAD Search response.

func PerformClusteredSearch added in v0.1.3

func PerformClusteredSearch(r *http.Request) (*SearchResponse, error)

func PerformDetailSearch added in v0.1.3

func PerformDetailSearch(r *http.Request) (*SearchResponse, error)

type SectionInfo

type SectionInfo struct {
	Text  string `json:"text,omitempty"`
	Start int    `json:"start,omitempty"`
	End   int    `json:"end,omitempty"`
	Order int    `json:"order,omitempty"`
}

SectionInfo holds meta information about each section so that it could render the DataItems per section.

type Summary

type Summary struct {
	FindingAid *FindingAid `json:"findingAid,omitempty"`
	File       *File       `json:"file,omitempty"`
	Profile    *Profile    `json:"profile,omitempty"`
}

Summary holds the essential metadata information to describe an Archive.

type UnitInfo

type UnitInfo struct {
	Date             []string `json:"date,omitempty"`
	DateBulk         string   `json:"dateBulk"`
	ID               string   `json:"id,omitempty"`
	Physical         string   `json:"physical,omitempty"`
	Files            string   `json:"files,omitempty"`
	Length           string   `json:"length,omitempty"`
	Language         string   `json:"language,omitempty"`
	Material         string   `json:"material,omitempty"`
	Repository       string   `json:"repository,omitempty"`
	PhysicalLocation string   `json:"physicalLocation,omitempty"`
	Origin           []string `json:"origin,omitempty"`
	Abstract         []string `json:"abstract,omitempty"`
}

UnitInfo holds the meta information of the Archival Record

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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