Package Bio :: Package EUtils :: Package DTDs :: Module LinkOut
[hide private]
[frames] | no frames]

Source Code for Module Bio.EUtils.DTDs.LinkOut

  1  #!/usr/bin/env python 
  2   
  3  # This file generated by a program. do not edit. 
  4  import Bio.EUtils.POM 
  5   
  6  #  $Id: LinkOut.py,v 1.3 2007/07/21 14:55:33 mdehoon Exp $  
  7  #  LinkOut DTD version 1.1 
  8  #             
  9  #      This document is still under revision and may change. 
 10  #       
 11  #      Changes: 
 12  #      version 1.1: 
 13  #      - SubjectType and Attribute lists updated 
 14  #      - DTD is XML 
 15  #      version 1.6: 
 16  #      - <apad> tag added 
 17  #       
 18  #      version sequence refreshed to 1.1 on 2001/09/20 
 19  #       
 20  #      version 1.2: 
 21  #      - SubObjectSelector updated to  
 22  #        
 23  #      <!ELEMENT SubObjectSelector       (Database, SubProvider)> 
 24  #       
 25  #      version 1.3: 
 26  #      - Entities added:  lo.name, lo.genus, lo.species, lo.subsp 
 27  #  
 28  #      version 1.6: 
 29  #      - Enitities added: lo.month, lo.authln  
 30  #   
 31  #      
 32  #  Typical usage: 
 33  #  
 34  #         <!DOCTYPE LinkSet PUBLIC "-//NLM//DTD LinkOut//EN" "LinkOut.dtd"> 
 35  #         <LinkSet> 
 36  #         ... 
 37  #          </LinkSet> 
 38  #              
 39  #          or: 
 40  #  
 41  #          <!DOCTYPE Provider PUBLIC "-//NLM//DTD LinkOut//EN" "LinkOut.dtd"> 
 42  #          <Provider> 
 43  #          ... 
 44  #          </Provider> 
 45  #  
 46  #      
 47  #  
 48  #  
 49  #    Rule based URL generation. In general, to build the 
 50  #    URL both base and rule are required, where base is the 
 51  #    HTTP base address, for example: 
 52  #  
 53  #        http://www.sciencemag.org/cgi/content/full/ 
 54  #  
 55  #    and rule is in the following format: 
 56  #  
 57  #        &lo.vol;/&lo.iss;/&lo.page; 
 58  #  
 59  #    LinkOut will replace the keywords in rule with the actual  
 60  #    value for a retrieved citation. Therefore, rule will be  
 61  #    translated into: 281/5384/1863 
 62  #     
 63  #    The program will concatenate base with rule: 
 64  #  
 65  #      http://www.sciencemag.org/cgi/content/full/281/5384/1863 
 66  #  
 67  #    The following keywords are supported for any database: 
 68  #  
 69  #      lo.id      - Unique identifier (PMID, GI, TaxID, etc.) 
 70  #  
 71  #   For PubMed only:  
 72  #  
 73  #      lo.pii     - Publisher Item Identification. Must be submitted  
 74  #      by the publisher. For example, 6847, in the PubMed DTD this  
 75  #      ID is an attribute of the ArticleId element.  
 76  #  
 77  #      lo.doi     - Article DOI  
 78  #  
 79  #      lo.issn    - Journal ISSN code  
 80  #  
 81  #      lo.issnl   - Journal ISSN code without the dash  
 82  #  
 83  #      lo.jtit    - Journal title (MEDLINE abbreviation)  
 84  #  
 85  #      lo.muid    - MEDLINE Unique Identifier  
 86  #  
 87  #      lo.msrc    - MEDLINE source. For example, Exp Brain Res 1998  
 88  #      Oct; 122(3):339-350  
 89  #  
 90  #      lo.vol     - Volume  
 91  #  
 92  #      lo.iss     - Issue  
 93  #  
 94  #      lo.page    - First page  
 95  #  
 96  #      lo.inum    - Item number for online journals. May be a  
 97  #      single letter.  
 98  #  
 99  #      lo.year    - Four digit year.  For example, 1998  
