Changeset 1732 for TI02-CSML/branches


Ignore:
Timestamp:
21/11/06 16:23:14 (13 years ago)
Author:
domlowe
Message:

basic attribute support

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/branches/CSML2/csParser.py

    r1723 r1732  
    2323     
    2424    def __init__(self, **kwargs): 
    25         pass 
    26         #self.kws=kwargs 
     25        if not hasattr(self, 'ATTRIBUTES'): 
     26            self.ATTRIBUTES=[] 
     27             
    2728         
    2829    def __myQName(self,uri,tag): 
    2930        return "{"+uri+"}"+tag 
     31     
     32    def __removeURI(self, qname): 
     33        try: 
     34            attname = qname.split('}')[1] 
     35        except IndexError: 
     36            attname = qname 
     37        return attname 
    3038 
    3139    def toXML(self, csmlfrag): 
    3240    #process self... and convert  to XML  
    3341    # self.ATTRIBUTES 
     42        for item in self.__dict__: 
     43            print item 
     44            if self.__removeURI(item) in self.ATTRIBUTES: 
     45                print 'yes' 
     46                csmlfrag.set(item, self.__dict__[item]) 
    3447    # self.CHILDREN (recursive - calls the toXML method of children) 
    3548        for att in self.__dict__: 
     
    5669         
    5770    def fromXML(self,csmlfrag): 
    58         # self.CHILDREN (recursive - calls the fromXML method of children) 
     71        # deal with attributes, e.g. gml id's 
     72        for item in csmlfrag.items(): 
     73            if self.__removeURI(item[0]) in self.ATTRIBUTES: 
     74                setattr(self, item[0], item[1]) 
     75                print "DONE" 
     76        # self.CHILDREN (recursive - calls the fromXML method of children 
    5977        for frag in csmlfrag[:]:  
    6078            if frag.text is not None: 
     
    99117 
    100118 
    101 class Dataset(csElement):     
     119class Dataset(AbstractGML, csElement):     
    102120    ''' Dataset class, needed as root of tree''' 
    103121    def __init__(self, **kwargs): 
     122        AbstractGML.__init__(self,**kwargs) 
    104123        self.NAMESPACE=nsCSML 
    105124        self.CHILDREN = {'ncExtract':['NetCDFExtract', 'NetCDFExtract']} 
Note: See TracChangeset for help on using the changeset viewer.