modified schema location of base protogeni rspec version
[sfa.git] / sfa / rspecs / versions / pgv2.py
1 from sfa.rspecs.rspec_elements import RSpecElement, RSpecElements
2
3 class PGv2:
4     type = 'ProtoGENI'
5     content_type = '*'
6     version = '2'
7     schema = 'http://www.protogeni.net/resources/rspec/2/*.xsd' 
8     namespaces = { 
9         'default' : 'http://www.protogeni.net/resources/rspec/2',
10         'flack': "http://www.protogeni.net/resources/rspec/ext/flack/1",
11         'planetlab': "http://www.planet-lab.org/resources/sfa/ext/planetlab/1", 
12     }
13     elements = [
14         RSpecElement(RSpecElements.NETWORK, 'network', '//default:node[@component_manager_id][1]'),
15         RSpecElement(RSpecElements.NODE, 'node', '//default:node | //node'),
16         RSpecElement(RSpecElements.SLIVER, 'sliver', '//default:node/default:sliver_type | //node/sliver_type'),
17     ]
18
19
20 class PGv2Ad(PGv2):
21     schema = 'http://www.protogeni.net/resources/rspec/2/ad.xsd'
22     content_type = 'advertisement'
23
24 class PGv2Manifest(PGv2):
25     schema = 'http://www.protogeni.net/resources/rspec/2/manifest.xsd'
26     content_type = 'manifest'
27
28 if __name__ == '__main__':
29     from sfa.rspecs.rspec import RSpec
30     from sfa.rspecs.rspec_elements import *
31     r = RSpec('/tmp/pg.rspec')
32     r.load_rspec_elements(PGv2.elements)
33     r.namespaces = PGv2.namespaces
34     print r.get(RSpecElements.NODE)