Changeset 2341
- Timestamp:
- 28/03/07 13:15:45 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TI02-CSML/trunk/csml/parser.py
r2327 r2341 46 46 47 47 def addatts(obj, atts): 48 ''' merges self.ATTRIBUTES '''48 ''' merges self.ATTRIBUTES of inherited classes''' 49 49 if hasattr(obj, 'ATTRIBUTES'): 50 50 for att in atts: … … 52 52 else: 53 53 obj.ATTRIBUTES=atts 54 55 def addelems(obj, elems): 56 ''' merges self.elems of inherited classes''' 57 if hasattr(obj, 'ELEMORDER'): 58 for elem in elems: 59 obj.ELEMORDER.append(elems) 60 else: 61 obj.ELEMORDER=elems 54 62 55 63 … … 159 167 # self.CHILDREN (recursive - calls the toXML method of children 160 168 for att in self.__dict__: 161 if att not in ['ATTRIBUTES', 'CHILDREN', 'CONTENT' ]:162 for child in self. CHILDREN:169 if att not in ['ATTRIBUTES', 'CHILDREN', 'CONTENT','ELEMORDER']: 170 for child in self.ELEMORDER: 163 171 appendLater=False 164 172 if child == att: … … 215 223 for frag in csmlfrag[:]: 216 224 #for each child element 217 #iterate through expected CHILDREN 225 #iterate through expected CHILDREN to find match 218 226 for child in self.CHILDREN: 219 #get element name220 227 if len(self.CHILDREN[child])>=3: 221 228 ename = self.CHILDREN[child][2] 222 229 ename2 = self.CHILDREN[child][0] 223 224 230 else: 225 231 ename = self.CHILDREN[child][0] … … 280 286 a=[GML('id'), GML('name')] 281 287 addatts(self,a) 282 csElement.__init__(self,**kwargs) 283 children={'metaDataProperty':[GML('metaDataProperty'),'csString'],'description':[GML('description'),'csString']} 288 elems=['metaDataProperty', 'description'] 289 addelems(self,elems) 290 csElement.__init__(self,**kwargs) 291 children={elems[0]:[GML('metaDataProperty'),'csString'],elems[1]:[GML('description'),'csString']} 284 292 addchildren(self,children) 285 293 … … 316 324 class ArrayDescriptor(AbstractGML, csElement): 317 325 def __init__(self,**kwargs): 318 AbstractGML.__init__(self,**kwargs) 319 children={'arraySize':[CSML('arraySize'), 'csString'], 'uom':[CSML('uom'),'csString'], 'numericType':[CSML('numericType'),'csString'], 'regExpTransform':[CSML('regExpTransform'),'csString'], 'numericTransform':[CSML('numericTransform'),'csString']} 326 elems=['arraySize', 'uom', 'numericType','regExpTransform','numericTransform'] 327 addelems(self,elems) 328 AbstractGML.__init__(self,**kwargs) 329 children={elems[0]:[CSML('arraySize'), 'csString'], elems[1]:[CSML('uom'),'csString'], elems[2]:[CSML('numericType'),'csString'], elems[3]:[CSML('regExpTransform'),'csString'], elems[4]:[CSML('numericTransform'),'csString']} 320 330 addchildren(self,children) 321 331 csElement.__init__(self,**kwargs) … … 323 333 class GridEnvelope(AbstractGML,SRSReferenceGroup, csElement): 324 334 def __init__(self, **kwargs): 335 elems=['low', 'high'] 336 addelems(self,elems) 325 337 SRSReferenceGroup.__init__(self,**kwargs) 326 338 AbstractGML.__init__(self,**kwargs) 327 children={ 'low':[GML('low'), 'csString'],'high':[GML('high'), 'csString']}339 children={elems[0]:[GML('low'), 'csString'],elems[1]:[GML('high'), 'csString']} 328 340 addchildren(self,children) 329 341 csElement.__init__(self,**kwargs) … … 331 343 class Envelope(AbstractGML,SRSReferenceGroup, csElement): 332 344 def __init__(self, **kwargs): 345 elems=['lowerCorner','upperCorner'] 346 addelems(self,elems) 333 347 SRSReferenceGroup.__init__(self,**kwargs) 334 348 AbstractGML.__init__(self,**kwargs) 335 children={ 'lowerCorner':[GML('lowerCorner'), 'csString'],'upperCorner':[GML('upperCorner'), 'csString']}349 children={elems[0]:[GML('lowerCorner'), 'csString'],elems[1]:[GML('upperCorner'), 'csString']} 336 350 addchildren(self,children) 337 351 csElement.__init__(self,**kwargs) … … 339 353 class EnvelopeWithTimePeriod(Envelope): 340 354 def __init__(self, **kwargs): 355 elems=['beginPosition', 'endPosition'] 356 addelems(self,elems) 341 357 Envelope.__init__(self,**kwargs) 342 children={ 'beginPosition':[GML('beginPosition'), 'csString'], 'endPosition':[GML('endPosition'), 'csString']}358 children={elems[0]:[GML('beginPosition'), 'csString'], elems[1]:[GML('endPosition'), 'csString']} 343 359 addchildren(self,children) 344 360 csElement.__init__(self,**kwargs) … … 346 362 class AbstractFeature(AbstractGML,csElement): 347 363 def __init__(self, **kwargs): 364 elems=['boundedBy'] 365 addelems(self,elems) 348 366 AbstractGML.__init__(self,**kwargs) 349 367 #this pattern works but can only accept EnvelopeWithTimePeriod for the boundedBy, 350 368 #which is probably ok 351 children={ 'boundedBy':[GML('EnvelopeWithTimePeriod'), 'EnvelopeWithTimePeriod', GML('boundedBy')]}369 children={elems[0]:[GML('EnvelopeWithTimePeriod'), 'EnvelopeWithTimePeriod', GML('boundedBy')]} 352 370 addchildren(self,children) 353 371 csElement.__init__(self,**kwargs) … … 366 384 class AggregatedArray(ArrayDescriptor,csElement): 367 385 def __init__(self, **kwargs): 386 elems=['aggType', 'aggIndex', 'components'] 387 addelems(self,elems) 368 388 ArrayDescriptor.__init__(self,**kwargs) 369 children={ 'aggType':[CSML('aggType'),'csString'], 'aggIndex':[CSML('aggIndex'),'csString'],'components':[FILEFORMATS, 'ArrayDescriptor',CSML('component')]}389 children={elems[0]:[CSML('aggType'),'csString'], elems[1]:[CSML('aggIndex'),'csString'],elems[2]:[FILEFORMATS, 'ArrayDescriptor',CSML('component')]} 370 390 addchildren(self,children) 371 391 csElement.__init__(self,**kwargs) … … 373 393 class MeasureOrNullList(AbstractGML,csElement): 374 394 def __init__(self, **kwargs): 395 elems=['__insertedExtract'] # should this be here ? check 396 addelems(self,elems) 375 397 AbstractGML.__init__(self,**kwargs) 376 398 #note __insertedExtract is used in resolving xlinks and shouldn't be written to directly (except by the code which handles the xlink resolutions) 377 children={ '__insertedExtract':[FILEFORMATS,'FileExtract',CSML('__insertedExtract')]}399 children={elems[0]:[FILEFORMATS,'FileExtract',CSML('__insertedExtract')]} 378 400 addchildren(self,children) 379 401 a =['uom'] … … 384 406 class CompositeValue(AbstractGML,csElement): 385 407 def __init__(self, **kwargs): 386 AbstractGML.__init__(self,**kwargs) 387 children={'measures':[GML('measure'),'csString',GML('valueComponents')]} 408 elems=['measures'] 409 addelems(self,elems) 410 AbstractGML.__init__(self,**kwargs) 411 children={elems[0]:[GML('measure'),'csString',GML('valueComponents')]} 388 412 addchildren(self,children) 389 413 csElement.__init__(self,**kwargs) … … 392 416 #THIS IS INCOMPLETE 393 417 def __init__(self, **kwargs): 394 AbstractGML.__init__(self,**kwargs) 395 children={'doubleOrNullTupleList':[GML('doubleOrNullTupleList'),'csString'],'rangeParameters':[GML('CompositeValue'), 'CompositeValue', GML('rangeParameters')]} 418 elems=['doubleOrNullTupleList','rangeParameters'] 419 addelems(self,elems) 420 AbstractGML.__init__(self,**kwargs) 421 children={elems[0]:[GML('doubleOrNullTupleList'),'csString'],elems[1]:[GML('CompositeValue'), 'CompositeValue', GML('rangeParameters')]} 396 422 addchildren(self,children) 397 423 csElement.__init__(self,**kwargs) … … 399 425 class ValueComponent(AbstractGML, AssociationAttributeGroup, csElement): 400 426 def __init__(self, **kwargs): 427 elems=['quantityList'] 428 addelems(self,elems) 401 429 AbstractGML.__init__(self,**kwargs) 402 430 AssociationAttributeGroup.__init__(self,**kwargs) 403 children=children={ 'quantityList':[GML('QuantityList'), 'MeasureOrNullList']}431 children=children={elems[0]:[GML('QuantityList'), 'MeasureOrNullList']} 404 432 addchildren(self,children) 405 433 csElement.__init__(self,**kwargs) … … 407 435 class ValueArray(AbstractGML, csElement): 408 436 def __init__(self, **kwargs): 437 elems=['valueComponent'] 438 addelems(self,elems) 409 439 AbstractGML.__init__(self,**kwargs) 410 440 #this is a bit of a diversion from the object/property pattern but is necessary to 411 441 #make valueComponent a class so valueComponent can have xlink attributes 412 children=children={ 'valueComponent':[GML('valueComponent'), 'ValueComponent', ]}442 children=children={elems[0]:[GML('valueComponent'), 'ValueComponent', ]} 413 443 addchildren(self,children) 414 444 csElement.__init__(self,**kwargs) … … 419 449 AbstractGML.__init__(self,**kwargs) 420 450 AssociationAttributeGroup.__init__(self,**kwargs) 421 children={'quantityList':[GML('QuantityList'), 'MeasureOrNullList'], 'dataBlock':[GML('DataBlock'),'DataBlock'],'arrayDescriptor':[FILEFORMATS, 'ArrayDescriptor'], 'aggregatedArray':[CSML('AggregatedArray'), 'AggregatedArray'], 451 elems=['quantityList', 'dataBlock', 'arrayDescriptor'] 452 addelems(self,elems) 453 children={elems[0]:[GML('QuantityList'), 'MeasureOrNullList'], elems[1]:[GML('DataBlock'),'DataBlock'],'arrayDescriptor':[FILEFORMATS, 'ArrayDescriptor'], elems[2]:[CSML('AggregatedArray'), 'AggregatedArray'], 422 454 'valueArray':[GML('ValueArray'),'ValueArray']} 423 455 addchildren(self,children) … … 428 460 AbstractGML.__init__(self,**kwargs) 429 461 SRSReferenceGroup.__init__(self,**kwargs) 430 children={'pointMember':[GML('pointMember'), 'csString'],'pointMembers':[GML('pointMember'), 'csString']} 462 elems=['pointMember','pointMembers'] 463 addelems(self,elems) 464 children={elems[0]:[GML('pointMember'), 'csString'],elems[0]:[GML('pointMember'), 'csString']} 431 465 addchildren(self,children) 432 466 csElement.__init__(self,**kwargs) … … 436 470 AbstractGML.__init__(self,**kwargs) 437 471 SRSReferenceGroup.__init__(self,**kwargs) 438 children={'pos':[GML('pos'), 'csString'],'coordinates':[GML('coordinates'), 'csString']} 472 elems=['pos','coordinates'] 473 addelems(self,elems) 474 children={elems[0]:[GML('pos'), 'csString'],elems[1]:[GML('coordinates'), 'csString']} 439 475 addchildren(self,children) 440 476 csElement.__init__(self,**kwargs) … … 485 521 def __init__(self, **kwargs): 486 522 AbstractGML.__init__(self,**kwargs) 487 children={'coordinateList':[CSML('coordinateList'),'csString'], 'timePositionList':[CSML('timePositionList'),'TimePositionList'],'__insertedExtract':[FILEFORMATS,'FileExtract',CSML('__insertedExtract')]} 523 elems=['coordinateList', 'timePositionList','__insertedExtract'] 524 addelems(self,elems) 525 children={elems[0]:[CSML('coordinateList'),'csString'], elems[1]:[CSML('timePositionList'),'TimePositionList'],elems[2]:[FILEFORMATS,'FileExtract',CSML('__insertedExtract')]} 488 526 addchildren(self,children) 489 527 a=['frame'] 490 528 addatts(self,a) 491 529 csElement.__init__(self,**kwargs) 492 children={'descriptors':[[CSML('NetCDFExtract'),CSML('AggregatedArray')], 'FileExtract', CSML('descriptor'),1]}493 530 494 531 … … 497 534 def __init__(self, **kwargs): 498 535 AbstractGML.__init__(self,**kwargs) 499 children={'coordAxisLabel':[CSML('coordAxisLabel'), 'csString'], 'coordAxisValues':[CSML('SpatialOrTemporalPositionList'),'SpatialOrTemporalPositionList',CSML('coordAxisValues')], 'gridAxesSpanned':[CSML('gridAxesSpanned'), 'csString'], 'sequenceRule':[CSML('sequenceRule'),'SequenceRule']} 536 elems=['coordAxisLabel', 'coordAxisValues', 'SpatialOrTemporalPositionList', 'gridAxesSpanned', 'sequenceRule'] 537 addelems(self,elems) 538 children={elems[0]:[CSML('coordAxisLabel'), 'csString'], elems[1]:[CSML('SpatialOrTemporalPositionList'),elems[2],CSML('coordAxisValues')], elems[3]:[CSML('gridAxesSpanned'), 'csString'], elems[4]:[CSML('sequenceRule'),'SequenceRule']} 500 539 addchildren(self,children) 501 540 csElement.__init__(self,**kwargs) … … 512 551 def __init__(self, **kwargs): 513 552 AbstractGML.__init__(self,**kwargs) 514 children={'posList':[CSML('posList'),'csString'],'sequenceRule':[CSML('sequenceRule'),'SequenceRule']} 553 elems=['posList', 'sequenceRule'] 554 addelems(self,elems) 555 children={elems[0]:[CSML('posList'),'csString'],elems[1]:[CSML('sequenceRule'),'SequenceRule']} 515 556 addchildren(self,children) 516 557 csElement.__init__(self,**kwargs) … … 518 559 class TimePositionList(AbstractGML,csElement): 519 560 def __init__(self,**kwargs): 561 elems=[] 562 addelems(self,elems) 520 563 a=['frame', 'calendarEraName','indeterminatePosition'] 521 564 addatts(self,a) … … 539 582 </gml:ordinate> ''' 540 583 AbstractGML.__init__(self,**kwargs) 541 children={'gridOrdinates':[CSML('GridOrdinateDescription'), 'GridOrdinateDescription',CSML('gridOrdinate'),1], 'gridPoints':[CSML('GridPointDescription'),'GridPointDescription',CSML('gridPoints')]} 584 elems=['gridOrdinates' , 'gridPoints'] 585 addelems(self,elems) 586 children={elems[0]:[CSML('GridOrdinateDescription'), 'GridOrdinateDescription',CSML('gridOrdinate'),1], elems[1]:[CSML('GridPointDescription'),'GridPointDescription',CSML('gridPoints')]} 542 587 addchildren(self,children) 543 588 csElement.__init__(self,**kwargs) … … 549 594 SRSReferenceGroup.__init__(self,**kwargs) 550 595 SRSInformationGroup.__init__(self,**kwargs) 551 children={'coordTransformTable':[CSML('GridCoordinatesTable'), 'GridCoordinatesTable', CSML('coordTransformTable')],'aLabels':[CSML('axisLabels'),'csString'], 'limits':[GML('GridEnvelope'),'GridEnvelope',CSML('limits')]} 596 elems=['coordTransformTable','aLabels','limits'] 597 addelems(self,elems) 598 children={elems[0]:[CSML('GridCoordinatesTable'), 'GridCoordinatesTable', CSML('coordTransformTable')],elems[1]:[CSML('axisLabels'),'csString'], elems[2]:[GML('GridEnvelope'),'GridEnvelope',CSML('limits')]} 552 599 addchildren(self,children) 553 600 csElement.__init__(self,**kwargs) … … 556 603 def __init__(self, **kwargs): 557 604 AbstractDiscreteCoverage.__init__(self,**kwargs) 558 children={'referenceableGridDomain':[CSML('ReferenceableGrid'),'ReferenceableGrid' ,CSML('referenceableGridDomain') ]} 605 elems=[referenceableGridDomain] 606 addelems(self,elems) 607 children={elems[0]:[CSML('ReferenceableGrid'),'ReferenceableGrid' ,CSML('referenceableGridDomain') ]} 559 608 addchildren(self,children) 560 609 csElement.__init__(self,**kwargs) … … 563 612 def __init__(self, **kwargs): 564 613 AbstractDiscreteCoverage.__init__(self,**kwargs) 565 children={'alternatePointDomain':[GML('Point'),'Point', CSML('alternatePointDomain')], 'rangeSet':[GML('rangeSet'), 'RangeSet'],'coverageFunction':[GML('coverageFunction'),'csString']} 614 elems=['alternatePointDomain','rangeSet','coverageFunction'] 615 addelems(self,elems) 616 children={elems[0]:[GML('Point'),'Point', CSML('alternatePointDomain')], elems[1]:[GML('rangeSet'), 'RangeSet'],elems[2]:[GML('coverageFunction'),'csString']} 566 617 addchildren(self,children) 567 618 csElement.__init__(self,**kwargs) … … 570 621 def __init__(self, **kwargs): 571 622 AbstractDiscreteCoverage.__init__(self,**kwargs) 572 children={'profileDomain':[CSML('ProfileDomain'),'ProfileDomain' ,CSML('profileDomain') ], 'rangeSet':[GML('rangeSet'), 'RangeSet'],'coverageFunction':[GML('coverageFunction'),'csString']} 623 elems=['profileDomain', 'rangeSet' ,'coverageFunction'] 624 addelems(self,elems) 625 children={elems[0]:[CSML('ProfileDomain'),'ProfileDomain' ,CSML('profileDomain') ], elems[1]:[GML('rangeSet'), 'RangeSet'],elems[2]:[GML('coverageFunction'),'csString']} 573 626 addchildren(self,children) 574 627 csElement.__init__(self,**kwargs) … … 577 630 def __init__(self, **kwargs): 578 631 AbstractDiscreteCoverage.__init__(self,**kwargs) 579 children={'pointDomain':[CSML('PointDomain'),'PointDomain' ,CSML('pointDomain') ], 'rangeSet':[GML('rangeSet'), 'RangeSet'],'coverageFunction':[GML('coverageFunction'),'csString']} 632 elems=['pointDomain','rangeSet', 'coverageFunction'] 633 addelems(self,elems) 634 children={elems[0]:[CSML('PointDomain'),'PointDomain' ,CSML('pointDomain') ], elems[1]:[GML('rangeSet'), 'RangeSet'],elems[2]:[GML('coverageFunction'),'csString']} 580 635 addchildren(self,children) 581 636 csElement.__init__(self,**kwargs) … … 584 639 def __init__(self, **kwargs): 585 640 AbstractGML.__init__(self,**kwargs) 586 children={'timePositionList':[CSML('timePositionList'), 'csString']} 641 elems=['timePositionList'] 642 addelems(self,elems) 643 children={elems[0]:[CSML('timePositionList'), 'csString']} 587 644 addchildren(self,children) 588 645 csElement.__init__(self,**kwargs) … … 591 648 def __init__(self, **kwargs): 592 649 AbstractDiscreteCoverage.__init__(self,**kwargs) 593 children={'pointSeriesDomain':[CSML('TimeSeries'),'TimeSeries' ,CSML('pointSeriesDomain') ], 'rangeSet':[GML('rangeSet'), 'RangeSet'],'coverageFunction':[GML('coverageFunction'),'csString']} 650 elems=['pointSeriesDomain','rangeSet','coverageFunction'] 651 addelems(self,elems) 652 children={elems[0]:[CSML('TimeSeries'),'TimeSeries' ,CSML('pointSeriesDomain') ], elems[1]:[GML('rangeSet'), 'RangeSet'],elems[2]:[GML('coverageFunction'),'csString']} 594 653 addchildren(self,children) 595 654 csElement.__init__(self,**kwargs) … … 606 665 def __init__(self, **kwargs): 607 666 AbstractDiscreteCoverage.__init__(self,**kwargs) 608 children={'profileSeriesDomain':[CSML('ProfileSeriesDomain'),'ProfileSeriesDomain' ,CSML('profileSeriesDomain') ], 'rangeSet':[GML('rangeSet'), 'RangeSet'],'coverageFunction':[GML('coverageFunction'),'csString']} 667 elems=['profileSeriesDomain', 'rangeSet', 'coverageFunction'] 668 addelems(self,elems) 669 children={elems[0]:[CSML('ProfileSeriesDomain'),'ProfileSeriesDomain' ,CSML('profileSeriesDomain') ], elems[1]:[GML('rangeSet'), 'RangeSet'],elems[2]:[GML('coverageFunction'),'csString']} 609 670 addchildren(self,children) 610 671 csElement.__init__(self,**kwargs) … … 621 682 def __init__(self, **kwargs): 622 683 AbstractDiscreteCoverage.__init__(self,**kwargs) 623 children={'sectionDomain':[CSML('SectionDomain'),'SectionDomain' ,CSML('sectionDomain') ], 'rangeSet':[GML('rangeSet'), 'RangeSet'],'coverageFunction':[GML('coverageFunction'),'csString']} 684 elems=['sectionDomain', 'rangeSet' , 'coverageFunction'] 685 addelems(self,elems) 686 children={elems[0]:[CSML('SectionDomain'),'SectionDomain' ,CSML('sectionDomain') ],elems[1]:[GML('rangeSet'), 'RangeSet'],elems[2]:[GML('coverageFunction'),'csString']} 624 687 addchildren(self,children) 625 688 csElement.__init__(self,**kwargs) … … 636 699 def __init__(self, **kwargs): 637 700 AbstractDiscreteCoverage.__init__(self,**kwargs) 638 children={'trajectoryDomain':[CSML('TrajectoryDomain'),'TrajectoryDomain' ,CSML('trajectoryDomain') ], 'rangeSet':[GML('rangeSet'), 'RangeSet'],'coverageFunction':[GML('coverageFunction'),'csString']} 701 elems=['trajectoryDomain', 'rangeSet', 'coverageFunction'] 702 addelems(self,elems) 703 children={elems[0]:[CSML('TrajectoryDomain'),'TrajectoryDomain' ,CSML('trajectoryDomain') ], elems[1]:[GML('rangeSet'), 'RangeSet'],elems[2]:[GML('coverageFunction'),'csString']} 639 704 addchildren(self,children) 640 705 csElement.__init__(self,**kwargs) … … 651 716 def __init__(self, **kwargs): 652 717 AbstractDiscreteCoverage.__init__(self,**kwargs) 653 children={'scanningRadarDomain':[CSML('ScanningRadarDomain'),'ScanningRadarDomain' ,CSML('scanningRadarDomain') ], 'rangeSet':[GML('rangeSet'), 'RangeSet'],'coverageFunction':[GML('coverageFunction'),'csString']} 718 elems=['scanningRadarDomain', 'rangeSet','coverageFunction'] 719 addelems(self,elems) 720 children={elems[0]:[CSML('ScanningRadarDomain'),'ScanningRadarDomain' ,CSML('scanningRadarDomain') ], elems[1]:[GML('rangeSet'), 'RangeSet'],elems[2]:[GML('coverageFunction'),'csString']} 654 721 addchildren(self,children) 655 722 csElement.__init__(self,**kwargs) … … 667 734 def __init__(self, **kwargs): 668 735 AbstractDiscreteCoverage.__init__(self,**kwargs) 669 children={'gridSeriesDomain':[CSML('GridSeriesDomain'),'GridSeriesDomain' ,CSML('gridSeriesDomain') ], 'rangeSet':[GML('rangeSet'), 'RangeSet'],'coverageFunction':[GML('coverageFunction'),'csString']} 736 elems=['gridSeriesDomain', 'rangeSet', 'coverageFunction'] 737 addelems(self,elems) 738 children={elems[0]:[CSML('GridSeriesDomain'),'GridSeriesDomain' ,CSML('gridSeriesDomain') ], elems[1]:[GML('rangeSet'), 'RangeSet'],elems[2]:[GML('coverageFunction'),'csString']} 670 739 addchildren(self,children) 671 740 csElement.__init__(self,**kwargs) … … 674 743 def __init__(self, **kwargs): 675 744 AbstractFeature.__init__(self,**kwargs) 676 children={'location':[CSML('location'), 'csString'],'time':[CSML('time'), 'csString'], 'value':[CSML('AlternatePointCoverage'), 'AlternatePointCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 745 elems=['location', 'time', 'value','parameter'] 746 addelems(self,elems) 747 children={elems[0]:[CSML('location'), 'csString'],elems[1]:[CSML('time'), 'csString'], elems[2]:[CSML('AlternatePointCoverage'), 'AlternatePointCoverage', CSML('value')],elems[3]:[CSML('parameter'), 'Phenomenon']} 677 748 addchildren(self,children) 678 749 csElement.__init__(self,**kwargs) … … 688 759 def __init__(self, **kwargs): 689 760 AbstractFeature.__init__(self,**kwargs) 690 children={'location':[CSML('location'), 'DirectPositionList'],'time':[CSML('time'), 'csString'], 'value':[CSML('PointCoverage'), 'PointCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 761 elems=['location', 'time', 'value','parameter'] 762 addelems(self,elems) 763 children={elems[0]:[CSML('location'), 'DirectPositionList'],elems[1]:[CSML('time'), 'csString'], elems[2]:[CSML('PointCoverage'), 'PointCoverage', CSML('value')], elems[3]:[CSML('parameter'), 'Phenomenon']} 691 764 addchildren(self,children) 692 765 csElement.__init__(self,**kwargs) … … 695 768 def __init__(self, **kwargs): 696 769 AbstractFeature.__init__(self,**kwargs) 697 children={'time':[CSML('time'), 'csString'], 'value':[CSML('MultiPointCoverage'), 'MultiPointCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 770 elems=['time', 'value', 'parameter'] 771 addelems(self,elems) 772 children={elems[0]:[CSML('time'), 'csString'], elems[1]:[CSML('MultiPointCoverage'), 'MultiPointCoverage', CSML('value')], elems[2]:[CSML('parameter'), 'Phenomenon']} 698 773 addchildren(self,children) 699 774 csElement.__init__(self,**kwargs) … … 703 778 def __init__(self, **kwargs): 704 779 AbstractFeature.__init__(self,**kwargs) 705 children={'location':[CSML('location'), 'csString'], 'value':[CSML('PointSeriesCoverage'), 'PointSeriesCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 780 elems=['location','value','parameter'] 781 addelems(self,elems) 782 children={elems[0]:[CSML('location'), 'csString'], elems[1]:[CSML('PointSeriesCoverage'), 'PointSeriesCoverage', CSML('value')], elems[2]:[CSML('parameter'), 'Phenomenon']} 706 783 addchildren(self,children) 707 784 csElement.__init__(self,**kwargs) … … 711 788 def __init__(self, **kwargs): 712 789 AbstractFeature.__init__(self,**kwargs) 713 children={'time':[CSML('time'), 'csString'], 'value':[CSML('ReferenceableGridCoverage'), 'ReferenceableGridCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 790 elems=['time', 'value', 'parameter'] 791 addelems(self,elems) 792 children={elems[0]:[CSML('time'), 'csString'], elems[1]:[CSML('ReferenceableGridCoverage'), 'ReferenceableGridCoverage', CSML('value')], elems[2]:[CSML('parameter'), 'Phenomenon']} 714 793 addchildren(self,children) 715 794 csElement.__init__(self,**kwargs) … … 718 797 def __init__(self, **kwargs): 719 798 AbstractFeature.__init__(self,**kwargs) 720 children={'value':[CSML('GridSeriesCoverage'), 'GridSeriesCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 799 elems=['value','parameter'] 800 addelems(self,elems) 801 children={elems[0]:[CSML('GridSeriesCoverage'), 'GridSeriesCoverage', CSML('value')],elems[0]:[CSML('parameter'), 'Phenomenon']} 721 802 addchildren(self,children) 722 803 csElement.__init__(self,**kwargs) … … 725 806 def __init__(self, **kwargs): 726 807 AbstractFeature.__init__(self,**kwargs) 727 children={'time':[CSML('time'), 'csString'],'location':[CSML('location'), 'csString'], 'value':[CSML('ProfileCoverage'), 'ProfileCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 808 elems=['time', 'location', 'value', 'parameter'] 809 addelems(self,elems) 810 children={elems[0]:[CSML('time'), 'csString'],elems[1]:[CSML('location'), 'csString'], elems[2]:[CSML('ProfileCoverage'), 'ProfileCoverage', CSML('value')], elems[3]:[CSML('parameter'), 'Phenomenon']} 728 811 addchildren(self,children) 729 812 csElement.__init__(self,**kwargs) … … 732 815 def __init__(self, **kwargs): 733 816 AbstractFeature.__init__(self,**kwargs) 734 children={'location':[CSML('location'), 'csString'], 'value':[CSML('ProfileSeriesCoverage'), 'ProfileSeriesCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 817 elems=['location', 'value', 'parameter'] 818 addelems(self,elems) 819 children={elems[0]:[CSML('location'), 'csString'], elems[1]:[CSML('ProfileSeriesCoverage'), 'ProfileSeriesCoverage', CSML('value')], elems[2]:[CSML('parameter'), 'Phenomenon']} 735 820 addchildren(self,children) 736 821 csElement.__init__(self,**kwargs) … … 739 824 def __init__(self, **kwargs): 740 825 AbstractFeature.__init__(self,**kwargs) 741 children={'location':[CSML('location'), 'csString'], 'profileLength':[CSML('profileLength'), 'csString'],'value':[CSML('ProfileSeriesCoverage'), 'ProfileSeriesCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 826 elems=['location', 'profileLength', 'value', 'parameter'] 827 addelems(self,elems) 828 children={elems[0]:[CSML('location'), 'csString'], elems[1]:[CSML('profileLength'), 'csString'],elems[2]:[CSML('ProfileSeriesCoverage'), 'ProfileSeriesCoverage', CSML('value')], elems[3]:[CSML('parameter'), 'Phenomenon']} 742 829 addchildren(self,children) 743 830 csElement.__init__(self,**kwargs) … … 746 833 def __init__(self, **kwargs): 747 834 AbstractFeature.__init__(self,**kwargs) 748 children={'stationLocations':[CSML('stationLocations'), 'csString'], 'stationTimes':[CSML('stationTimes'), 'csString'],'profileLength':[CSML('profileLength'),'csString'],'value':[CSML('SectionCoverage'), 'SectionCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 835 elems=['stationLocations', 'stationTimes', 'profileLength' 'value','parameter'] 836 addelems(self,elems) 837 children={elems[0]:[CSML('stationLocations'), 'csString'], elems[1]:[CSML('stationTimes'), 'csString'],elems[2]:[CSML('profileLength'),'csString'],elems[3]:[CSML('SectionCoverage'), 'SectionCoverage', CSML('value')], elems[4]:[CSML('parameter'), 'Phenomenon']} 749 838 addchildren(self,children) 750 839 csElement.__init__(self,**kwargs) … … 753 842 def __init__(self, **kwargs): 754 843 AbstractFeature.__init__(self,**kwargs) 755 children={'stationLocations':[CSML('stationLocations'), 'csString'], 'stationTimes':[CSML('stationTimes'), 'TimePositionList'],'value':[CSML('SectionCoverage'), 'SectionCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 844 elems=['stationLocations', 'stationTimes','value', 'parameter'] 845 addelems(self,elems) 846 children={elems[0]:[CSML('stationLocations'), 'csString'], elems[1]:[CSML('stationTimes'), 'TimePositionList'],elems[2]:[CSML('SectionCoverage'), 'SectionCoverage', CSML('value')], elems[3]:[CSML('parameter'), 'Phenomenon']} 756 847 addchildren(self,children) 757 848 csElement.__init__(self,**kwargs) … … 760 851 def __init__(self, **kwargs): 761 852 AbstractFeature.__init__(self,**kwargs) 762 children={'elevation':[CSML('elevation'), 'csString'], 'value':[CSML('ScanningRadarCoverage'), 'ScanningRadarCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 853 elems=['elevation','value', 'parameter'] 854 addelems(self,elems) 855 children={elems[0]:[CSML('elevation'), 'csString'], elems[1]:[CSML('ScanningRadarCoverage'), 'ScanningRadarCoverage', CSML('value')], elems[2]:[CSML('parameter'), 'Phenomenon']} 763 856 addchildren(self,children) 764 857 csElement.__init__(self,**kwargs) … … 768 861 def __init__(self, **kwargs): 769 862 AbstractFeature.__init__(self,**kwargs) 770 children={'eqCrossLon':[CSML('eqCrossLon'), 'csString'],'eqCrossTime':[CSML('eqCrossTime'), 'csString'], 'value':[CSML('ReferenceableGridCoverage'), 'ReferenceableGridCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 863 elems=['eqCrossLon', 'eqCrossTime', 'value', 'parameter'] 864 addelems(self,elems) 865 children={elems[0]:[CSML('eqCrossLon'), 'csString'],elems[1]:[CSML('eqCrossTime'), 'csString'], elems[2]:[CSML('ReferenceableGridCoverage'), 'ReferenceableGridCoverage', CSML('value')], elems[3]:[CSML('parameter'), 'Phenomenon']} 771 866 addchildren(self,children) 772 867 csElement.__init__(self,**kwargs) … … 775 870 def __init__(self, **kwargs): 776 871 AbstractFeature.__init__(self,**kwargs) 777 children={'value':[CSML('TrajectoryCoverage'), 'TrajectoryCoverage', CSML('value')], 'parameter':[CSML('parameter'), 'Phenomenon']} 872 elems=['value', 'parameter'] 873 addelems(self,elems) 874 children={elems[0]:[CSML('TrajectoryCoverage'), 'TrajectoryCoverage', CSML('value')], elems[1]:[CSML('parameter'), 'Phenomenon']} 778 875 addchildren(self,children) 779 876 csElement.__init__(self,**kwargs) … … 783 880 AssociationAttributeGroup.__init__(self,**kwargs) 784 881 AbstractGML.__init__(self,**kwargs) 882 elems=['fileNames'] 883 addelems(self,elems) 785 884 addatts(self,[]) 786 children= { 'fileNames':[CSML('fileNames'), 'csString']}885 children= {elems[0]:[CSML('fileNames'), 'csString']} 787 886 addchildren(self,children) 788 887 csElement.__init__(self,**kwargs) … … 791 890 def __init__(self,**kwargs): 792 891 ArrayDescriptor.__init__(self,**kwargs) 793 children= {'fileName':[CSML('fileName'), 'csString'], 'fileList':[CSML('FileList'), 'FileList', CSML('fileList')],'fileListXLINK':[CSML('fileList'), 'csString']} 892 elems=['fileName', 'fileList', 'fileListXLINK'] 893 addelems(self,elems) 894 children= {elems[0]:[CSML('fileName'), 'csString'], elems[1]:[CSML('FileList'), 'FileList', CSML('fileList')],elems[2]:[CSML('fileList'), 'csString']} 794 895 addchildren(self,children) 795 896 csElement.__init__(self,**kwargs) … … 798 899 def __init__(self,**kwargs): 799 900 FileExtract.__init__(self, **kwargs) 800 children={'variableName':[CSML('variableName'), 'csString']} 901 elems=['variableName'] 902 addelems(self,elems) 903 children={elems[0]:[CSML('variableName'), 'csString']} 801 904 addchildren(self,children) 802 905 csElement.__init__(self,**kwargs) … … 805 908 def __init__(self,**kwargs): 806 909 FileExtract.__init__(self, **kwargs) 807 children={'variableName':[CSML('variableName'), 'csString'], 'index':[CSML('index'),'csString']} 910 elems=['variableName', 'index'] 911 addelems(self,elems) 912 children={elems[0]:[CSML('variableName'), 'csString'],elems[1]:[CSML('index'),'csString']} 808 913 addchildren(self,children) 809 914 csElement.__init__(self,**kwargs) … … 812 917 def __init__(self,**kwargs): 813 918 addatts(self,[]) 814 children={'descriptors':[[CSML('NetCDFExtract'),CSML('AggregatedArray')], 'FileExtract', CSML('descriptor'),1]} 919 elems=['descriptors'] 920 addelems(self,elems) 921 children={elems[0]:[[CSML('NetCDFExtract'),CSML('AggregatedArray')], 'FileExtract', CSML('descriptor'),1]} 815 922 addchildren(self,children) 816 923 csElement.__init__(self,**kwargs) … … 819 926 def __init__(self,**kwargs): 820 927 AbstractFeatureCollection.__init__(self,**kwargs) 821 children={'featureMembers':[[CSML('GridFeature'), CSML('GridSeriesFeature'),CSML('PointFeature'),CSML('TrajectoryFeature'),CSML('ProfileFeature'),CSML('ProfileSeriesFeature'),CSML('RaggedProfileSeriesFeature'),CSML('RaggedSectionFeature'),CSML('SectionFeature'),CSML('ScanningRadarFeature'),CSML('PointSeriesFeature'),CSML('AlternatePointFeature')], 'AbstractFeature', CSML('featureMember'),1]} 928 elems=['featureMembers'] 929 addelems(self,elems) 930 children={elems[0]:[[CSML('GridFeature'), CSML('GridSeriesFeature'),CSML('PointFeature'),CSML('TrajectoryFeature'),CSML('ProfileFeature'),CSML('ProfileSeriesFeature'),CSML('RaggedProfileSeriesFeature'),CSML('RaggedSectionFeature'),CSML('SectionFeature'),CSML('ScanningRadarFeature'),CSML('PointSeriesFeature'),CSML('AlternatePointFeature')], 'AbstractFeature', CSML('featureMember'),1]} 822 931 addchildren(self,children) 823 932 csElement.__init__(self,**kwargs) … … 881 990 a=[CSML('id')] 882 991 addatts(self,a) 883 children = {'featureCollection':[CSML('CSMLFeatureCollection') ,'CSMLFeatureCollection'],'storageDescriptor':[CSML('CSMLStorageDescriptor'), 'CSMLStorageDescriptor']} 992 elems=['featureCollection','storageDescriptor'] 993 addelems(self,elems) 994 children = {elems[0]:[CSML('CSMLFeatureCollection') ,'CSMLFeatureCollection'],elems[1]:[CSML('CSMLStorageDescriptor'), 'CSMLStorageDescriptor']} 884 995 addchildren(self,children) 885 996 csElement.__init__(self,**kwargs)
Note: See TracChangeset
for help on using the changeset viewer.