grampsxml

package module
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2026 License: Unlicense Imports: 2 Imported by: 1

README

grampsxml

Go package to parse Gramps XML files.

Test Status Go Report Card go.dev reference

About

This package provides Go types for unmarshalling the XML data exported by Gramps, an application for managing genealogical data.

Schema versions 1.7.1 and 1.7.2 are supported.

Experimental support for schema 1.8.0 is available using the gramps_schema180 build tag. Schema 1.8.0 adds the DNATest and DNAMatch object types, which are being developed in the upstream Gramps project (see the design discussion and implementation pull request). The schema 1.8.0 API may change as the upstream design evolves.

go build -tags gramps_schema180 ./...
go test -tags gramps_schema180 ./...

Status

This is an early release. Use with caution.

Usage

package main

import (
	"encoding/xml"
	"log"

	"github.com/iand/grampsxml"
)

func main() {
	input := `<?xml version="1.0" encoding="UTF-8"?>
<database xmlns="http://gramps-project.org/xml/1.7.1/">
  <people>
    <person handle="_076KQC7HG6P8BL5E35" change="1185438865" id="I0667">
      <gender>M</gender>
      <name type="Birth Name">
        <first>Edward</first>
        <surname>Потылицин</surname>
      </name>
    </person>
  </people>
</database>`

	var db grampsxml.Database
	err := xml.Unmarshal([]byte(input), &db)
	if err != nil {
		log.Fatalf("unexpected unmarshal error: %v", err)
	}

	for _, p := range db.People.Person {
		for _, name := range p.Name {
			log.Printf("%s: %s\n", *name.Type, *name.First)
		}
	}
}

Getting Started

Run the following in the directory containing your project's go.mod file:

go get github.com/iand/grampsxml@latest

Documentation is at https://pkg.go.dev/github.com/iand/grampsxml

License

This is free and unencumbered software released into the public domain. For more information, see http://unlicense.org/ or the accompanying UNLICENSE file.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Address

type Address struct {
	Daterange   *Daterange    `xml:"daterange,omitempty"`
	Datespan    *Datespan     `xml:"datespan,omitempty"`
	Dateval     *Dateval      `xml:"dateval,omitempty"`
	Datestr     *Datestr      `xml:"datestr,omitempty"`
	Street      *string       `xml:"street,omitempty"`
	Locality    *string       `xml:"locality,omitempty"`
	City        *string       `xml:"city,omitempty"`
	County      *string       `xml:"county,omitempty"`
	State       *string       `xml:"state,omitempty"`
	Country     *string       `xml:"country,omitempty"`
	Postal      *string       `xml:"postal,omitempty"`
	Phone       *string       `xml:"phone,omitempty"`
	Noteref     []Noteref     `xml:"noteref,omitempty"`
	Citationref []Citationref `xml:"citationref,omitempty"`
}

type Attribute

type Attribute struct {
	Priv        *bool         `xml:"priv,attr,omitempty"`
	Type        string        `xml:"type,attr"`
	Value       string        `xml:"value,attr"`
	Citationref []Citationref `xml:"citationref,omitempty"`
}

type Bookmark

type Bookmark struct {
	Target string `xml:"target,attr"`
	Hlink  string `xml:"hlink,attr"`
}

type Bookmarks

type Bookmarks struct {
	Bookmark []Bookmark `xml:"bookmark,omitempty"`
}

type Childof

type Childof struct {
	Hlink string `xml:"hlink,attr"`
}

type Childref

type Childref struct {
	Hlink string  `xml:"hlink,attr"`
	Priv  *bool   `xml:"priv,attr,omitempty"`
	Mrel  *string `xml:"mrel,attr,omitempty"`
	Frel  *string `xml:"frel,attr,omitempty"`
}

type Citation

type Citation struct {
	ID           *string        `xml:"id,attr,omitempty"`
	Handle       string         `xml:"handle,attr"`
	Priv         *bool          `xml:"priv,attr,omitempty"`
	Change       string         `xml:"change,attr"`
	Daterange    *Daterange     `xml:"daterange,omitempty"`
	Datespan     *Datespan      `xml:"datespan,omitempty"`
	Dateval      *Dateval       `xml:"dateval,omitempty"`
	Datestr      *Datestr       `xml:"datestr,omitempty"`
	Page         *string        `xml:"page,omitempty"`
	Confidence   string         `xml:"confidence"`
	Noteref      []Noteref      `xml:"noteref,omitempty"`
	Objref       []Objref       `xml:"objref,omitempty"`
	Srcattribute []Srcattribute `xml:"srcattribute,omitempty"`
	Sourceref    *Sourceref     `xml:"sourceref,omitempty"`
	Tagref       []Tagref       `xml:"tagref,omitempty"`
}

