- Timestamp:
- 09/05/06 12:11:01 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TI02-CSML/trunk/newparser/Parser.py
r900 r903 101 101 MetaDataProperty: 102 102 +href: URI 103 +text: str 103 104 """ 104 def __init__(self,href=None ):105 def __init__(self,href=None, texts=None): 105 106 if href: 106 107 self.href = href 108 if texts: 109 self.texts=texts 107 110 def fromXML(self,csmlFrag): 108 111 if csmlFrag.attrib.has_key(XLINK('href')): 109 112 self.href = csmlFrag.attrib[XLINK('href')] 113 for frag in csmlFrag.getchildren(): 114 if frag.tag == CSML('text'): 115 checkArrayAttrib(self,'texts') 116 self.texts.append(frag.text) 110 117 def toXML(self,csmlFrag): 111 118 if hasattr(self,'href'): 112 119 csmlFrag.attrib[XLINK('href')] = self.href 120 if hasattr(self,'texts'): 121 for txt in self.texts: 122 frag = Element(CSML('text')) 123 frag.text=txt 124 csmlFrag.append(frag) 113 125 return csmlFrag 114 126 … … 222 234 csmlFrag.attrib['srsDimension']= self.srsDimension 223 235 return csmlFrag 236 237 class SRSInformationGroup: 238 # class to represeent gml:SRSInformationGroup 239 # class SRSReferenceGroup: 240 # +uomLabels[0...]:NCNameList 241 # +axisLabels[0...]:NCNameList 242 def __init__(self,uomLabels=None,axisLabels=None): 243 if uomLabels: 244 self.uomLabels=uomLabels 245 if axisLabels: 246 self.axisLabels=axisLabels 247 def fromXML(self,csmlFrag): 248 if csmlFrag.attrib.has_key('uomLabels'): 249 self.uomLabels=csmlFrag.attrib['uomLabels'] 250 if csmlFrag.attrib.has_key('axisLabels'): 251 self.axisLabels=csmlFrag.attrib['axisLabels'] 252 def toXML(self,csmlFrag): 253 if hasattr(self,'axisLabels'): 254 csmlFrag.attrib['axisLabels']= self.axisLabels 255 if hasattr(self,'uomLabels'): 256 csmlFrag.attrib['uomLabels']= self.uomLabels 257 return csmlFrag 258 224 259 class AssociationAttributeGroup: 225 260 '''Class to represent gml:AssociationAttributeGroup which is based on the xlink 'simplelink' attribute group (not implemented) … … 274 309 return csmlFrag 275 310 276 311 class DirectPosition(SRSReferenceGroup,SRSInformationGroup): 312 def __init__(self,vals='',*args,**kwargs): 313 SRSReferenceGroup.__init__(self,*args,**kwargs) 314 SRSInformationGroup.__init__(self,*args,**kwargs) 315 if vals: 316 self.vals=vals 317 def fromXML(self,csmlFrag): 318 SRSReferenceGroup.fromXML(self,csmlFrag) 319 SRSInformationGroup.fromXML(self,csmlFrag) 320 self.vals=csmlFrag.text 321 def toXML(self,csmlFrag): 322 SRSReferenceGroup.toXML(self,csmlFrag) 323 SRSInformationGroup.toXML(self,csmlFrag) 324 if hasattr(self,'vals'): 325 csmlFrag.text=self.vals 326 return csmlFrag 327 277 328 class Definition(AbstractGML): 278 329 #Class Definition(AbstractGML), restricts AbstractGML … … 1666 1717 return csmlFrag 1667 1718 1668 class DirectPositionList(AssociationAttributeGroup, SRSReferenceGroup ):1719 class DirectPositionList(AssociationAttributeGroup, SRSReferenceGroup,SRSInformationGroup): 1669 1720 #class representing a DirectPositionList 1670 1721 def __init__(self, order=None, vals=None,*args,**kwargs): … … 1675 1726 AssociationAttributeGroup.__init__(self,*args,**kwargs) 1676 1727 SRSReferenceGroup.__init__(self,*args,**kwargs) 1728 SRSInformationGroup.__init__(self,*args,**kwargs) 1677 1729 def fromXML(self,csmlFrag): 1678 1730 AssociationAttributeGroup.fromXML(self,csmlFrag) 1679 1731 SRSReferenceGroup.fromXML(self,csmlFrag) 1732 SRSInformationGroup.fromXML(self,csmlFrag) 1680 1733 self.vals=csmlFrag.text 1681 1734 if csmlFrag.attrib.has_key('order'): … … 1684 1737 AssociationAttributeGroup.toXML(self,csmlFrag) 1685 1738 SRSReferenceGroup.toXML(self,csmlFrag) 1739 SRSInformationGroup.toXML(self,csmlFrag) 1686 1740 csmlFrag.text=self.vals 1687 1741 if hasattr(self,'order'): … … 1910 1964 # CSML EnvelopeWithTimePeriod class 1911 1965 # EnvelopeWithTimePeriod(): 1912 # +gml:lowerCorner 1913 # +gml:upperCorner 1966 # +gml:lowerCorner:DirectPosition 1967 # +gml:upperCorner:DirectPosition 1914 1968 # +gml:timePosition [2] ? 1915 1969 … … 1931 1985 self.srsName=frag.attrib['srsName'] 1932 1986 if frag.tag == GML('lowerCorner'): 1933 self.lowerCorner=frag.text 1987 #self.lowerCorner=frag.text 1988 self.lowerCorner=DirectPosition() 1989 DirectPosition.fromXML(self.lowerCorner, frag) 1934 1990 if frag.tag == GML('upperCorner'): 1935 self.upperCorner=frag.text 1991 #self.upperCorner=frag.text 1992 self.upperCorner=DirectPosition() 1993 DirectPosition.fromXML(self.upperCorner, frag) 1936 1994 if frag.tag == GML('timePosition'): 1937 1995 if hasattr(self, 'timePosition'): … … 1944 2002 if hasattr(self,'lowerCorner'): 1945 2003 frag=Element(GML('lowerCorner')) 1946 frag.text=self.lowerCorner 2004 # frag.text=self.lowerCorner 2005 DirectPosition.toXML(self.lowerCorner,frag) 1947 2006 csmlFrag.append(frag) 1948 2007 if hasattr(self,'upperCorner'): 1949 2008 frag=Element(GML('upperCorner')) 1950 frag.text=self.upperCorner 2009 #frag.text=self.upperCorner 2010 DirectPosition.toXML(self.upperCorner,frag) 1951 2011 csmlFrag.append(frag) 1952 2012 if hasattr(self,'timePosition'):
Note: See TracChangeset
for help on using the changeset viewer.