.. _parametertable-py:
#################
parametertable.py
#################
::
>>> from simo.builder.modelbase.modelbase import ModelbaseDef
>>> tdf = open('../../simulator/xml/schemas/Typedefs_SIMO.xsd')
>>> typedef = tdf.read()
>>> tdf.close()
>>> sf = open('../../simulator/xml/schemas/parameter_table.xsd')
>>> schema = sf.read()
>>> sf.close()
>>> xml = u'''
...
...
...
... MAIN_SP
... comp_unit
...
...
...
...
...
... upper_dgm
... comp_unit
...
...
...
...
... upper_age
... comp_unit
...
...
...
...
... 1 32 70
... 9 21 50
...
...
... '''
>>> mb = ModelbaseDef(typedef)
>>> mb.schema = ('parameter_table', schema)
>>> try:
... mb.xml = ('testxml', xml, None, '', 'parameter_table')
... except ValueError, e:
... e.message
'errors in xml to object conversion'
>>> mb.errors # doctest: +NORMALIZE_WHITESPACE
set(["No lexicon set when adding model for parameter table
collection 'testxml'",
"No lexicon set when validating variable for parameter table
collection 'testxml'"])
>>> class Lexicon(object):
... def __init__(self):
... self.models = {}
... def get_variable_ind(self, level, var, active=False):
... return (1, 1)
... def get_level_ind(self, level):
... return 1
... def add_model(self, mtype, mname):
... if mtype not in self.models:
... self.models[mtype] = set()
... self.models[mtype].add(mname)
>>> mb.xml = ('testxml', xml, Lexicon(), '', 'parameter_table')
>>> mb.errors
set([])
>>> mb.ok
{'testxml': True}
>>> mb.xml['parameter_table']['testxml'][:17]
u'