Dap:Attribute Extension Example 3: Difference between revisions
From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
(→Result) |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 120: | Line 120: | ||
==== Namespace | ==== Namespace Blocking Transform ==== | ||
Returns all elements NOT in the | Returns all elements NOT in the DAP2 namespace. Or in other words, discard elements in the DAP2 namespace: | ||
<xsl:stylesheet version="1.0" | <xsl:stylesheet version="1.0" | ||
Line 144: | Line 144: | ||
</xsl:choose> | </xsl:choose> | ||
</xsl:template> | </xsl:template> | ||
<xsl:template match="@*|text()" /> | <xsl:template match="@*|text()" /> | ||
<xsl:template name="textAndattributes" ><xsl:copy-of select="text()|@*" /></xsl:template> | <xsl:template name="textAndattributes" ><xsl:copy-of select="text()|@*" /></xsl:template> | ||
</xsl:stylesheet> | </xsl:stylesheet> | ||
==== Result ==== | ==== Result ==== | ||
And we get back just the CoverageDescription and the CoverageSummary: | |||
<pre> | <pre> | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
Line 209: | Line 212: | ||
</pre> | </pre> | ||
==== Transform | ==== Namespace Passing Transform ==== | ||
<xsl:stylesheet version="1.0" | |||
Returns all elements IN the DAP2 namespace: | |||
<xsl:stylesheet version="1.0" | |||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
xmlns:dap="http://xml.opendap.org/ns/DAP2" > | xmlns:dap="http://xml.opendap.org/ns/DAP2" > | ||
<xsl:output method='xml' version='1.0' encoding='UTF-8' indent='yes'/> | <xsl:output method='xml' version='1.0' encoding='UTF-8' indent='yes'/> | ||
<xsl:strip-space elements="*" /> | <xsl:strip-space elements="*" /> | ||
<xsl:template match="*"> | <xsl:template match="*"> | ||
<xsl:choose> | <xsl:choose> | ||
<xsl:when test="namespace-uri()='http://xml.opendap.org/ns/DAP2'"> | '''<xsl:when test="namespace-uri()='http://xml.opendap.org/ns/DAP2'">''' | ||
<xsl:copy > | <xsl:copy > | ||
<xsl:call-template name="textAndattributes" /> | <xsl:call-template name="textAndattributes" /> | ||
Line 245: | Line 236: | ||
</xsl:choose> | </xsl:choose> | ||
</xsl:template> | </xsl:template> | ||
<xsl:template match="@*|text()" /> | <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. | |||
<pre> | <pre> | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
Line 318: | 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>