Dap:Attribute Extension Example 3: Difference between revisions

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
 
(One intermediate revision by the same user not shown)
Line 244: Line 244:


==== Result ====
==== Result ====
The DAP DDX document minus the foreign namespace XML.
<pre>
<pre>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
Line 305: Line 309:
</Dataset>
</Dataset>
</pre>
</pre>
[[Category:Development|DAP3/4]] [[Category:DAP4|DAP3/4]]

Latest revision as of 03:07, 17 January 2009

Example 3

Here we embed an entire wcs:CoverageDescription and wcs:CoverageSummary at the top level of a DDX.


Source XML

<?xml version="1.0" encoding="UTF-8"?>
<Dataset name="200803061600_HFRadar_USEGC_6km_rtv_SIO.nc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xml.opendap.org/ns/DAP2"
xsi:schemaLocation="http://xml.opendap.org/ns/DAP2  http://xml.opendap.org/dap/dap2.xsd">

    <CoverageDescription xmlns="http://www.opengis.net/wcs/1.1" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:owcs="http://www.opengis.net/wcs/1.1/ows" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:schemaLocation="http://www.opengis.net/wcs/1.1  http://schemas.opengis.net/wcs/1.1.0/wcsDescribeCoverage.xsd  http://www.opengis.net/ows/1.1  http://schemas.opengis.net/ows/1.1.0/owsAll.xsd  http://www.opengis.net/wcs/1.1/ows http://schemas.opengis.net/wcs/1.1.0/owsDataIdentification.xsd http://www.opengis.net/gml/3.2  http://schemas.opengis.net/gml/3.2.1/gml.xsd">
        <ows:Title>Near-Real Time Surface Ocean Velocity</ows:Title>
        <ows:Abstract>CoverageDescription generated by OPeNDAP WCS UseCase 2.0</ows:Abstract>
        <Identifier>coverage/200803061600_HFRadar_USEGC_6km_rtv_SIO.nc</Identifier>
        <Domain>
            <SpatialDomain>
                <ows:BoundingBox crs="urn:ogc:def:crs:EPSG::4326">
                    <ows:LowerCorner>-97.8839 21.736</ows:LowerCorner>
                    <ows:UpperCorner>-57.2312 46.4944</ows:UpperCorner>
                </ows:BoundingBox>
            </SpatialDomain>
            <TemporalDomain>
                <gml:timePosition>2008-03-27T16:00:00.000Z</gml:timePosition>
            </TemporalDomain>
        </Domain>
        <Range>
            <Field>
                <ows:Title>surface_eastward_sea_water_velocity</ows:Title>
                <ows:Abstract>Eastward component of a 2D sea surface velocity vector.</ows:Abstract>
                <Identifier>u</Identifier>
                <Definition>
                    <ows:AnyValue/>
                </Definition>
                <NullValue>-32768</NullValue>
                <owcs:InterpolationMethods>
                    <owcs:DefaultMethod>nearest</owcs:DefaultMethod>
                </owcs:InterpolationMethods>
            </Field>
        </Range>
        <SupportedCRS>urn:ogc:def:crs:EPSG::4326</SupportedCRS>
        <SupportedFormat>netcdf-cf1.0</SupportedFormat>
        <SupportedFormat>dap2.0</SupportedFormat>
    </CoverageDescription>

    <CoverageSummary xmlns="http://www.opengis.net/wcs/1.1" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:owcs="http://www.opengis.net/wcs/1.1/ows" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:schemaLocation="http://www.opengis.net/wcs/1.1  http://schemas.opengis.net/wcs/1.1.0/wcsDescribeCoverage.xsd  http://www.opengis.net/ows/1.1  http://schemas.opengis.net/ows/1.1.0/owsAll.xsd  http://www.opengis.net/wcs/1.1/ows http://schemas.opengis.net/wcs/1.1.0/owsDataIdentification.xsd http://www.opengis.net/gml/3.2  http://schemas.opengis.net/gml/3.2.1/gml.xsd">
       <ows:Title>6km HF Radar data</ows:Title>
       <ows:Abstract>A test dataset for use developing WCS services.</ows:Abstract>
       <ows:Metadata xlink:href="http://ndp.opendap:8080/opendap/coverage/200803061600_HFRadar_USEGC_6km_rtv_SIO.nc.das"/>
       <ows:WGS84BoundingBox>
          <ows:LowerCorner>-97.8839 21.736</ows:LowerCorner>
          <ows:UpperCorner>-57.2312 46.4944</ows:UpperCorner>
       </ows:WGS84BoundingBox>
       <Identifier>coverage/200803061600_HFRadar_USEGC_6km_rtv_SIO.nc</Identifier>
    </CoverageSummary>


    <Attribute name="NC_GLOBAL" type="Container">
        <Attribute name="title" type="String">
            <value>Near-Real Time Surface Ocean Velocity</value>
        </Attribute>
        <Attribute name="institution" type="String">
            <value>Scripps Institution of Oceanography</value>
        </Attribute>
        <Attribute name="source" type="String">
            <value>Surface Ocean HF-Radar</value>
        </Attribute>
        <Attribute name="history" type="String">
            <value>12-Mar-2008 22:26:19:  NetCDF file created</value>
        </Attribute>
        <Attribute name="references" type="String">
            <value>Terrill, E. et al., 2006. Data Management and Real-time\\012Distribution in the HF-Radar National Network. Proceedings\\012of the MTS/IEEE Oceans 2006 Conference, Boston MA,\\012September 2006.</value>
        </Attribute>
    </Attribute>

    <Grid name="u">
        <Attribute name="standard_name" type="String">
            <value>surface_eastward_sea_water_velocity</value>
        </Attribute>
        <Attribute name="units" type="String">
            <value>m s-1</value>
        </Attribute>
        <Attribute name="_FillValue" type="Int16">
            <value>-32768</value>
        </Attribute>
        <Attribute name="scale_factor" type="Float32">
            <value>0.009999999776</value>
        </Attribute>
        <Attribute name="ancillary_variables" type="String">
            <value>DOPx</value>
        </Attribute>
        <Array name="u">
            <Int16/>
            <dimension name="time" size="1"/>
            <dimension name="lat" size="460"/>
            <dimension name="lon" size="701"/>
        </Array>
        <Map name="time">
            <Int32/>
            <dimension name="time" size="1"/>
        </Map>
        <Map name="lat">
            <Float32/>
            <dimension name="lat" size="460"/>
        </Map>
        <Map name="lon">
            <Float32/>
            <dimension name="lon" size="701"/>
        </Map>
    </Grid>

    <dataBLOB href=""/>
