(p *xpp.XMLPullParser)
| 197 | } |
| 198 | |
| 199 | func (ap *Parser) parseEntry(p *xpp.XMLPullParser) (*Entry, error) { |
| 200 | if err := p.Expect(xpp.StartTag, "entry"); err != nil { |
| 201 | return nil, err |
| 202 | } |
| 203 | entry := &Entry{} |
| 204 | |
| 205 | contributors := []*Person{} |
| 206 | authors := []*Person{} |
| 207 | categories := []*Category{} |
| 208 | links := []*Link{} |
| 209 | extensions := ext.Extensions{} |
| 210 | |
| 211 | for { |
| 212 | tok, err := shared.NextTag(p) |
| 213 | if err != nil { |
| 214 | return nil, err |
| 215 | } |
| 216 | |
| 217 | if tok == xpp.EndTag { |
| 218 | break |
| 219 | } |
| 220 | |
| 221 | if tok == xpp.StartTag { |
| 222 | |
| 223 | name := strings.ToLower(p.Name) |
| 224 | |
| 225 | if shared.IsExtension(p) { |
| 226 | e, err := shared.ParseExtension(extensions, p) |
| 227 | if err != nil { |
| 228 | return nil, err |
| 229 | } |
| 230 | extensions = e |
| 231 | } else if name == "title" { |
| 232 | result, err := ap.parseAtomText(p) |
| 233 | if err != nil { |
| 234 | return nil, err |
| 235 | } |
| 236 | entry.Title = result |
| 237 | } else if name == "id" { |
| 238 | result, err := ap.parseAtomText(p) |
| 239 | if err != nil { |
| 240 | return nil, err |
| 241 | } |
| 242 | entry.ID = result |
| 243 | } else if name == "rights" || |
| 244 | name == "copyright" { |
| 245 | result, err := ap.parseAtomText(p) |
| 246 | if err != nil { |
| 247 | return nil, err |
| 248 | } |
| 249 | entry.Rights = result |
| 250 | } else if name == "summary" { |
| 251 | result, err := ap.parseAtomText(p) |
| 252 | if err != nil { |
| 253 | return nil, err |
| 254 | } |
| 255 | entry.Summary = result |
| 256 | } else if name == "source" { |
no test coverage detected