Changeset 4316 for cows


Ignore:
Timestamp:
09/10/08 15:18:07 (11 years ago)
Author:
domlowe
Message:

Changes to make capabilities document valid wrt the schema.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cows/trunk/cows/pylons/templates/wfs_capabilities_1_1_0.xml

    r4284 r4316  
    1313                  xmlns:xlink="http://www.w3.org/1999/xlink" 
    1414                  xmlns:ows="http://www.opengis.net/ows" 
    15                   xmlns:gml="http://www.opengis.net/gml" version="1.3.0"> 
    16  
     15                  xmlns:gml="http://www.opengis.net/gml" 
     16                  xmlns:ogc="http://www.opengis.net/ogc"  
     17                  xmlns:csml="http://ndg.nerc.ac.uk/csml" version="1.1.0"> 
     18  <!--! TODO: declare csml namespace on the fly --> 
     19         
    1720  <!--! ====================================================================== --> 
    1821  <!--! 
     
    4548                <ows:Keywords> 
    4649                        <ows:Keyword py:for="kw in ds.keywords" py:content="kw"/>                        
    47                 </ows:Keywords> 
     50                </ows:Keywords>          
     51                <DefaultSRS>WGS:84</DefaultSRS> 
    4852                <OutputFormats> 
    4953                        <Format py:for="format in ds.outputformats" py:content="format"/> 
    50                 </OutputFormats>                         
    51                 <DefaultSRS>WGS:84</DefaultSRS> 
    52                 <CRS py:for="crs in ds.CRSs" py:content="crs"/> 
     54                </OutputFormats>         
    5355                <?python exBBox = ds.wgs84BoundingBoxes[0]?> 
    5456                <ows:WGS84BoundingBox> 
     
    6163 
    6264  <ows:ServiceIdentification py:with="sm=c.capabilities; si=c.capabilities.serviceIdentification"> 
    63     <ows:Name>BADC WFS</ows:Name> 
    6465    <ows:Title py:content="si.titles[0]"/> 
    6566    <ows:Abstract py:if="len(si.abstracts)>0" py:content="si.abstracts[0]"/> 
    66     <ows:Keywords> 
     67    <ows:Keywords py:if="len(si.keywords)>0"> 
    6768      <ows:Keyword py:for="kw in si.keywords" 
    6869               py:content="kw"/> 
    6970    </ows:Keywords> 
    7071    <!--! <OnlineResource xlink:type="simple" xlink:href="${h.url_for(qualified=True, action='index')}?"/> --> 
    71      
    72     <ows:ServiceProvider py:if="sm.serviceProvider is not None" 
    73                         py:with="rp=sm.serviceProvider.serviceContact"> 
    74       <ows:ProviderName py:content="sm.serviceProvider.providerName"/> 
    75       <ows:ServiceContact> 
     72    <ows:ServiceType>OGC:WFS</ows:ServiceType> 
     73        <ows:ServiceTypeVersion>1.1.0</ows:ServiceTypeVersion> 
     74    <ows:Fees py:content="si.fees"/> 
     75    <ows:AccessConstraints py:content="si.accessConstraints"/> 
     76  </ows:ServiceIdentification> 
     77  <ows:ServiceProvider py:with="sm=c.capabilities; rp=sm.serviceProvider.serviceContact"> 
     78    <ows:ProviderName py:content="sm.serviceProvider.providerName"/> 
     79    <ows:ServiceContact> 
    7680                <ows:IndividualName py:if="rp is not None" py:content="rp.individualName"/> 
    7781                <ows:PositionName py:content="rp.positionName"/> 
    7882                <py:with vars="cn=rp.contactInfo" py:if="cn is not None"> 
    7983                <ows:ContactInfo py:if="cn.phone is not None"> 
    80                         <ows:Voice py:content="cn.phone.voice"/> 
    81                         <ows:Facsimile py:content="cn.phone.facsimile"/>         
     84                        <ows:Phone> 
     85                                <ows:Voice py:content="cn.phone.voice"/> 
     86                                <ows:Facsimile py:content="cn.phone.facsimile"/> 
     87                        </ows:Phone> 
     88                        <ows:Address py:if="cn.address is not None"> 
     89                                  <ows:DeliveryPoint><py:for each="d in cn.address.deliveryPoints">${d}</py:for> 
     90                                  </ows:DeliveryPoint> 
     91                                  <ows:City py:content="cn.address.city"/> 
     92                                  <ows:AdministrativeArea py:content="cn.address.administrativeArea"/> 
     93                                  <ows:PostalCode py:content="cn.address.postalCode"/> 
     94                                  <ows:Country py:content="cn.address.country"/> 
     95                                  <ows:ElectronicMailAddress py:content="cn.address.electronicMailAddress"/>                                                       
     96                        </ows:Address>   
    8297                </ows:ContactInfo> 
    83                 <ows:Address py:if="cn.address is not None"> 
    84                         <ows:DeliveryPoint><py:for each="d in cn.address.deliveryPoints">${d}</py:for> 
    85                         </ows:DeliveryPoint> 
    86                         <ows:City py:content="cn.address.city"/> 
    87                         <ows:AdministrativeArea py:content="cn.address.administrativeArea"/> 
    88                         <ows:PostalCode py:content="cn.address.postalCode"/> 
    89                         <ows:Country py:content="cn.address.country"/> 
    90                         <ows:ElectronicMailAddress py:content="cn.address.electronicMailAddress"/> 
    91                 </ows:Address> 
    92         </py:with>       
    93       </ows:ServiceContact> 
    94     </ows:ServiceProvider> 
    95     <ows:Fees py:content="si.fees"/> 
    96     <ows:AccessConstraints py:content="si.accessConstraints"/> 
    97   </ows:ServiceIdentification> 
     98                </py:with>       
     99    </ows:ServiceContact> 
     100  </ows:ServiceProvider>         
     101         
    98102  <!--! These fields are represented in ows_common as service constraints --> 
    99103   
     
    104108        eops = [x for x in om.operationDict.keys() if x not in ops] 
    105109      ?> 
    106       <ows:OperationsMetadata> 
    107110      <py:for each="opName in ops" py:if="opName in om.operationDict.keys()"> 
    108111          <ows:Operation name="${opName}"> 
     
    113116                </ows:DCP> 
    114117          </ows:Operation> 
    115       </py:for> 
    116       </ows:OperationsMetadata>  
    117       <_ExtendedCapabilities>       
     118      </py:for>  
     119      <ows:ExtendedCapabilities>       
    118120      <Request> 
    119121        <py:for each="opName in eops"> 
     
    128130        </py:for> 
    129131      </Request> 
    130       </_ExtendedCapabilities> 
     132      </ows:ExtendedCapabilities> 
    131133    </py:if> 
    132134    </ows:OperationsMetadata> 
     
    138140    </FeatureTypeList>  
    139141 
     142        <ogc:Filter_Capabilities> 
     143                 
     144        </ogc:Filter_Capabilities> 
     145         
    140146</WFS_Capabilities> 
Note: See TracChangeset for help on using the changeset viewer.