Changeset 2057


Ignore:
Timestamp:
26/01/07 10:13:07 (13 years ago)
Author:
domlowe
Message:

xlinks in domain resolve to insertedElement.

Location:
TI02-CSML/trunk/csml
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/csml/parser.py

    r2052 r2057  
    5656 
    5757#Some variable definitions: these things are often repeated so store in variables. 
    58 FILEFORMATS=[CSML('NetCDFExtract'),CSML('NASAAmesExtract'), CSML('GRIBExtract'),CSML('CDMLExtract'), CSML('RawFileExtract')] 
     58FILEFORMATS=[CSML('NetCDFExtract'),CSML('NASAAmesExtract'), CSML('GRIBExtract'),CSML('CDMLExtract'), CSML('RawFileExtract'), CSML('AggregatedArray')] 
    5959 
    6060 
     
    6868        if not hasattr(self, 'ATTRIBUTES'): 
    6969            self.__dict__['ATTRIBUTES']=[] 
     70                
    7071     
    7172    #The __setattr__ and __getattribute__ special methods have been overridden. 
     
    369370    def __init__(self, **kwargs): 
    370371        AbstractGML.__init__(self,**kwargs) 
    371         children={} 
     372        #note __insertedExtract is used in resolving xlinks and shouldn't be written to directly (except by the code which handles the xlink resolutions) 
     373        children={'__insertedExtract':[FILEFORMATS,'FileExtract']} 
    372374        addchildren(self,children) 
    373375        a =['uom']  
    374376        addatts(self,a) 
    375377        csElement.__init__(self,**kwargs) 
     378         
    376379         
    377380class CompositeValue(AbstractGML,csElement): 
     
    478481    def __init__(self, **kwargs): 
    479482        AbstractGML.__init__(self,**kwargs) 
    480         children={'coordinateList':[CSML('coordinateList'),'csString'], 'timePositionList':[CSML('timePositionList'),'TimePositionList']} 
     483        children={'coordinateList':[CSML('coordinateList'),'csString'], 'timePositionList':[CSML('timePositionList'),'TimePositionList'],'__insertedExtract':[[CSML('NetCDFExtract'),CSML('NASAAmesExtract'),CSML('AggregatedArray')],'FileExtract',CSML('__insertedExtract')]} 
    481484        addchildren(self,children) 
    482485        a=['frame'] 
    483486        addatts(self,a) 
    484487        csElement.__init__(self,**kwargs) 
     488children={'descriptors':[[CSML('NetCDFExtract'),CSML('AggregatedArray')], 'FileExtract', CSML('descriptor'),1]} 
     489 
     490 
    485491 
    486492class GridOrdinateDescription(AbstractGML,csElement): 
     
    795801    def __init__(self,**kwargs): 
    796802        addatts(self,[]) 
    797         children={'descriptors':[[CSML('NetCDFExtract'),CSML('PointFeature'),CSML('AggregatedArray')], 'FileExtract', CSML('descriptor'),1]} 
     803        children={'descriptors':[[CSML('NetCDFExtract'),CSML('AggregatedArray')], 'FileExtract', CSML('descriptor'),1]} 
    798804        addchildren(self,children) 
    799805        csElement.__init__(self,**kwargs) 
  • TI02-CSML/trunk/csml/parser_extra.py

    r2040 r2057  
    111111        for sd in csml.csmllibs.csmlextra.listify(self.dataset.storageDescriptor.descriptors): 
    112112            if type(sd) in [csml.parser.NetCDFExtract]: 
    113                 print dir(sd) 
    114                 print sd 
     113                #print dir(sd) 
     114                #print sd 
    115115                if hasattr(sd, 'id'): 
    116                     print sd 
     116                    #print sd 
    117117                    if sd.id == href: 
    118                         print 'found match' 
     118                        return sd 
     119                        #print 'found match' 
     120                         
    119121                         
    120122                 
     
    145147                        if hasattr(ordinate.coordAxisValues,'coordinateList'): 
    146148                            if ordinate.coordAxisValues.coordinateList.CONTENT[:1] == '#': 
    147                                 cList = self.__findCLmatch(ordinate.coordAxisValues.coordinateList.CONTENT[1:]) 
    148                                 if cList is not None: 
    149                                     ordinate.coordAxisValues.coordinateList=cList                   
     149                                dataforClist= self.__findCLmatch(ordinate.coordAxisValues.coordinateList.CONTENT[1:]) 
     150                                if dataforClist is not None: 
     151                                    setattr(ordinate.coordAxisValues, '__insertedExtract', dataforClist) 
    150152                    break 
     153            #now the rangeSet: 
    151154             
    152          
    153         #for feature in self.dataset.featureCollection.featureMembers: 
     155            #for feature in self.dataset.featureCollection.featureMembers: 
    154156            #if hasattr(feature.value.rangeSet, 'valueArray'): 
    155157                ##could be an xlink here.. 
     
    157159                    #if hasattr(vc, 'href'): 
    158160                        #self.dataset=csml.csmllibs.csmlxlink.resolveXlink(vc, self.dataset) 
    159         sys.exit() 
     161#        sys.exit() 
    160162        return self.dataset 
  • TI02-CSML/trunk/csml/testfiles/basictest.py

    r2052 r2057  
    3434csmldoc = dataset.toXML() 
    3535   
     36     
     37#try another iteration: 
    3638#Tidy up and print the CSML document: 
    3739#strCSML= parseString(tostring(csml)).toprettyxml() 
Note: See TracChangeset for help on using the changeset viewer.