type Citationref

type Citationref struct {
	Hlink string `xml:"hlink,attr"`
}

type Citations

type Citations struct {
	Citation []Citation `xml:"citation,omitempty"`
}

type Coord

type Coord struct {
	Long string `xml:"long,attr"`
	Lat  string `xml:"lat,attr"`
}

type Created

type Created struct {
	Date    string `xml:"date,attr"`
	Version string `xml:"version,attr"`
}

type Database

type Database struct {
	Header       Header        `xml:"header"`
	NameFormats  []NameFormat  `xml:"name-formats>format"`
	Tags         *Tags         `xml:"tags,omitempty"`
	Events       *Events       `xml:"events,omitempty"`
	People       *People       `xml:"people,omitempty"`
	Families     *Families     `xml:"families,omitempty"`
	Citations    *Citations    `xml:"citations,omitempty"`
	Sources      *Sources      `xml:"sources,omitempty"`
	Places       *Places       `xml:"places,omitempty"`
	Objects      *Objects      `xml:"objects,omitempty"`
	Repositories *Repositories `xml:"repositories,omitempty"`
	Notes        *Notes        `xml:"notes,omitempty"`
	Bookmarks    *Bookmarks    `xml:"bookmarks,omitempty"`
	Namemaps     *Namemaps     `xml:"namemaps,omitempty"`
}

Database is the top-level container for a Gramps XML export. It supports schema versions 1.7.1 and 1.7.2.

func (*Database) UnmarshalXML added in v0.0.3

func (db *Database) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Database171 added in v0.0.3

type Database171 struct {
	XMLName      xml.Name      `xml:"http://gramps-project.org/xml/1.7.1/ database"`
	Header       Header        `xml:"header"`
	NameFormats  []NameFormat  `xml:"name-formats>format"`
	Tags         *Tags         `xml:"tags,omitempty"`
	Events       *Events       `xml:"events,omitempty"`
	People       *People       `xml:"people,omitempty"`
	Families     *Families     `xml:"families,omitempty"`
	Citations    *Citations    `xml:"citations,omitempty"`
	Sources      *Sources      `xml:"sources,omitempty"`
	Places       *Places       `xml:"places,omitempty"`
	Objects      *Objects      `xml:"objects,omitempty"`
	Repositories *Repositories `xml:"repositories,omitempty"`
	Notes        *Notes        `xml:"notes,omitempty"`
	Bookmarks    *Bookmarks    `xml:"bookmarks,omitempty"`
	Namemaps     *Namemaps     `xml:"namemaps,omitempty"`
}

Database171 is the versioned XML element for Gramps XML schema 1.7.1. Use to decode or encode XML in this exact schema version.

type Database172 added in v0.0.3

type Database172 struct {
	XMLName      xml.Name      `xml:"http://gramps-project.org/xml/1.7.2/ database"`
	Header       Header        `xml:"header"`
	NameFormats  []NameFormat  `xml:"name-formats>format"`
	Tags         *Tags         `xml:"tags,omitempty"`
	Events       *Events       `xml:"events,omitempty"`
	People       *People       `xml:"people,omitempty"`
	Families     *Families     `xml:"families,omitempty"`
	Citations    *Citations    `xml:"citations,omitempty"`
	Sources      *Sources      `xml:"sources,omitempty"`
	Places       *Places       `xml:"places,omitempty"`
	Objects      *Objects      `xml:"objects,omitempty"`
	Repositories *Repositories `xml:"repositories,omitempty"`
	Notes        *Notes        `xml:"notes,omitempty"`
	Bookmarks    *Bookmarks    `xml:"bookmarks,omitempty"`
	Namemaps     *Namemaps     `xml:"namemaps,omitempty"`
}

Database172 is the versioned XML element for Gramps XML schema 1.7.2. Use to decode or encode XML in this exact schema version.

type Daterange

type Daterange struct {
	Start     string  `xml:"start,attr"`
	Stop      string  `xml:"stop,attr"`
	Quality   *string `xml:"quality,attr,omitempty"`
	Cformat   *string `xml:"cformat,attr,omitempty"`
	Dualdated *bool   `xml:"dualdated,attr,omitempty"`
	Newyear   *string `xml:"newyear,attr,omitempty"`
}