100  #  
101  #      lo.yr      - Last two digit of year.  For example, 98; 00  
102  #  
103  #      lo.yl      - Last digit of year.  For example, for 1999 use 9;   
104  #      for 1990 use 0  
105  #  
106  #      lo.month  -  The month. For example, September 
107  #  
108  #      lo.mon     - The 3 letter month abbreviation. For example, Sep  
109  #  
110  #      lo.mo      - Two digit month.  For example, 01; 12  
111  #  
112  #      lo.day     - Two digit day. For example, 01; 31  
113  #  
114  #      lo.otit    - Article title  
115  #  
116  #      lo.auth    - First author  
117  #  
118  #      lo.authln  - Last name of the first author 
119  #  
120  #  
121  #   For Sequence databases (Nucleotide, Protein, Structure, Genome): 
122  #  
123  #      lo.pacc    - Primary accession for sequences 
124  #       
125  #   For Taxonomy only: 
126  #    
127  #      lo.name    - Full scientific name.  For example: "Homo sapiens neanderthalensis" 
128  #       
129  #      lo.genus   - Genius name.  For example: "Homo" 
130  #       
131  #      lo.species - Species epithet.  For example: "sapiens" 
132  #       
133  #      lo.subsp   - Sub-species epithet.  For example: "neanderthalensis" 
134  #  
135  #  
136  #  
137  #  internal DTD entities  
138 -class SubjectType(Bio.EUtils.POM.ElementNode):
139 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
140 141 142 # can be one of the following; see LinkOut SubjectTypes and Attributes 143 # at http://www.ncbi.nlm.nih.gov/entrez/linkout/doc/subjecttypes.html for a description 144 # of these elements: 145 # 146 # //EDUCATION 147 # conferences/meetings/workshops 148 # glossaries/dictionaries 149 # online tutorials/courses 150 # 151 # //FUNDING SOURCES 152 # funding sources 153 # 154 # //LITERATURE 155 # abstracts/indexes/summaries 156 # aggregators 157 # books 158 # individual online article 159 # images 160 # libraries 161 # patent databases 162 # publishers/providers 163 # 164 # //MEDICAL 165 # clinical trials 166 # consumer health 167 # diagnostics 168 # disease organizations 169 # medical equipment and devices 170 # pharmacology 171 # treatment guidelines 172 # 173 # //MOLECULAR BIOLOGY DATABASES 174 # DNA/protein sequence 175 # gene/protein/disease-specific 176 # gene expression 177 # mapping 178 # organism-specific 179 # population/variation 180 # structure 181 # taxonomy/phylogenetic 182 # 183 # //RESEARCH MATERIALS 184 # clones/clone libraries 185 # culture/stock collections 186 # laboratory equipment 187 # oligonucleotides 188 # other reagents 189 # 190 # //RESEARCHERS 191 # colleges/universities 192 # companies/research institutes 193 # directories 194 # individuals 195 # societies/associations 196 # 197 # //TOOLS 198 # 3D structure prediction/functional modeling 199 # primer design 200 # protein identification/characterization 201 # restriction mapping 202 # sequence screening/similarity/alignment 203 # sequence viewer 204 # translation 205 # 206 #
207 -class Attribute(Bio.EUtils.POM.ElementNode):
208 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
209 210 211 # can be one of the following; see LinkOut SubjectTypes and Attributes 212 # at http://www.ncbi.nlm.nih.gov/entrez/linkout/doc/subjecttypes.html for a description 213 # of these elements: 214 # //BARRIERS 215 # registration required 216 # subscription/membership/fee required 217 # 218 # //OWNERSHIP 219 # author of URL 220 # publisher of information in URL 221 # 222 # //PUBLICATIONS 223 # document delivery 224 # full-text first published 225 # full-text online 226 # full-text PDF 227 # full-text PostScript 228 # library-local 229 # summary 230 # 231 # 232 # This is the top level element for Provider
233 -class Provider(Bio.EUtils.POM.ElementNode):
234 CONTENTMODEL = Bio.EUtils.POM.ContentModel((u',', [(u'ProviderId', ''), (u'Name', ''), (u'NameAbbr', ''), (u'SubjectType', u'*'), (u'Attribute', u'*'), (u'Url', u'*'), (u'IconUrl', u'*'), (u'Brief', u'?')], ''))
235 236
237 -class ProviderId(Bio.EUtils.POM.ElementNode):
238 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
239 240
241 -class Name(Bio.EUtils.POM.ElementNode):
242 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
243 244
245 -class NameAbbr(Bio.EUtils.POM.ElementNode):
246 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
247 248
249 -class Url(Bio.EUtils.POM.ElementNode):
250 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], '')) 251 ATTLIST = Bio.EUtils.POM.AttributeList([Bio.EUtils.POM.XMLAttribute('LNG', ['DA', 'DE', 'EN', 'EL', 'ES', 'FR', 'IT', 'IW', 'JA', 'NL', 'NO', 'RU', 'SV', 'ZH'], 13, u'EN')])
252 253
254 -class IconUrl(Bio.EUtils.POM.ElementNode):
255 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], '')) 256 ATTLIST = Bio.EUtils.POM.AttributeList([Bio.EUtils.POM.XMLAttribute('LNG', ['DA', 'DE', 'EN', 'EL', 'ES', 'FR', 'IT', 'IW', 'JA', 'NL', 'NO', 'RU', 'SV', 'ZH'], 13, u'EN')])
257 258
259 -class Brief(Bio.EUtils.POM.ElementNode):
260 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
261 262 263 # End of Privider group
264 -class LinkSet(Bio.EUtils.POM.ElementNode):
265 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [(u'Link', u'+')], ''))
266 267 270 271
272 -class LinkId(Bio.EUtils.POM.ElementNode):
273 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
274 275
276 -class ObjectSelector(Bio.EUtils.POM.ElementNode):
277 CONTENTMODEL = Bio.EUtils.POM.ContentModel((u',', [(u'Database', ''), (u'ObjectList', '')], ''))
278 279
280 -class Database(Bio.EUtils.POM.ElementNode):
281 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
282 283 284 # The databases available in LinkOut include the following: 285 # PubMed, Nucleotide, Protein, Genome, Structure, PopSet, Taxonomy and OMIM
286 -class ObjectList(Bio.EUtils.POM.ElementNode):
287 CONTENTMODEL = Bio.EUtils.POM.ContentModel((u'|', [(u'Query', ''), (u'ObjId', '')], u'+'))
288 289
290 -class Query(Bio.EUtils.POM.ElementNode):
291 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
292 293
294 -class ObjId(Bio.EUtils.POM.ElementNode):
295 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
296 297 298 # End of ObjectList group 299 # End of ObjectSelector group 300 # Libraries must use SubObjectSelector to refer to the sub providers
301 -class SubObjectSelector(Bio.EUtils.POM.ElementNode):
302 CONTENTMODEL = Bio.EUtils.POM.ContentModel((u',', [(u'Database', ''), (u'SubProvider', '')], ''))
303 304
305 -class SubProvider(Bio.EUtils.POM.ElementNode):
306 CONTENTMODEL = Bio.EUtils.POM.ContentModel((u',', [(u'NameAbbr', ''), (u'|', [(u'InclQuery', ''), (u'ExclQuery', '')], u'*')], ''))
307 308
309 -class InclQuery(Bio.EUtils.POM.ElementNode):
310 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
311 312
313 -class ExclQuery(Bio.EUtils.POM.ElementNode):
314 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
315 316 317 # End of SubObjectSelector group
318 -class ObjectUrl(Bio.EUtils.POM.ElementNode):
319 CONTENTMODEL = Bio.EUtils.POM.ContentModel((u',', [(u'|', [(u',', [(u'Base', ''), (u'|', [(u'Rule', ''), (u'RuleToMany', '')], u'?')], ''), (u'|', [(u'Rule', ''), (u'RuleToMany', '')], '')], ''), (u'UrlName', u'?'), (u'SubjectType', u'*'), (u'Attribute', u'*')], '')) 320 ATTLIST = Bio.EUtils.POM.AttributeList([Bio.EUtils.POM.XMLAttribute('LNG', ['DA', 'DE', 'EN', 'EL', 'ES', 'FR', 'IT', 'IW', 'JA', 'NL', 'NO', 'RU', 'SV', 'ZH'], 13, u'EN')])
321 322
323 -class Base(Bio.EUtils.POM.ElementNode):
324 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
325 326
327 -class pad(Bio.EUtils.POM.ElementNode):
328 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('|', [('#PCDATA', ''), (u'pad', ''), (u'apad', ''), (u'subs', ''), (u'toupper', ''), (u'tolower', ''), (u'strip', ''), (u'normalize', '')], '*')) 329 ATTLIST = Bio.EUtils.POM.AttributeList([Bio.EUtils.POM.XMLAttribute('with', 1, 11, None), Bio.EUtils.POM.XMLAttribute('width', 1, 11, None), Bio.EUtils.POM.XMLAttribute('align', ['left', 'right'], 13, u'right')])
330 331 332 # used to mark up strings that require padding to create fixed-length string 333 # attributes. 334 # with a character to pad with (required) 335 # width result string size (required) (integer) 336 # align the text should align to (left|right) (default:right) 337 #
338 -class apad(Bio.EUtils.POM.ElementNode):
339 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('|', [('#PCDATA', ''), (u'pad', ''), (u'apad', ''), (u'subs', ''), (u'toupper', ''), (u'tolower', ''), (u'strip', ''), (u'normalize', '')], '*')) 340 ATTLIST = Bio.EUtils.POM.AttributeList([Bio.EUtils.POM.XMLAttribute('with', 1, 11, None), Bio.EUtils.POM.XMLAttribute('width', 1, 11, None), Bio.EUtils.POM.XMLAttribute('align', ['left', 'right'], 13, u'right')])
341 342 343 # used to mark up strings that require padding to create fixed-length string 344 # attributes. It skips all preceding alpha characters before padding 345 # with a character to pad with (required) 346 # width result string size (required) (integer) 347 # align the text should align to (left|right) (default:right) 348 # Examples: 349 # <apad with = "0" width = "6">E32</apad> => "E00032" 350 # <apad with = "0" width = "6">640</apad> => "000640" 351 #
352 -class subs(Bio.EUtils.POM.ElementNode):
353 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('|', [('#PCDATA', ''), (u'pad', ''), (u'apad', ''), (u'subs', ''), (u'toupper', ''), (u'tolower', ''), (u'strip', ''), (u'normalize', '')], '*')) 354 ATTLIST = Bio.EUtils.POM.AttributeList([Bio.EUtils.POM.XMLAttribute('for', 1, 11, None), Bio.EUtils.POM.XMLAttribute('with', 1, 11, None)])
355 356 357 # substitute one string for another in the element's content 358 # 359 # for the string to replace 360 # with the string to substitute 361 #
362 -class toupper(Bio.EUtils.POM.ElementNode):
363 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('|', [('#PCDATA', ''), (u'pad', ''), (u'apad', ''), (u'subs', ''), (u'toupper', ''), (u'tolower', ''), (u'strip', ''), (u'normalize', '')], '*'))
364 365 366 # convert element content into upper case
367 -class tolower(Bio.EUtils.POM.ElementNode):
368 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('|', [('#PCDATA', ''), (u'pad', ''), (u'apad', ''), (u'subs', ''), (u'toupper', ''), (u'tolower', ''), (u'strip', ''), (u'normalize', '')], '*'))
369 370 371 # convert element content into lower case
372 -class strip(Bio.EUtils.POM.ElementNode):
373 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('|', [('#PCDATA', ''), (u'pad', ''), (u'apad', ''), (u'subs', ''), (u'toupper', ''), (u'tolower', ''), (u'strip', ''), (u'normalize', '')], '*')) 374 ATTLIST = Bio.EUtils.POM.AttributeList([Bio.EUtils.POM.XMLAttribute('what', ['spaces', 'letters', 'nondigits', 'digits'], 11, None)])
375 376 377 # strip off spaces/letters/digits in the element's content 378 #
379 -class normalize(Bio.EUtils.POM.ElementNode):
380 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('|', [('#PCDATA', ''), (u'pad', ''), (u'apad', ''), (u'subs', ''), (u'toupper', ''), (u'tolower', ''), (u'strip', ''), (u'normalize', '')], '*'))
381 382 383 # are used for normalization of &lo.voll , &lo.iss; elements. 384 # Examples: 385 # "Pt 5" ==> "5" 386 # "3 Suppl" ==> "3" 387 # "2A Pt 3" ==> "2A" 388 # "10 Suppl 2 Pt 1" ==> "10" 389 # "2/3" ==> "2/3" 390 #
391 -class Rule(Bio.EUtils.POM.ElementNode):
392 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('|', [('#PCDATA', ''), (u'pad', ''), (u'apad', ''), (u'subs', ''), (u'toupper', ''), (u'tolower', ''), (u'strip', ''), (u'normalize', '')], '*'))
393 394
395 -class UrlName(Bio.EUtils.POM.ElementNode):
396 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
397 398
399 -class RuleToMany(Bio.EUtils.POM.ElementNode):
400 CONTENTMODEL = Bio.EUtils.POM.ContentModel((u',', [(u'Rule', ''), (u'Separator', '')], ''))
401 402
403 -class Separator(Bio.EUtils.POM.ElementNode):
404 CONTENTMODEL = Bio.EUtils.POM.ContentModel(('', [('#PCDATA', '')], ''))
405 406 407 # End of ObjectUrl group 408 # End of Link group 409 # End of LinkSet group 410