</Dataset>



Namespace Blocking Transform

Returns all elements NOT in the DAP2 namespace. Or in other words, discard elements in the DAP2 namespace:

<xsl:stylesheet version="1.0"
               xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
               xmlns:dap="http://xml.opendap.org/ns/DAP2" >
   <xsl:output method='xml' version='1.0' encoding='UTF-8' indent='yes'/>

   <xsl:strip-space elements="*" />

   <xsl:template match="*">
       <xsl:choose>
           <xsl:when test="namespace-uri()!='http://xml.opendap.org/ns/DAP2'">
               <xsl:copy >
                   <xsl:call-template name="textAndattributes" />
                   <xsl:apply-templates />
               </xsl:copy>
           </xsl:when>
           <xsl:otherwise>
               <xsl:apply-templates />
           </xsl:otherwise>
       </xsl:choose>
   </xsl:template>

   <xsl:template  match="@*|text()" />

   <xsl:template name="textAndattributes" ><xsl:copy-of select="text()|@*" /></xsl:template>

</xsl:stylesheet>

Result

And we get back just the CoverageDescription and the CoverageSummary:

<?xml version="1.0" encoding="UTF-8"?>
<CoverageDescription xmlns="http://www.opengis.net/wcs/1.1" xmlns:ows="http://www.opengis.net/ows/1.1"
                     xmlns:owcs="http://www.opengis.net/wcs/1.1/ows"
                     xmlns:gml="http://www.opengis.net/gml/3.2"
                     xmlns:xlink="http://www.w3.org/1999/xlink"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xmlns:schemaLocation="http://www.opengis.net/wcs/1.1  http://schemas.opengis.net/wcs/1.1.0/wcsDescribeCoverage.xsd  http://www.opengis.net/ows/1.1  http://schemas.opengis.net/ows/1.1.0/owsAll.xsd  http://www.opengis.net/wcs/1.1/ows http://schemas.opengis.net/wcs/1.1.0/owsDataIdentification.xsd http://www.opengis.net/gml/3.2  http://schemas.opengis.net/gml/3.2.1/gml.xsd">
   <ows:Title>Near-Real Time Surface Ocean Velocity</ows:Title>
   <ows:Abstract>CoverageDescription generated by OPeNDAP WCS UseCase 2.0</ows:Abstract>
   <Identifier>coverage/200803061600_HFRadar_USEGC_6km_rtv_SIO.nc</Identifier>
   <Domain>
      <SpatialDomain>
         <ows:BoundingBox crs="urn:ogc:def:crs:EPSG::4326">
            <ows:LowerCorner>-97.8839 21.736</ows:LowerCorner>
            <ows:UpperCorner>-57.2312 46.4944</ows:UpperCorner>
         </ows:BoundingBox>
      </SpatialDomain>
      <TemporalDomain>
         <gml:timePosition>2008-03-27T16:00:00.000Z</gml:timePosition>
      </TemporalDomain>
   </Domain>
   <Range>
      <Field>
         <ows:Title>surface_eastward_sea_water_velocity</ows:Title>
         <ows:Abstract>Eastward component of a 2D sea surface velocity vector.</ows:Abstract>
         <Identifier>u</Identifier>
         <Definition>
            <ows:AnyValue/>
         </Definition>
         <NullValue>-32768</NullValue>
         <owcs:InterpolationMethods>
            <owcs:DefaultMethod>nearest</owcs:DefaultMethod>
         </owcs:InterpolationMethods>
      </Field>
   </Range>
   <SupportedCRS>urn:ogc:def:crs:EPSG::4326</SupportedCRS>
   <SupportedFormat>netcdf-cf1.0</SupportedFormat>
   <SupportedFormat>dap2.0</SupportedFormat>
