Changeset 780


Ignore:
Timestamp:
12/04/06 09:14:21 (14 years ago)
Author:
domlowe
Message:

Now have uniform .domain attribute instead of .profileDomain .pointDomain etc.. the .domain attribute will be object of type PointDomain?(), ProfileDomain?() etc

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

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/newparser/Parser.py

    r758 r780  
    279279        if not hasattr(self,'id'): 
    280280            print 'gml:id mandatory value missing in ' + csmlFrag.tag 
     281            print csmlFrag.text 
     282            print csmlFrag.attrib 
    281283            #sys.exit() 
    282284    def toXML(self,csmlFrag): 
     
    20532055        SRSReferenceGroup.fromXML(self,csmlFrag) 
    20542056        for frag in csmlFrag.getchildren(): 
    2055             print frag.tag 
    20562057            if frag.tag==CSML('locations'): 
    20572058                self.locations=DirectPositionList() 
     
    26632664    #       PointFeature(AbstractStaticCoverageFeatureType): 
    26642665    #      +PointDomain 
    2665     def __init__(self, pointDomain=None,*args,**kwargs): 
     2666    def __init__(self, domain=None,*args,**kwargs): 
    26662667        AbstractStaticCoverageFeature.__init__(self,*args,**kwargs) 
    2667         if pointDomain: 
    2668             self.pointDomain=pointDomain 
     2668        if domain: 
     2669            self.domain=domain 
    26692670    def fromXML(self,csmlFrag): 
    26702671        AbstractStaticCoverageFeature.fromXML(self,csmlFrag) 
    26712672        for frag in csmlFrag.getchildren(): 
    26722673            if frag.tag == CSML('PointDomain'): 
    2673                 self.pointDomain = PointDomain() 
    2674                 self.pointDomain.fromXML(frag) 
     2674                self.domain = PointDomain() 
     2675                self.domain.fromXML(frag) 
    26752676    def toXML(self,csmlFrag): 
    26762677        AbstractStaticCoverageFeature.toXML(self,csmlFrag) 
    2677         if hasattr(self,'pointDomain'): 
     2678        if hasattr(self,'domain'): 
    26782679            frag = Element(CSML('PointDomain')) 
    2679             PointDomain.toXML(self.pointDomain,frag) 
     2680            PointDomain.toXML(self.domain,frag) 
    26802681#             if hasattr(self,'href'): 
    26812682#                 frag.attrib[XLINK('href')] = self.href 
     
    26892690    #      +pointSeriesDomain[1]:PointSeriesDomain 
    26902691 
    2691     def __init__(self,pointSeriesDomain=None,*args,**kwargs): 
     2692    def __init__(self,domain=None,*args,**kwargs): 
    26922693        AbstractSeriesCoverageFeature.__init__(self,*args,**kwargs) 
    2693         if pointSeriesDomain: 
    2694             self.pointSeriesDomain=pointSeriesDomain 
     2694        if domain: 
     2695            self.domain=domain 
    26952696    def fromXML(self,csmlFrag): 
    26962697        AbstractSeriesCoverageFeature.fromXML(self,csmlFrag) 
    26972698        for frag in csmlFrag.getchildren(): 
    26982699            if frag.tag == CSML('PointSeriesDomain'): 
    2699                 self.pointSeriesDomain = PointSeriesDomain() 
    2700                 self.pointSeriesDomain.fromXML(frag) 
     2700                self.domain = PointSeriesDomain() 
     2701                self.domain.fromXML(frag) 
    27012702    def toXML(self,csmlFrag): 
    27022703        AbstractSeriesCoverageFeature.toXML(self,csmlFrag) 
    2703         if hasattr(self,'pointSeriesDomain'): 
     2704        if hasattr(self,'domain'): 
    27042705             frag = Element(CSML('PointSeriesDomain')) 
    2705              PointSeriesDomain.toXML(self.pointSeriesDomain,frag) 
     2706             PointSeriesDomain.toXML(self.domain,frag) 
    27062707             csmlFrag.append(frag) 
    27072708        return csmlFrag 
     
    27122713    #      +profileDomain[1]:ProfileDomain 
    27132714 
    2714     def __init__(self,profileDomain=None,*args,**kwargs): 
     2715    def __init__(self,domain=None,*args,**kwargs): 
    27152716        AbstractStaticCoverageFeature.__init__(self,*args,**kwargs) 
    2716         if profileDomain: 
    2717             self.profileDomain=profileDomain 
     2717        if domain: 
     2718            self.domain=domain 
    27182719    def fromXML(self,csmlFrag): 
    27192720        AbstractStaticCoverageFeature.fromXML(self,csmlFrag) 
    27202721        for frag in csmlFrag.getchildren(): 
    27212722            if frag.tag == CSML('ProfileDomain'): 
    2722                 self.profileDomain = ProfileDomain() 
    2723                 ProfileDomain.fromXML(self.profileDomain,frag) 
     2723                self.domain = ProfileDomain() 
     2724                ProfileDomain.fromXML(self.domain,frag) 
    27242725    def toXML(self,csmlFrag): 
    27252726        AbstractStaticCoverageFeature.toXML(self,csmlFrag) 
    2726         if hasattr(self,'profileDomain'): 
     2727        if hasattr(self,'domain'): 
    27272728             frag = Element(CSML('ProfileDomain')) 
    2728              ProfileDomain.toXML(self.profileDomain,frag) 
     2729             ProfileDomain.toXML(self.domain,frag) 
    27292730             csmlFrag.append(frag) 
    27302731        return csmlFrag 
     
    27362737    #      +ProfileSeriesDomain 
    27372738 
    2738     def __init__(self,profileSeriesDomain=None,*args,**kwargs): 
     2739    def __init__(self,domain=None,*args,**kwargs): 
    27392740        AbstractStaticCoverageFeature.__init__(self,*args,**kwargs) 
    2740         if profileSeriesDomain: 
    2741             self.profileSeriesDomain=profileSeriesDomain 
     2741        if domain: 
     2742            self.domain=domain 
    27422743    def fromXML(self,csmlFrag): 
    27432744        AbstractStaticCoverageFeature.fromXML(self,csmlFrag) 
    27442745        for frag in csmlFrag.getchildren(): 
    27452746            if frag.tag == CSML('ProfileSeriesDomain'): 
    2746                 self.profileSeriesDomain = ProfileSeriesDomain() 
    2747                 ProfileSeriesDomain.fromXML(self.profileSeriesDomain,frag) 
     2747                self.domain = ProfileSeriesDomain() 
     2748                ProfileSeriesDomain.fromXML(self.domain,frag) 
    27482749    def toXML(self,csmlFrag): 
    27492750        AbstractStaticCoverageFeature.toXML(self,csmlFrag) 
    2750         if hasattr(self,'profileSeriesDomain'): 
     2751        if hasattr(self,'domain'): 
    27512752             frag = Element(CSML('ProfileSeriesDomain')) 
    2752              ProfileSeriesDomain.toXML(self.profileSeriesDomain,frag) 
     2753             ProfileSeriesDomain.toXML(self.domain,frag) 
    27532754             csmlFrag.append(frag) 
    27542755        return csmlFrag 
     
    27602761    #      +gridDomain[1]:gridDomain 
    27612762 
    2762     def __init__(self,gridDomain=None,*args,**kwargs): 
     2763    def __init__(self,domain=None,*args,**kwargs): 
    27632764        AbstractStaticCoverageFeature.__init__(self,*args,**kwargs) 
    2764         if gridDomain: 
    2765             self.gridDomain=gridDomain 
     2765        if domain: 
     2766            self.domain=domain 
    27662767    def fromXML(self,csmlFrag): 
    27672768        AbstractStaticCoverageFeature.fromXML(self,csmlFrag) 
    27682769        for frag in csmlFrag.getchildren(): 
    27692770            if frag.tag == CSML('GridDomain'): 
    2770                 self.gridDomain = GridDomain() 
    2771                 self.gridDomain.fromXML(frag) 
     2771                self.domain = GridDomain() 
     2772                self.domain.fromXML(frag) 
    27722773    def toXML(self,csmlFrag): 
    27732774        AbstractStaticCoverageFeature.toXML(self,csmlFrag) 
    2774         if hasattr(self,'gridDomain'): 
     2775        if hasattr(self,'domain'): 
    27752776             frag = Element(CSML('GridDomain')) 
    2776              GridDomain.toXML(self.gridDomain,frag) 
     2777             GridDomain.toXML(self.domain,frag) 
    27772778             csmlFrag.append(frag) 
    27782779        return csmlFrag 
     
    27802781 
    27812782class GridSeriesFeature(AbstractStaticCoverageFeature): 
    2782     def __init__(self,gridSeriesDomain=None,*args,**kwargs): 
     2783    def __init__(self,domain=None,*args,**kwargs): 
    27832784        AbstractStaticCoverageFeature.__init__(self,*args,**kwargs) 
    2784         if gridSeriesDomain: 
    2785             self.gridSeriesDomain=gridSeriesDomain 
     2785        if domain: 
     2786            self.domain=domain 
    27862787    def fromXML(self,csmlFrag): 
    27872788        AbstractStaticCoverageFeature.fromXML(self,csmlFrag) 
    27882789        for frag in csmlFrag.getchildren(): 
    27892790            if frag.tag == CSML('GridSeriesDomain'): 
    2790                 self.gridSeriesDomain = GridSeriesDomain() 
    2791                 self.gridSeriesDomain.fromXML(frag) 
     2791                self.domain = GridSeriesDomain() 
     2792                self.domain.fromXML(frag) 
    27922793    def toXML(self,csmlFrag): 
    27932794        AbstractStaticCoverageFeature.toXML(self,csmlFrag) 
    2794         if hasattr(self,'gridSeriesDomain'): 
     2795        if hasattr(self,'domain'): 
    27952796             frag = Element(CSML('GridSeriesDomain')) 
    2796              GridSeriesDomain.toXML(self.gridSeriesDomain,frag) 
     2797             GridSeriesDomain.toXML(self.domain,frag) 
    27972798             csmlFrag.append(frag) 
    27982799        return csmlFrag 
  • TI02-CSML/trunk/newparser/demoCreateCSML.py

    r742 r780  
    208208p.time='2000-08-13T13:51:10' 
    209209ptd.domainReference=p 
    210 ptf.pointDomain=ptd 
     210ptf.domain=ptd 
    211211rs=RangeSet() 
    212212rs.quantityList=MeasureOrNullList(uom='udunits.xml#degreesC',val = '10') 
     
    225225t.times=TimePositionList('#RefSys01','0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 26 27 28 29 30 31') 
    226226ptsd.domainReference=t 
    227 ptsf.pointSeriesDomain=ptsd 
     227ptsf.domain=ptsd 
    228228rs=RangeSet() 
    229229rs.quantityList=MeasureOrNullList('udunits.xml#mm', '5 3 10 1 2 8 10 2 5 10 20 21 12 3 5 19 12 23 32 10 8 8 2 0 0 1 5 6 10 17 20') 
     
    246246dpl =DirectPositionList('#RefSys02','10 20 30 40 50 60 70 80 90 100') 
    247247prd.domainComplement=dpl 
    248 prf.profileDomain=prd 
     248prf.domain=prd 
    249249rs=RangeSet() 
    250250valueComps=[] 
     
    277277ot.srsName='urn:EPSG:geographicCRS:4326' 
    278278psd.domainReference=ot 
    279 psf.profileSeriesDomain=psd 
     279psf.domain=psd 
    280280fms.append(psf) 
    281281#### GridFeature: ##### 
  • TI02-CSML/trunk/newparser/test.py

    r775 r780  
    11"""Test for GML/CSML parsing code 
    22""" 
    3  
    43from cElementTree import * 
    54from Parser import * 
    65from xml.dom.minidom import parseString 
     6import sys 
     7import parser_extra 
    78import elementtree.ElementTree as etree 
    8 import sys 
    9  
    10  
    119#this is a fix to the  ElementTree namespace problem that namespaces are usually represented as ns0, ns1, ns2 etc. 
    1210etree._namespace_map.update({ 
    13     'http://www.opengis.net/om': 'om',  'http://www.opengis.net/gml': 'gml','http://ndg.nerc.ac.uk/csml' : 'csml', 'http://www.w3.org/1999/xlink':'xlink'}) 
     11        'http://www.opengis.net/om': 'om',  'http://www.opengis.net/gml': 'gml','http://ndg.nerc.ac.uk/csml' : 'csml', 'http://www.w3.org/1999/xlink':'xlink'}) 
    1412 
    15  
    16 def removeInlineNS(csmlstring): 
    17     #  removeInlineNS: function removes "inline" namespaces and declares them as part of the Dataset element. 
    18      
    19     #remove all 
    20     csmlstring=csmlstring.replace(' xmlns:csml="http://ndg.nerc.ac.uk/csml"','') 
    21     csmlstring=csmlstring.replace(' xmlns:xlink="http://www.w3.org/1999/xlink"','') 
    22     csmlstring=csmlstring.replace('xmlns:om="http://www.opengis.net/om"','') 
    23     csmlstring=csmlstring.replace('xsi:schemaLocation="http://ndg.nerc.ac.uk/csml/XMLSchemas/CSMLAppSchema.xsd"','') 
    24     csmlstring=csmlstring.replace('xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"','') 
    25      
    26     #remove cmsl: prefixes 
    27     csmlstring=csmlstring.replace('<csml:','<') 
    28     csmlstring=csmlstring.replace('</csml:','</') 
    29     #add namespace declarations at top of document, after gml namespace declaration 
    30     csmlstring=csmlstring.replace('xmlns:gml="http://www.opengis.net/gml">', 'xmlns:gml="http://www.opengis.net/gml" xmlns:om="http://www.opengis.net/om" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://ndg.nerc.ac.uk/csml/XMLSchemas/CSMLAppSchema.xsd">') 
    31      
    32     return csmlstring 
    33  
    34  
    35  
    36 #Parsing starts here: 
    3713 
    3814####################################################### 
     
    4925#print dataset.featureCollection.members[3].profileSeriesDomain.domainReference.times.href 
    5026 
     27#resolve references: (not implemented yet) 
     28#dataset=parser_extra.ParserPostProcessor(dataset).resolveReferences() 
    5129 
    5230#This creates a new CSML document string from the CSML objects in memory. 
     
    5634#Tidy up and print the CSML document: 
    5735strCSML= parseString(tostring(csml)).toprettyxml() 
    58 strCSML=removeInlineNS(strCSML) 
     36strCSML=parser_extra.removeInlineNS(strCSML) 
    5937print strCSML 
    6038 
Note: See TracChangeset for help on using the changeset viewer.