1 /* fta_xml.h
2  *
3  * ===========================================================================
4  *
5  *                            PUBLIC DOMAIN NOTICE
6  *               National Center for Biotechnology Information
7  *
8  *  This software/database is a "United States Government Work" under the
9  *  terms of the United States Copyright Act.  It was written as part of
10  *  the author's official duties as a United States Government employee and
11  *  thus cannot be copyrighted.  This software/database is freely available
12  *  to the public for use. The National Library of Medicine and the U.S.
13  *  Government have not placed any restriction on its use or reproduction.
14  *
15  *  Although all reasonable efforts have been taken to ensure the accuracy
16  *  and reliability of the software and data, the NLM and the U.S.
17  *  Government do not and cannot warrant the performance or results that
18  *  may be obtained by using this software or data. The NLM and the U.S.
19  *  Government disclaim all warranties, express or implied, including
20  *  warranties of performance, merchantability or fitness for any particular
21  *  purpose.
22  *
23  *  Please cite the author in any work or product based on this material.
24  *
25  * ===========================================================================
26  *
27  * File Name:  fta_xml.h
28  *
29  * Author: Sergey Bazhin
30  *
31  * File Description:
32  * -----------------
33  */
34 
35 #ifndef _FTA_XML_
36 #define _FTA_XML_
37 
38 #include "ftablock.h"
39 
40 #define INSDSEQ_START                "<INSDSeq>"
41 #define INSDSEQ_END                  "</INSDSeq>"
42 
43 #define INSDSEQ_LOCUS                1
44 #define INSDSEQ_LENGTH               2
45 #define INSDSEQ_STRANDEDNESS         3
46 #define INSDSEQ_MOLTYPE              4
47 #define INSDSEQ_TOPOLOGY             5
48 #define INSDSEQ_DIVISION             6
49 #define INSDSEQ_UPDATE_DATE          7
50 #define INSDSEQ_CREATE_DATE          8
51 #define INSDSEQ_UPDATE_RELEASE       9
52 #define INSDSEQ_CREATE_RELEASE       10
53 #define INSDSEQ_DEFINITION           11
54 #define INSDSEQ_PRIMARY_ACCESSION    12
55 #define INSDSEQ_ENTRY_VERSION        13
56 #define INSDSEQ_ACCESSION_VERSION    14
57 #define INSDSEQ_OTHER_SEQIDS         15
58 #define INSDSEQ_SECONDARY_ACCESSIONS 16
59 #define INSDSEQ_KEYWORDS             17
60 #define INSDSEQ_SEGMENT              18
61 #define INSDSEQ_SOURCE               19
62 #define INSDSEQ_ORGANISM             20
63 #define INSDSEQ_TAXONOMY             21
64 #define INSDSEQ_REFERENCES           22
65 #define INSDSEQ_COMMENT              23
66 #define INSDSEQ_PRIMARY              24
67 #define INSDSEQ_SOURCE_DB            25
68 #define INSDSEQ_DATABASE_REFERENCE   26
69 #define INSDSEQ_FEATURE_TABLE        27
70 #define INSDSEQ_SEQUENCE             28
71 #define INSDSEQ_CONTIG               29
72 
73 /* define subkeywords
74  */
75 #define INSDSECONDARY_ACCN           30
76 #define INSDKEYWORD                  31
77 #define INSDFEATURE                  32
78 #define INSDFEATURE_KEY              33
79 #define INSDFEATURE_LOCATION         34
80 #define INSDFEATURE_INTERVALS        35
81 #define INSDFEATURE_QUALS            36
82 #define INSDINTERVAL                 37
83 #define INSDINTERVAL_FROM            38
84 #define INSDINTERVAL_TO              39
85 #define INSDINTERVAL_POINT           40
86 #define INSDINTERVAL_ACCESSION       41
87 #define INSDQUALIFIER                42
88 #define INSDQUALIFIER_NAME           43
89 #define INSDQUALIFIER_VALUE          44
90 #define INSDREFERENCE                45
91 #define INSDREFERENCE_REFERENCE      46
92 #define INSDREFERENCE_POSITION       47
93 #define INSDREFERENCE_AUTHORS        48
94 #define INSDREFERENCE_CONSORTIUM     49
95 #define INSDREFERENCE_TITLE          50
96 #define INSDREFERENCE_JOURNAL        51
97 #define INSDREFERENCE_MEDLINE        52
98 #define INSDREFERENCE_PUBMED         53
99 #define INSDREFERENCE_REMARK         54
100 #define INSDREFERENCE_XREF           55
101 #define INSDXREF                     56
102 #define INSDXREF_DBNAME              57
103 #define INSDXREF_ID                  58
104 #define INSDAUTHOR                   59
105 
106 #define XML_FEATURES                 1
107 
108 BEGIN_NCBI_SCOPE
109 
110 char*    XMLLoadEntry(ParserPtr pp, bool err);
111 char*    XMLGetTagValue(char* entry, XmlIndexPtr xip);
112 char*    XMLFindTagValue(char* entry, XmlIndexPtr xip, Int4 tag);
113 DataBlkPtr XMLBuildRefDataBlk(char* entry, XmlIndexPtr xip, Int2 type);
114 char*    XMLConcatSubTags(char* entry, XmlIndexPtr xip, Int4 tag, Char sep);
115 void       XMLGetKeywords(char* entry, XmlIndexPtr xip, TKeywordList& keywords);
116 
117 END_NCBI_SCOPE
118 
119 #endif
120