Changeset 1698 for TI02-CSML/branches


Ignore:
Timestamp:
15/11/06 08:30:11 (13 years ago)
Author:
awoolf
Message:

CSML2: * UML updated for {PointSeries?,Trajectory}Coverage to <<implement>> CV_DiscreteCoverage (rather than CV_DiscretePointCoverage); * Schema updated to include {GridSeries?,PointCollection?,Point,PointSeries?}Feature.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/branches/CSML2/XMLSchemas/csmlMain.xsd

    r1693 r1698  
    115115        </complexType> 
    116116        <element name="ReferenceableGrid" type="csml:ReferenceableGridType" substitutionGroup="gml:Grid"/> 
     117        <complexType name="ReferenceableGridPropertyType"> 
     118                <sequence> 
     119                        <element ref="csml:ReferenceableGrid"/> 
     120                </sequence> 
     121                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     122        </complexType> 
    117123        <!--====================================================================== --> 
    118124        <!--====================================================================== --> 
     
    196202        <complexType name="GridSeriesDomainType"> 
    197203                <annotation> 
    198                         <documentation>The SC_CRS to which this is referenced (via the inherited gml:SRSReferenceGroup attributeGroup) should be a csml:SpatioTemporalCRS</documentation> 
    199                 </annotation> 
    200                 <complexContent> 
    201                         <extension base="csml:ReferenceableGridDomainType"/> 
    202                 </complexContent> 
    203         </complexType> 
    204         <!--====================================================================== --> 
    205         <complexType name="GridSeriesCoverageType"/> 
     204                        <documentation>The SC_CRS to which this is referenced (via the inherited gml:SRSReferenceGroup attributeGroup) should be a csml:SpatioTemporalCRS. In addition, one of the GridOrdinateDescription objects must have a timePositonList. This could be implemented by deriving by restriction from ReferenceableGridType, or perhaps using schematron. For now, leave it unenforced but understood....</documentation> 
     205                </annotation> 
     206                <complexContent> 
     207                        <extension base="csml:ReferenceableGridType"/> 
     208                </complexContent> 
     209        </complexType> 
     210        <element name="GridSeriesDomain" type="csml:GridSeriesDomainType" substitutionGroup="csml:ReferenceableGrid"/> 
     211        <complexType name="GridSeriesDomainPropertyType"> 
     212                <sequence> 
     213                        <element ref="csml:GridSeriesDomain"/> 
     214                </sequence> 
     215                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     216        </complexType> 
     217        <!--====================================================================== --> 
     218        <complexType name="GridSeriesCoverageDomainType"> 
     219                <complexContent> 
     220                        <restriction base="gml:GridDomainType"> 
     221                                <sequence minOccurs="0"> 
     222                                        <element ref="csml:GridSeriesDomain"/> 
     223                                </sequence> 
     224                        </restriction> 
     225                </complexContent> 
     226        </complexType> 
     227        <element name="gridSeriesDomain" type="csml:GridSeriesCoverageDomainType" substitutionGroup="gml:gridDomain"/> 
     228        <!--====================================================================== --> 
     229        <complexType name="GridSeriesCoverageType"> 
     230                <complexContent> 
     231                        <restriction base="gml:GridCoverageType"> 
     232                                <sequence> 
     233                                        <group ref="gml:StandardObjectProperties"/> 
     234                                        <element ref="gml:boundedBy" minOccurs="0"/> 
     235                                        <element ref="csml:gridSeriesDomain"/> 
     236                                        <element ref="gml:rangeSet"/> 
     237                                        <element ref="gml:coverageFunction" minOccurs="0"/> 
     238                                </sequence> 
     239                        </restriction> 
     240                </complexContent> 
     241        </complexType> 
     242        <element name="GridSeriesCoverage" type="csml:GridSeriesCoverageType" substitutionGroup="gml:GridCoverage"/> 
     243        <complexType name="GridSeriesCoveragePropertyType"> 
     244                <sequence> 
     245                        <element ref="csml:GridSeriesCoverage"/> 
     246                </sequence> 
     247                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     248        </complexType> 
     249        <!--====================================================================== --> 
     250        <complexType name="GridSeriesFeatureType"> 
     251                <complexContent> 
     252                        <extension base="gml:AbstractFeatureType"> 
     253                                <sequence> 
     254                                        <element name="value" type="csml:GridSeriesCoveragePropertyType"/> 
     255                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
     256                                </sequence> 
     257                        </extension> 
     258                </complexContent> 
     259        </complexType> 
     260        <element name="GridSeriesFeature" type="csml:GridSeriesFeatureType" substitutionGroup="gml:AbstractFeature"/> 
     261        <complexType name="GridSeriesFeaturePropertyType"> 
     262                <sequence> 
     263                        <element ref="csml:GridSeriesFeature"/> 
     264                </sequence> 
     265                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     266        </complexType> 
     267        <!--====================================================================== --> 
     268        <!--====================================================================== --> 
     269        <!--==== CSML PointCollection Feature Type ====--> 
     270        <!--====================================================================== --> 
     271        <complexType name="PointCollectionFeatureType"> 
     272                <complexContent> 
     273                        <extension base="gml:AbstractFeatureType"> 
     274                                <sequence> 
     275                                        <element name="time" type="gml:TimeInstantPropertyType"/> 
     276                                        <element name="value"> 
     277                                                <complexType> 
     278                                                        <sequence> 
     279                                                                <element ref="gml:MultiPointCoverage"/> 
     280                                                        </sequence> 
     281                                                </complexType> 
     282                                        </element> 
     283                                </sequence> 
     284                        </extension> 
     285                </complexContent> 
     286        </complexType> 
     287        <element name="PointCollectionFeature" type="csml:PointCollectionFeatureType" substitutionGroup="gml:AbstractFeature"/> 
     288        <complexType name="PointCollectionFeaturePropertyType"> 
     289                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     290        </complexType> 
     291        <!--====================================================================== --> 
     292        <!--====================================================================== --> 
     293        <!--==== CSML Point Feature Type ====--> 
     294        <!--====================================================================== --> 
     295        <complexType name="PointDomainType"> 
     296                <annotation> 
     297                        <documentation>Restricts a gml:MultiPoint to having a single pointMember.</documentation> 
     298                </annotation> 
     299                <complexContent> 
     300                        <restriction base="gml:MultiPointType"> 
     301                                <sequence> 
     302                                        <group ref="gml:StandardObjectProperties"/> 
     303                                        <element ref="gml:pointMember" minOccurs="0"/> 
     304                                </sequence> 
     305                        </restriction> 
     306                </complexContent> 
     307        </complexType> 
     308        <element name="PointDomain" type="csml:PointDomainType" substitutionGroup="gml:MultiPoint"/> 
     309        <complexType name="PointDomainPropertyType"> 
     310                <sequence> 
     311                        <element ref="csml:PointDomain"/> 
     312                </sequence> 
     313                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     314        </complexType> 
     315        <!--====================================================================== --> 
     316        <complexType name="PointCoverageDomainType"> 
     317                <complexContent> 
     318                        <restriction base="gml:MultiPointDomainType"> 
     319                                <sequence minOccurs="0"> 
     320                                        <element ref="csml:PointDomain"/> 
     321                                </sequence> 
     322                        </restriction> 
     323                </complexContent> 
     324        </complexType> 
     325        <element name="pointDomain" type="csml:PointCoverageDomainType" substitutionGroup="gml:multiPointDomain"/> 
     326        <!--====================================================================== --> 
     327        <complexType name="PointCoverageType"> 
     328                <complexContent> 
     329                        <restriction base="gml:MultiPointCoverageType"> 
     330                                <sequence> 
     331                                        <group ref="gml:StandardObjectProperties"/> 
     332                                        <element ref="gml:boundedBy" minOccurs="0"/> 
     333                                        <element ref="csml:pointDomain"/> 
     334                                        <element ref="gml:rangeSet"/> 
     335                                        <element ref="gml:coverageFunction" minOccurs="0"/> 
     336                                </sequence> 
     337                        </restriction> 
     338                </complexContent> 
     339        </complexType> 
     340        <element name="PointCoverage" type="csml:PointCoverageType" substitutionGroup="gml:MultiPointCoverage"/> 
     341        <complexType name="PointCoveragePropertyType"> 
     342                <sequence> 
     343                        <element ref="csml:PointCoverage"/> 
     344                </sequence> 
     345                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     346        </complexType> 
     347        <!--====================================================================== --> 
     348        <complexType name="PointFeatureType"> 
     349                <complexContent> 
     350                        <extension base="gml:AbstractFeatureType"> 
     351                                <sequence> 
     352                                        <element name="location" type="gml:PointPropertyType"/> 
     353                                        <element name="time" type="gml:TimeInstantPropertyType" minOccurs="0"/> 
     354                                        <element name="value" type="csml:PointCoveragePropertyType"/> 
     355                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
     356                                </sequence> 
     357                        </extension> 
     358                </complexContent> 
     359        </complexType> 
     360        <element name="PointFeature" type="csml:PointFeatureType" substitutionGroup="gml:AbstractFeature"/> 
     361        <complexType name="PointFeaturePropertyType"> 
     362                <sequence> 
     363                        <element ref="csml:PointFeature"/> 
     364                </sequence> 
     365                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     366        </complexType> 
     367        <!--====================================================================== --> 
     368        <!--====================================================================== --> 
     369        <!--==== Alternate Point Feature Type ====--> 
     370        <!--====================================================================== --> 
     371        <complexType name="AlternatePointDomainType"> 
     372                <complexContent> 
     373                        <restriction base="gml:DomainSetType"> 
     374                                <sequence minOccurs="0"> 
     375                                        <element ref="gml:Point"/> 
     376                                </sequence> 
     377                        </restriction> 
     378                </complexContent> 
     379        </complexType> 
     380        <element name="alternatePointDomain" type="csml:AlternatePointDomainType" substitutionGroup="gml:domainSet"/> 
     381        <!--====================================================================== --> 
     382        <complexType name="AlternatePointCoverageType"> 
     383                <complexContent> 
     384                        <restriction base="gml:AbstractDiscreteCoverageType"> 
     385                                <sequence> 
     386                                        <group ref="gml:StandardObjectProperties"/> 
     387                                        <element ref="gml:boundedBy" minOccurs="0"/> 
     388                                        <element ref="gml:location" minOccurs="0"/> 
     389                                        <element ref="csml:alternatePointDomain"/> 
     390                                        <element ref="gml:rangeSet"/> 
     391                                        <element ref="gml:coverageFunction" minOccurs="0"/> 
     392                                </sequence> 
     393                        </restriction> 
     394                </complexContent> 
     395        </complexType> 
     396        <element name="AlternatePointCoverage" type="csml:AlternatePointCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"/> 
     397        <complexType name="AlternatePointCoveragePropertyType"> 
     398                <sequence> 
     399                        <element ref="csml:AlternatePointCoverage"/> 
     400                </sequence> 
     401        </complexType> 
     402        <!--====================================================================== --> 
     403        <complexType name="AlternatePointFeatureType"> 
     404                <complexContent> 
     405                        <extension base="gml:AbstractFeatureType"> 
     406                                <sequence> 
     407                                        <element name="location" type="gml:PointPropertyType"/> 
     408                                        <element name="time" type="gml:TimeInstantPropertyType" minOccurs="0"/> 
     409                                        <element name="value" type="csml:AlternatePointCoveragePropertyType"/> 
     410                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
     411                                </sequence> 
     412                        </extension> 
     413                </complexContent> 
     414        </complexType> 
     415        <element name="AlternatePointFeature" type="csml:AlternatePointFeatureType" substitutionGroup="gml:AbstractFeature"/> 
     416        <complexType name="AlternatePointFeaturePropertyType"> 
     417                <sequence> 
     418                        <element ref="csml:AlternatePointFeature"/> 
     419                </sequence> 
     420                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     421        </complexType> 
     422        <!--====================================================================== --> 
     423        <!--====================================================================== --> 
     424        <!--==== CSML PointSeries Feature Type ====--> 
     425        <!--====================================================================== --> 
     426        <complexType name="TimeSeriesDomainType"> 
     427                <complexContent> 
     428                        <extension base="gml:AbstractTimeComplexType"> 
     429                                <sequence> 
     430                                        <element ref="csml:timePositionList"/> 
     431                                </sequence> 
     432                        </extension> 
     433                </complexContent> 
     434        </complexType> 
     435        <element name="TimeSeriesDomain" type="csml:TimeSeriesDomainType" substitutionGroup="gml:AbstractTimeComplex"/> 
     436        <complexType name="TimeSeriesDomainPropertyType"> 
     437                <sequence> 
     438                        <element ref="csml:TimeSeriesDomain"/> 
     439                </sequence> 
     440                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     441        </complexType> 
     442        <!--====================================================================== --> 
     443        <complexType name="PointSeriesCoverageDomainType"> 
     444                <complexContent> 
     445                        <restriction base="gml:DomainSetType"> 
     446                                <sequence minOccurs="0"> 
     447                                        <element ref="csml:TimeSeriesDomain"/> 
     448                                </sequence> 
     449                        </restriction> 
     450                </complexContent> 
     451        </complexType> 
     452        <element name="pointSeriesDomain" type="csml:PointSeriesCoverageDomainType" substitutionGroup="gml:domainSet"/> 
     453        <!--====================================================================== --> 
     454        <complexType name="PointSeriesCoverageType"> 
     455                <complexContent> 
     456                        <restriction base="gml:AbstractDiscreteCoverageType"> 
     457                                <sequence> 
     458                                        <group ref="gml:StandardObjectProperties"/> 
     459                                        <element ref="gml:boundedBy" minOccurs="0"/> 
     460                                        <element ref="gml:location" minOccurs="0"/> 
     461                                        <element ref="csml:pointSeriesDomain"/> 
     462                                        <element ref="gml:rangeSet"/> 
     463                                        <element ref="gml:coverageFunction" minOccurs="0"/> 
     464                                </sequence> 
     465                        </restriction> 
     466                </complexContent> 
     467        </complexType> 
     468        <element name="PointSeriesCoverage" type="csml:PointSeriesCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"/> 
     469        <complexType name="PointSeriesCoveragePropertyType"> 
     470                <sequence> 
     471                        <element ref="csml:PointSeriesCoverage"/> 
     472                </sequence> 
     473                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     474        </complexType> 
     475        <!--====================================================================== --> 
     476        <complexType name="PointSeriesFeatureType"> 
     477                <complexContent> 
     478                        <extension base="gml:AbstractFeatureType"> 
     479                                <sequence> 
     480                                        <element name="location" type="gml:PointPropertyType" minOccurs="0"/> 
     481                                        <element name="value" type="csml:PointSeriesCoveragePropertyType"/> 
     482                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
     483                                </sequence> 
     484                        </extension> 
     485                </complexContent> 
     486        </complexType> 
     487        <element name="PointSeriesFeature" type="csml:PointSeriesFeatureType" substitutionGroup="gml:AbstractFeature"/> 
     488        <complexType name="PointSeriesFeaturePropertyType"> 
     489                <sequence> 
     490                        <element ref="csml:PointSeriesFeature"/> 
     491                </sequence> 
     492                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
     493        </complexType> 
    206494        <!--====================================================================== --> 
    207495        <!--====================================================================== --> 
Note: See TracChangeset for help on using the changeset viewer.