type Datespan

type Datespan struct {
	Start     string  `xml:"start,attr"`
	Stop      string  `xml:"stop,attr"`
	Quality   *string `xml:"quality,attr,omitempty"`
	Cformat   *string `xml:"cformat,attr,omitempty"`
	Dualdated *bool   `xml:"dualdated,attr,omitempty"`
	Newyear   *string `xml:"newyear,attr,omitempty"`
}

type Datestr

type Datestr struct {
	Val string `xml:"val,attr"`
}

type Dateval

type Dateval struct {
	Val       string  `xml:"val,attr"`
	Type      *string `xml:"type,attr,omitempty"`
	Quality   *string `xml:"quality,attr,omitempty"`
	Cformat   *string `xml:"cformat,attr,omitempty"`
	Dualdated *bool   `xml:"dualdated,attr,omitempty"`
	Newyear   *string `xml:"newyear,attr,omitempty"`
}

type Event

type Event struct {
	ID          *string       `xml:"id,attr,omitempty"`
	Handle      string        `xml:"handle,attr"`
	Priv        *bool         `xml:"priv,attr,omitempty"`
	Change      string        `xml:"change,attr"`
	Type        *string       `xml:"type"`
	Daterange   *Daterange    `xml:"daterange,omitempty"`
	Datespan    *Datespan     `xml:"datespan,omitempty"`
	Dateval     *Dateval      `xml:"dateval,omitempty"`
	Datestr     *Datestr      `xml:"datestr,omitempty"`
	Place       *Place        `xml:"place,omitempty"`
	Cause       *string       `xml:"cause,omitempty"`
	Description *string       `xml:"description,omitempty"`
	Attribute   []Attribute   `xml:"attribute,omitempty"`
	Noteref     []Noteref     `xml:"noteref,omitempty"`
	Citationref []Citationref `xml:"citationref,omitempty"`
	Objref      []Objref      `xml:"objref,omitempty"`
	Tagref      []Tagref      `xml:"tagref,omitempty"`
}

type Eventref

type Eventref struct {
	Hlink     string      `xml:"hlink,attr"`
	Priv      *bool       `xml:"priv,attr,omitempty"`
	Role      *string     `xml:"role,attr,omitempty"`
	Attribute []Attribute `xml:"attribute,omitempty"`
	Noteref   []Noteref   `xml:"noteref,omitempty"`
}

type Events

type Events struct {
	Event []Event `xml:"event,omitempty"`
}

type Families

type Families struct {
	Family []Family `xml:"family,omitempty"`
}

type Family

type Family struct {
	ID          *string       `xml:"id,attr,omitempty"`
	Handle      string        `xml:"handle,attr"`
	Priv        *bool         `xml:"priv,attr,omitempty"`
	Change      string        `xml:"change,attr"`
	Rel         *Rel          `xml:"rel,omitempty"`
	Father      *Father       `xml:"father,omitempty"`
	Mother      *Mother       `xml:"mother,omitempty"`
	Eventref    []Eventref    `xml:"eventref,omitempty"`
	LdsOrd      []LdsOrd      `xml:"lds_ord,omitempty"`
	Objref      []Objref      `xml:"objref,omitempty"`
	Childref    []Childref    `xml:"childref,omitempty"`
	Attribute   []Attribute   `xml:"attribute,omitempty"`
	Noteref     []Noteref     `xml:"noteref,omitempty"`
	Citationref []Citationref `xml:"citationref,omitempty"`
	Tagref      []Tagref      `xml:"tagref,omitempty"`
}

type Father

type Father struct {
	Hlink string `xml:"hlink,attr"`
}

type File

type File struct {
	Src         string  `xml:"src,attr"`
	Mime        string  `xml:"mime,attr"`
	Checksum    *string `xml:"checksum,attr,omitempty"`
	Description string  `xml:"description,attr"`
}
type Header struct {
	Created    Created     `xml:"created"`
	Researcher *Researcher `xml:"researcher,omitempty"`
	Mediapath  *string     `xml:"mediapath,omitempty"`
}

type LdsOrd

