-
Notifications
You must be signed in to change notification settings - Fork 11
/
link.go
103 lines (99 loc) · 2.99 KB
/
link.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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
// 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/link"
)
// <!--
// This is the Current DTD for Entrez eLink
// $Id: eLink_101123.dtd 349314 2012-01-09 23:26:00Z fialkov $
// -->
// <!-- ================================================================= -->
//
// <!ELEMENT ERROR (#PCDATA)> <!-- .+ -->
// <!ELEMENT Info (#PCDATA)> <!-- .+ -->
//
// <!ELEMENT Id (#PCDATA)> <!-- \d+ -->
// <!ATTLIST Id
// HasLinkOut (Y|N) #IMPLIED
// HasNeighbor (Y|N) #IMPLIED
// >
//
// <!ELEMENT Score (#PCDATA)> <!-- \d+ -->
// <!ELEMENT DbFrom (#PCDATA)> <!-- \S+ -->
// <!ELEMENT DbTo (#PCDATA)> <!-- \S+ -->
// <!ELEMENT LinkName (#PCDATA)> <!-- \S+ -->
// <!ELEMENT WebEnv (#PCDATA)> <!-- \S+ -->
// <!ELEMENT MenuTag (#PCDATA)> <!-- \S+ -->
// <!ELEMENT HtmlTag (#PCDATA)> <!-- \S+ -->
// <!ELEMENT Priority (#PCDATA)> <!-- \S+ -->
//
// <!ELEMENT IdList (Id*)>
//
// <!-- cmd=neighbor -->
// <!ELEMENT Link (Id, Score?)>
// <!ELEMENT QueryKey (#PCDATA)>
//
// <!ELEMENT LinkSetDb (DbTo, LinkName, (Link*|Info), ERROR?)>
// <!ELEMENT LinkSetDbHistory (DbTo, LinkName, (QueryKey|Info), ERROR?)>
//
// <!-- cmd=llinks -->
//
// <!ELEMENT Url (#PCDATA)> <!-- \S+ -->
// <!ATTLIST Url LNG (DA|DE|EN|EL|ES|FR|IT|IW|JA|NL|NO|RU|SV|ZH) "EN">
//
// <!ELEMENT IconUrl (#PCDATA)> <!-- \S+ -->
// <!ATTLIST IconUrl LNG (DA|DE|EN|EL|ES|FR|IT|IW|JA|NL|NO|RU|SV|ZH) "EN">
//
// <!ELEMENT SubjectType (#PCDATA)> <!-- .+ -->
// <!ELEMENT Category (#PCDATA)> <!-- .+ -->
// <!ELEMENT Attribute (#PCDATA)> <!-- .+ -->
// <!--ELEMENT LinkName (#PCDATA)--> <!--defined in neighbor section--><!-- \S+ -->
// <!ELEMENT Name (#PCDATA)> <!-- .+ -->
// <!ELEMENT NameAbbr (#PCDATA)> <!-- \S+ -->
// <!ELEMENT SubProvider (#PCDATA)>
//
// <!ELEMENT FirstChar (#PCDATA)>
//
// <!ELEMENT Provider (
// Name,
// NameAbbr,
// Id,
// Url,
// IconUrl?
// )>
//
// <!ELEMENT ObjUrl (
// Url,
// IconUrl?,
// LinkName?,
// SubjectType*,
// Category*,
// Attribute*,
// Provider,
// SubProvider?
// )>
//
// <!ELEMENT IdUrlSet (Id,(ObjUrl+|Info))>
//
// <!ELEMENT FirstChars (FirstChar*)>
//
// <!ELEMENT LinkInfo (DbTo, LinkName, MenuTag?, HtmlTag?, Url?, Priority)>
// <!ELEMENT IdLinkSet (Id, LinkInfo*)>
// <!ELEMENT IdUrlList (IdUrlSet* | FirstChars*)>
//
// <!-- cmd=ncheck & lcheck & acheck -->
// <!ELEMENT IdCheckList ((Id|IdLinkSet)*,ERROR?)>
//
// <!-- Common -->
// <!ELEMENT LinkSet (DbFrom,
// ((IdList?, ((ERROR?, LinkSetDb)* | (LinkSetDbHistory*, WebEnv))) | IdUrlList | IdCheckList | ERROR), ERROR?
// )>
//
// <!ELEMENT eLinkResult (LinkSet*, ERROR?)>
// A Link holds the deserialised results of an ELink request.
type Link struct {
LinkSets []link.LinkSet `xml:"LinkSet"`
Err *string `xml:"ERROR"`
}