</CoverageDescription>
<CoverageSummary xmlns="http://www.opengis.net/wcs/1.1" xmlns:ows="http://www.opengis.net/ows/1.1"
                 xmlns:owcs="http://www.opengis.net/wcs/1.1/ows"
                 xmlns:gml="http://www.opengis.net/gml/3.2"
                 xmlns:xlink="http://www.w3.org/1999/xlink"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xmlns:schemaLocation="http://www.opengis.net/wcs/1.1  http://schemas.opengis.net/wcs/1.1.0/wcsDescribeCoverage.xsd  http://www.opengis.net/ows/1.1  http://schemas.opengis.net/ows/1.1.0/owsAll.xsd  http://www.opengis.net/wcs/1.1/ows http://schemas.opengis.net/wcs/1.1.0/owsDataIdentification.xsd http://www.opengis.net/gml/3.2  http://schemas.opengis.net/gml/3.2.1/gml.xsd">
   <ows:Title>6km HF Radar data</ows:Title>
   <ows:Abstract>A test dataset for use developing WCS services.</ows:Abstract>
   <ows:Metadata xlink:href="http://ndp.opendap:8080/opendap/coverage/200803061600_HFRadar_USEGC_6km_rtv_SIO.nc.das"/>
   <ows:WGS84BoundingBox>
      <ows:LowerCorner>-97.8839 21.736</ows:LowerCorner>
      <ows:UpperCorner>-57.2312 46.4944</ows:UpperCorner>
   </ows:WGS84BoundingBox>
   <Identifier>coverage/200803061600_HFRadar_USEGC_6km_rtv_SIO.nc</Identifier>
</CoverageSummary>

Namespace Passing Transform

Returns all elements IN the DAP2 namespace:

<xsl:stylesheet version="1.0"
               xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
               xmlns:dap="http://xml.opendap.org/ns/DAP2" >
   <xsl:output method='xml' version='1.0' encoding='UTF-8' indent='yes'/>

   <xsl:strip-space elements="*" />
   
   <xsl:template match="*">
       <xsl:choose>
           <xsl:when test="namespace-uri()='http://xml.opendap.org/ns/DAP2'">
               <xsl:copy >
                   <xsl:call-template name="textAndattributes" />
                   <xsl:apply-templates />
               </xsl:copy>
           </xsl:when>
           <xsl:otherwise>
               <xsl:apply-templates />
           </xsl:otherwise>
       </xsl:choose>
   </xsl:template>

   <xsl:template  match="@*|text()" />

   <xsl:template name="textAndattributes" ><xsl:copy-of select="text()|@*" /></xsl:template>
 
</xsl:stylesheet>

Result

The DAP DDX document minus the foreign namespace XML.


<?xml version="1.0" encoding="UTF-8"?>
<Dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xml.opendap.org/ns/DAP2"
         name="200803061600_HFRadar_USEGC_6km_rtv_SIO.nc"
         xsi:schemaLocation="http://xml.opendap.org/ns/DAP2  http://xml.opendap.org/dap/dap2.xsd">
   <Attribute name="NC_GLOBAL" type="Container">
      <Attribute name="title" type="String">
         <value>Near-Real Time Surface Ocean Velocity</value>
      </Attribute>
      <Attribute name="institution" type="String">
         <value>Scripps Institution of Oceanography</value>
      </Attribute>
      <Attribute name="source" type="String">
         <value>Surface Ocean HF-Radar</value>
      </Attribute>
      <Attribute name="history" type="String">
         <value>12-Mar-2008 22:26:19:  NetCDF file created</value>
      </Attribute>
      <Attribute name="references" type="String">
         <value>Terrill, E. et al., 2006. Data Management and Real-time\\012Distribution in the HF-Radar National Network. Proceedings\\012of the MTS/IEEE Oceans 2006 Conference, Boston MA,\\012September 2006.</value>
      </Attribute>
   </Attribute>
   <Grid name="u">
      <Attribute name="standard_name" type="String">
         <value>surface_eastward_sea_water_velocity</value>
      </Attribute>
      <Attribute name="units" type="String">
         <value>m s-1</value>
      </Attribute>
      <Attribute name="_FillValue" type="Int16">
         <value>-32768</value>
      </Attribute>
      <Attribute name="scale_factor" type="Float32">
         <value>0.009999999776</value>
      </Attribute>
      <Attribute name="ancillary_variables" type="String">
         <value>DOPx</value>
      </Attribute>
      <Array name="u">
         <Int16/>
         <dimension name="time" size="1"/>
         <dimension name="lat" size="460"/>
         <dimension name="lon" size="701"/>
      </Array>
      <Map name="time">
         <Int32/>
         <dimension name="time" size="1"/>
      </Map>
      <Map name="lat">
         <Float32/>
         <dimension name="lat" size="460"/>
      </Map>
      <Map name="lon">
         <Float32/>
         <dimension name="lon" size="701"/>
      </Map>
   </Grid>
   <dataBLOB href=""/>
</Dataset>