type LdsOrd struct {
	Priv        *bool         `xml:"priv,attr,omitempty"`
	Type        string        `xml:"type,attr"`
	Daterange   *Daterange    `xml:"daterange,omitempty"`
	Datespan    *Datespan     `xml:"datespan,omitempty"`
	Dateval     *Dateval      `xml:"dateval,omitempty"`
	Datestr     *Datestr      `xml:"datestr,omitempty"`
	Temple      *Temple       `xml:"temple,omitempty"`
	Place       *Place        `xml:"place,omitempty"`
	Status      *Status       `xml:"status,omitempty"`
	SealedTo    *SealedTo     `xml:"sealed_to,omitempty"`
	Noteref     []Noteref     `xml:"noteref,omitempty"`
	Citationref []Citationref `xml:"citationref,omitempty"`
}

type Location

type Location struct {
	Street   *string `xml:"street,attr,omitempty"`
	Locality *string `xml:"locality,attr,omitempty"`
	City     *string `xml:"city,attr,omitempty"`
	Parish   *string `xml:"parish,attr,omitempty"`
	County   *string `xml:"county,attr,omitempty"`
	State    *string `xml:"state,attr,omitempty"`
	Country  *string `xml:"country,attr,omitempty"`
	Postal   *string `xml:"postal,attr,omitempty"`
	Phone    *string `xml:"phone,attr,omitempty"`
}

type Map

type Map struct {
	Type  string `xml:"type,attr"`
	Key   string `xml:"key,attr"`
	Value string `xml:"value,attr"`
}

type Mother

type Mother struct {
	Hlink string `xml:"hlink,attr"`
}

type Name

type Name struct {
	Alt         *bool         `xml:"alt,attr,omitempty"`
	Type        *string       `xml:"type,attr,omitempty"`
	Priv        *bool         `xml:"priv,attr,omitempty"`
	Sort        *string       `xml:"sort,attr,omitempty"`
	Display     *string       `xml:"display,attr,omitempty"`
	First       *string       `xml:"first,omitempty"`
	Call        *string       `xml:"call,omitempty"`
	Suffix      *string       `xml:"suffix,omitempty"`
	Title       *string       `xml:"title,omitempty"`
	Nick        *string       `xml:"nick,omitempty"`
	Familynick  *string       `xml:"familynick,omitempty"`
	Group       *string       `xml:"group,omitempty"`
	Surname     []Surname     `xml:"surname"`
	Daterange   *Daterange    `xml:"daterange,omitempty"`
	Datespan    *Datespan     `xml:"datespan,omitempty"`
	Dateval     *Dateval      `xml:"dateval,omitempty"`
	Datestr     *Datestr      `xml:"datestr,omitempty"`
	Noteref     []Noteref     `xml:"noteref,omitempty"`
	Citationref []Citationref `xml:"citationref,omitempty"`
}

type NameFormat

type NameFormat struct {
	Number string `xml:"number,attr"`
	Name   string `xml:"name,attr"`
	Fmtstr string `xml:"fmt_str,attr"`
	Active *bool  `xml:"active,attr,omitempty"`
}

type Namemaps

type Namemaps struct {
	Map []Map `xml:"map,omitempty"`
}

type Note

type Note struct {
	ID     *string  `xml:"id,attr,omitempty"`
	Handle string   `xml:"handle,attr"`
	Priv   *bool    `xml:"priv,attr,omitempty"`
	Change string   `xml:"change,attr"`
	Format *bool    `xml:"format,attr,omitempty"`
	Type   string   `xml:"type,attr"`
	Text   string   `xml:"text"`
	Style  []Style  `xml:"style,omitempty"`
	Tagref []Tagref `xml:"tagref,omitempty"`
}

type Noteref

type Noteref struct {
	Hlink string `xml:"hlink,attr"`
}

type Notes

type Notes struct {
	Note []Note `xml:"note,omitempty"`
}

type Object

type Object struct {
	ID          *string       `xml:"id,attr,omitempty"`
	Handle      string        `xml:"handle,attr"`
	Priv        *bool         `xml:"priv,attr,omitempty"`
	Change      string        `xml:"change,attr"`
	File        File          `xml:"file"`
	Attribute   []Attribute   `xml:"attribute,omitempty"`
	Noteref     []Noteref     `xml:"noteref,omitempty"`
	Daterange   *Daterange    `xml:"daterange,omitempty"`
	Datespan    *Datespan     `xml:"datespan,omitempty"`
	Dateval     *Dateval      `xml:"dateval,omitempty"`
	Datestr     *Datestr      `xml:"datestr,omitempty"`
	Citationref []Citationref `xml:"citationref,omitempty"`
	Tagref      []Tagref      `xml:"tagref,omitempty"`
}

