Changeset 1734 for TI02-CSML/branches


Ignore:
Timestamp:
22/11/06 09:57:41 (13 years ago)
Author:
domlowe
Message:

attributes handled better, without need to remove uri

File:
1 edited

Legend:

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

    r1732 r1734  
    44'''CSML v2 Parser '''  
    55 
     6 
    67nsCSML = 'http://ndg.nerc.ac.uk/csml' 
    78nsGML = 'http://www.opengis.net/gml' 
    8 #etc... add more 
     9nsOM = 'http://www.opengis.net/om' 
     10nsXLINK = 'http://www.w3.org/1999/xlink' 
     11nsXML = 'http://ndg.nerc.ac.uk/csml' 
     12nsMOLES='http://ndg.nerc.ac.uk/moles' 
    913 
     14def myQName(uri,tag): 
     15    return "{"+uri+"}"+tag 
     16 
     17def CSML(tag): 
     18    return myQName(nsCSML,tag) 
     19 
     20def GML(tag): 
     21    return myQName(nsGML,tag) 
    1022 
    1123def Merge(dict1, dict2): 
     
    1830    return dict3 
    1931 
     32 
    2033class csElement(object): 
    2134    ''' main csElement class - all other elements inherit from this baseclass   
     
    2639            self.ATTRIBUTES=[] 
    2740             
    28          
    29     def __myQName(self,uri,tag): 
    30         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 
    38  
    3941    def toXML(self, csmlfrag): 
    4042    #process self... and convert  to XML  
    41     # self.ATTRIBUTES 
    4243        for item in self.__dict__: 
    43             print item 
    44             if self.__removeURI(item) in self.ATTRIBUTES: 
    45                 print 'yes' 
     44            if item in self.ATTRIBUTES: 
    4645                csmlfrag.set(item, self.__dict__[item]) 
    4746    # self.CHILDREN (recursive - calls the toXML method of children) 
     
    7170        # deal with attributes, e.g. gml id's 
    7271        for item in csmlfrag.items(): 
    73             if self.__removeURI(item[0]) in self.ATTRIBUTES: 
     72            if item[0] in self.ATTRIBUTES: 
    7473                setattr(self, item[0], item[1]) 
    75                 print "DONE" 
    7674        # self.CHILDREN (recursive - calls the fromXML method of children 
    7775        for frag in csmlfrag[:]:  
     
    8078            for child in self.CHILDREN: 
    8179                ename = self.CHILDREN[child][0] #Element Name  
    82                 if frag.tag == self.__myQName(self.NAMESPACE, ename): 
     80                if frag.tag == myQName(self.NAMESPACE, ename): 
    8381                    etype = self.CHILDREN[child][1] 
    8482                    #Element Type                    #elem = ET.Element(ename) 
     
    9997    
    10098    def __init__(self, **kwargs): 
    101         self.ATTRIBUTES=['id', 'description'] # etc 
     99        self.ATTRIBUTES=[GML('id'), 'description'] # etc 
    102100    #ATTRIBUTES not implemented yet. 
    103101     
Note: See TracChangeset for help on using the changeset viewer.