-
Notifications
You must be signed in to change notification settings - Fork 11
/
search.go
89 lines (85 loc) · 3.37 KB
/
search.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// Copyright ©2013 The bíogo Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package entrez
import (
"github.com/biogo/ncbi/entrez/search"
)
// <!--
// This is the Current DTD for Entrez eSearch
// $Id: eSearch_020511.dtd 85163 2006-06-28 17:35:21Z olegh $
// -->
// <!-- ================================================================= -->
//
// <!ELEMENT Count (#PCDATA)> <!-- \d+ -->
// <!ELEMENT RetMax (#PCDATA)> <!-- \d+ -->
// <!ELEMENT RetStart (#PCDATA)> <!-- \d+ -->
// <!ELEMENT Id (#PCDATA)> <!-- \d+ -->
//
// <!ELEMENT From (#PCDATA)> <!-- .+ -->
// <!ELEMENT To (#PCDATA)> <!-- .+ -->
// <!ELEMENT Term (#PCDATA)> <!-- .+ -->
//
// <!ELEMENT Field (#PCDATA)> <!-- .+ -->
//
// <!ELEMENT QueryKey (#PCDATA)> <!-- \d+ -->
// <!ELEMENT WebEnv (#PCDATA)> <!-- \S+ -->
//
// <!ELEMENT Explode (#PCDATA)> <!-- (Y|N) -->
// <!ELEMENT OP (#PCDATA)> <!-- (AND|OR|NOT|RANGE|GROUP) -->
// <!ELEMENT IdList (Id*)>
//
// <!ELEMENT Translation (From, To)>
// <!ELEMENT TranslationSet (Translation*)>
//
// <!ELEMENT TermSet (Term, Field, Count, Explode)>
// <!ELEMENT TranslationStack ((TermSet|OP)*)>
//
// <!-- Error message tags -->
//
// <!ELEMENT ERROR (#PCDATA)> <!-- .+ -->
//
// <!ELEMENT OutputMessage (#PCDATA)> <!-- .+ -->
// <!ELEMENT QuotedPhraseNotFound (#PCDATA)> <!-- .+ -->
// <!ELEMENT PhraseIgnored (#PCDATA)> <!-- .+ -->
// <!ELEMENT FieldNotFound (#PCDATA)> <!-- .+ -->
// <!ELEMENT PhraseNotFound (#PCDATA)> <!-- .+ -->
// <!ELEMENT QueryTranslation (#PCDATA)> <!-- .+ -->
//
// <!ELEMENT ErrorList (PhraseNotFound*,FieldNotFound*)>
// <!ELEMENT WarningList (PhraseIgnored*,
// QuotedPhraseNotFound*,
// OutputMessage*)>
// <!-- Response tags -->
//
//
// <!ELEMENT eSearchResult (((
// Count,
// (RetMax,
// RetStart,
// QueryKey?,
// WebEnv?,
// IdList,
// TranslationSet,
// TranslationStack?,
// QueryTranslation
// )?
// ) | ERROR),
// ErrorList?,
// WarningList?
// )>
// A Search holds the deserialised results of an ESearch request.
type Search struct {
Database string
Count int `xml:"Count"`
RetMax int `xml:"RetMax"`
RetStart int `xml:"RetStart"`
*History
IdList []int `xml:"IdList>Id"`
Translations []search.Translation `xml:"TranslationSet>Translation"`
TranslationStack search.TranslationStack `xml:"TranslationStack"`
QueryTranslation *string `xml:"QueryTranslation"`
Err *string `xml:"ERROR"`
NotFound *search.NotFound `xml:"ErrorList"`
Warnings *search.Warnings `xml:"WarningList"`
}