type Objects

type Objects struct {
	Object []Object `xml:"object,omitempty"`
}

type Objref

type Objref struct {
	Hlink  string  `xml:"hlink,attr"`
	Priv   *bool   `xml:"priv,attr,omitempty"`
	Region *Region `xml:"region,omitempty"`
}

type Parentin

type Parentin struct {
	Hlink string `xml:"hlink,attr"`
}

type People

type People struct {
	Default *string  `xml:"default,omitempty"`
	Home    *string  `xml:"home,omitempty"`
	Person  []Person `xml:"person,omitempty"`
}

type Person

type Person struct {
	ID          *string       `xml:"id,attr,omitempty"`
	Handle      string        `xml:"handle,attr"`
	Priv        *bool         `xml:"priv,attr,omitempty"`
	Change      string        `xml:"change,attr"`
	Gender      string        `xml:"gender"`
	Name        []Name        `xml:"name,omitempty"`
	Eventref    []Eventref    `xml:"eventref,omitempty"`
	LdsOrd      []LdsOrd      `xml:"lds_ord,omitempty"`
	Objref      []Objref      `xml:"objref,omitempty"`
	Address     []Address     `xml:"address,omitempty"`
	Attribute   []Attribute   `xml:"attribute,omitempty"`
	Url         []Url         `xml:"url,omitempty"`
	Childof     []Childof     `xml:"childof,omitempty"`
	Parentin    []Parentin    `xml:"parentin,omitempty"`
	Personref   []Personref   `xml:"personref,omitempty"`
	Noteref     []Noteref     `xml:"noteref,omitempty"`
	Citationref []Citationref `xml:"citationref,omitempty"`
	Tagref      []Tagref      `xml:"tagref,omitempty"`
}

type Personref

type Personref struct {
	Hlink       string        `xml:"hlink,attr"`
	Priv        *bool         `xml:"priv,attr,omitempty"`
	Rel         string        `xml:"rel,attr"`
	Citationref []Citationref `xml:"citationref,omitempty"`
	Noteref     []Noteref     `xml:"noteref,omitempty"`
}

type Place

type Place struct {
	Hlink string `xml:"hlink,attr"`
}

type Placeobj

type Placeobj struct {
	ID          *string       `xml:"id,attr,omitempty"`
	Handle      string        `xml:"handle,attr"`
	Priv        *bool         `xml:"priv,attr,omitempty"`
	Change      string        `xml:"change,attr"`
	Type        string        `xml:"type,attr"`
	Ptitle      *string       `xml:"ptitle,omitempty"`
	Pname       []Pname       `xml:"pname"`
	Code        *string       `xml:"code,omitempty"`
	Coord       *Coord        `xml:"coord,omitempty"`
	Placeref    []Placeref    `xml:"placeref,omitempty"`
	Location    []Location    `xml:"location,omitempty"`
	Url         []Url         `xml:"url,omitempty"`
	Objref      []Objref      `xml:"objref,omitempty"`
	Noteref     []Noteref     `xml:"noteref,omitempty"`
	Citationref []Citationref `xml:"citationref,omitempty"`
	Tagref      []Tagref      `xml:"tagref,omitempty"`
}

type Placeref

type Placeref struct {
	Hlink string `xml:"hlink,attr"`
}

type Places

type Places struct {
	Place []Placeobj `xml:"placeobj,omitempty"`
}

type Pname

type Pname struct {
	Lang      *string    `xml:"lang,attr,omitempty"`
	Value     string     `xml:"value,attr"`
	Daterange *Daterange `xml:"daterange,omitempty"`
	Datespan  *Datespan  `xml:"datespan,omitempty"`
	Dateval   *Dateval   `xml:"dateval,omitempty"`
	Datestr   *Datestr   `xml:"datestr,omitempty"`
}

type Range

type Range struct {
	Start int `xml:"start,attr"`
	End   int `xml:"end,attr"`
}

type Region

type Region struct {
	Corner1x *int `xml:"corner1_x,attr,omitempty"`
	Corner1y *int `xml:"corner1_y,attr,omitempty"`
	Corner2x *int `xml:"corner2_x,attr,omitempty"`
	Corner2y *int `xml:"corner2_y,attr,omitempty"`
}

type Rel

