GoPLS Viewer

Home|gopls/blog/atom/atom.go
1// Copyright 2009 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Adapted from encoding/xml/read_test.go.
6
7// Package atom defines XML data structures for an Atom feed.
8package atom // import "golang.org/x/tools/blog/atom"
9
10import (
11    "encoding/xml"
12    "time"
13)
14
15type Feed struct {
16    XMLName xml.Name `xml:"http://www.w3.org/2005/Atom feed"`
17    Title   string   `xml:"title"`
18    ID      string   `xml:"id"`
19    Link    []Link   `xml:"link"`
20    Updated TimeStr  `xml:"updated"`
21    Author  *Person  `xml:"author"`
22    Entry   []*Entry `xml:"entry"`
23}
24
25type Entry struct {
26    Title     string  `xml:"title"`
27    ID        string  `xml:"id"`
28    Link      []Link  `xml:"link"`
29    Published TimeStr `xml:"published"`
30    Updated   TimeStr `xml:"updated"`
31    Author    *Person `xml:"author"`
32    Summary   *Text   `xml:"summary"`
33    Content   *Text   `xml:"content"`
34}
35
36type Link struct {
37    Rel      string `xml:"rel,attr,omitempty"`
38    Href     string `xml:"href,attr"`
39    Type     string `xml:"type,attr,omitempty"`
40    HrefLang string `xml:"hreflang,attr,omitempty"`
41    Title    string `xml:"title,attr,omitempty"`
42    Length   uint   `xml:"length,attr,omitempty"`
43}
44
45type Person struct {
46    Name     string `xml:"name"`
47    URI      string `xml:"uri,omitempty"`
48    Email    string `xml:"email,omitempty"`
49    InnerXML string `xml:",innerxml"`
50}
51
52type Text struct {
53    Type string `xml:"type,attr"`
54    Body string `xml:",chardata"`
55}
56
57type TimeStr string
58
59func Time(t time.TimeTimeStr {
60    return TimeStr(t.Format("2006-01-02T15:04:05-07:00"))
61}
62
MembersX
time
Text.Type
Time.t
Link.Length
Person.Name
Text.Body
Feed.Link
Link.Href
Link.Title
Entry.Author
Link
Link.HrefLang
Feed.XMLName
Feed.Title
Entry.Published
Entry.Content
Text
Person.Email
Entry.Title
Entry.Summary
Person
Entry
Person.URI
Person.InnerXML
TimeStr
Feed
Feed.Updated
Feed.Author
Entry.Link
Entry.Updated
Link.Type
Feed.ID
Feed.Entry
Entry.ID
xml
Link.Rel
Time
Members
X