type Rel struct {
	Type string `xml:"type,attr"`
}

type Reporef

type Reporef struct {
	Hlink  string  `xml:"hlink,attr"`
	Priv   *bool   `xml:"priv,attr,omitempty"`
	Callno *string `xml:"callno,attr,omitempty"`
	Medium *string `xml:"medium,attr,omitempty"`
}

type Repositories

type Repositories struct {
	Repository []Repository `xml:"repository,omitempty"`
}

type Repository

type Repository struct {
	ID      *string   `xml:"id,attr,omitempty"`
	Handle  string    `xml:"handle,attr"`
	Priv    *bool     `xml:"priv,attr,omitempty"`
	Change  string    `xml:"change,attr"`
	Rname   string    `xml:"rname"`
	Type    string    `xml:"type"`
	Address []Address `xml:"address,omitempty"`
	Url     []Url     `xml:"url,omitempty"`
	Noteref []Noteref `xml:"noteref,omitempty"`
	Tagref  []Tagref  `xml:"tagref,omitempty"`
}

type Researcher

type Researcher struct {
	Resname     *string `xml:"resname,omitempty"`
	Resaddr     *string `xml:"resaddr,omitempty"`
	Reslocality *string `xml:"reslocality,omitempty"`
	Rescity     *string `xml:"rescity,omitempty"`
	Resstate    *string `xml:"resstate,omitempty"`
	Rescountry  *string `xml:"rescountry,omitempty"`
	Respostal   *string `xml:"respostal,omitempty"`
	Resphone    *string `xml:"resphone,omitempty"`
	Resemail    *string `xml:"resemail,omitempty"`
}

type SealedTo

type SealedTo struct {
	Hlink string `xml:"hlink,attr"`
}

type Source

type Source struct {
	ID           *string        `xml:"id,attr,omitempty"`
	Handle       string         `xml:"handle,attr"`
	Priv         *bool          `xml:"priv,attr,omitempty"`
	Change       string         `xml:"change,attr"`
	Stitle       *string        `xml:"stitle,omitempty"`
	Sauthor      *string        `xml:"sauthor,omitempty"`
	Spubinfo     *string        `xml:"spubinfo,omitempty"`
	Sabbrev      *string        `xml:"sabbrev,omitempty"`
	Noteref      []Noteref      `xml:"noteref,omitempty"`
	Objref       []Objref       `xml:"objref,omitempty"`
	Srcattribute []Srcattribute `xml:"srcattribute,omitempty"`
	Reporef      []Reporef      `xml:"reporef,omitempty"`
	Tagref       []Tagref       `xml:"tagref,omitempty"`
}

type Sourceref

type Sourceref struct {
	Hlink string `xml:"hlink,attr"`
}

type Sources

type Sources struct {
	Source []Source `xml:"source,omitempty"`
}

type Srcattribute

type Srcattribute struct {
	Priv  *bool  `xml:"priv,attr,omitempty"`
	Type  string `xml:"type,attr"`
	Value string `xml:"value,attr"`
}

type Status

type Status struct {
	Val string `xml:"val,attr"`
}

type Style

type Style struct {
	Name  string  `xml:"name,attr"`
	Value *string `xml:"value,attr,omitempty"`
	Range []Range `xml:"range"`
}

type Surname

type Surname struct {
	Prefix     *string `xml:"prefix,attr,omitempty"`
	Prim       *bool   `xml:"prim,attr,omitempty"`
	Derivation *string `xml:"derivation,attr,omitempty"`
	Connector  *string `xml:"connector,attr,omitempty"`
	Surname    string  `xml:",chardata"`
}

type Tag

type Tag struct {
	Handle   string `xml:"handle,attr"`
	Name     string `xml:"name,attr"`
	Color    string `xml:"color,attr"`
	Priority string `xml:"priority,attr"`
	Change   string `xml:"change,attr"`
}

type Tagref

type Tagref struct {
	Hlink string `xml:"hlink,attr"`
}

type Tags

type Tags struct {
	Tag []Tag `xml:"tag,omitempty"`
}

type Temple

type Temple struct {
	Val string `xml:"val,attr"`
}

type Url

type Url struct {
	Priv        *bool   `xml:"priv,attr,omitempty"`
	Type        *string `xml:"type,attr,omitempty"`
	Href        string  `xml:"href,attr"`
	Description *string `xml:"description,attr,omitempty"`
}

Jump to

Keyboard shortcuts

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