Opened 16 years ago

Closed 16 years ago

#2522 closed defect (fixed)

The GetCapabilities response from a SOS 1.0.0 server must followed the URN standard for the href attribute value of the component element (observedProperty element)

Reported by: nsavard Owned by: tomkralidis
Priority: normal Milestone: 5.2 release
Component: SOS Server Version: svn-trunk (development)
Severity: normal Keywords: OGC, CITE, SOS 1.0.0
Cc: assefa, cplist

Description

The href attribute of the component element of an observedProperty must be in the form of urn:ogc:def:objecttype:authority:version:code (OGC 06-023r1) in the response to a GetCapabilities request sent to a SOS 1.0.0 server.

The concerned test is: getCapabilities:core-SOS.GetCapabilities-ResponseContentsValidObservedProperty.1 and the request is: http://dev1.lan.mapgears.com/manwe/cgi-bin/mssos100_ogc_cite?service=sos&version=1.0.0&request=getcapabilities

Change History (9)

comment:1 by tomkralidis, 16 years ago

Cc: assefa cplist added

I checked into this. Here is an example of what this should look like for 1.0.0:

<swe:CompositePhenomenon gml:id="AggregateChemicalPresence" dimension="2">
<gml:name>urn:ogc:def:property:MyOrg:AggregateChemicalPresence</gml:name>
<swe:component xlink:href="urn:ogc:def:property:OGC:ChemicalPresenceInAirDPM"/>
<swe:component xlink:href="urn:ogc:def:property:OGC:ChemicalPresenceInAirMS"/>
</swe:CompositePhenomenon>

Which I believe is a bit off because swe:component/@xlink:href is missing the version from the value.

Note that we currently use sos_[field_name]_componenturl to populate this swe:component/@xlink:href.

I propose we eliminate sos_componenturl and assemble this value with existing and new metadata.

existing LAYER metadata:

  • "sos_[field_name]_alias" "Carbon"

new LAYER metadata:

  • "sos_[field_name]_authority" "acme" (default "OGC-SWE")
  • "sos_[field_name]_version" "8" (default "1")

deleted LAYER metadata:

  • sos_[field_name]_componenturl

Then the code would use these to tack onto "urn:ogc:def:property:"

"urn:ogc:def:property:" . sos_[field_name]_authority . ":" . sos_[field_name]_version . ":" sos_[field_name]_alias

Comments? What do people think about this approach?

in reply to:  1 ; comment:2 by nsavard, 16 years ago

Replying to tomkralidis:

I checked into this. Here is an example of what this should look like for 1.0.0:

<swe:CompositePhenomenon gml:id="AggregateChemicalPresence" dimension="2">
<gml:name>urn:ogc:def:property:MyOrg:AggregateChemicalPresence</gml:name>
<swe:component xlink:href="urn:ogc:def:property:OGC:ChemicalPresenceInAirDPM"/>
<swe:component xlink:href="urn:ogc:def:property:OGC:ChemicalPresenceInAirMS"/>
</swe:CompositePhenomenon>

Which I believe is a bit off because swe:component/@xlink:href is missing the version from the value.

Not really because the version is optional based on the standard document.

Note that we currently use sos_[field_name]_componenturl to populate this swe:component/@xlink:href.

I propose we eliminate sos_componenturl and assemble this value with existing and new metadata.

existing LAYER metadata:

  • "sos_[field_name]_alias" "Carbon"

new LAYER metadata:

  • "sos_[field_name]_authority" "acme" (default "OGC-SWE")
  • "sos_[field_name]_version" "8" (default "1")

deleted LAYER metadata:

  • sos_[field_name]_componenturl

Then the code would use these to tack onto "urn:ogc:def:property:"

"urn:ogc:def:property:" . sos_[field_name]_authority . ":" . sos_[field_name]_version . ":" sos_[field_name]_alias

Comments? What do people think about this approach?

All that makes sense to me. Waiting for others to comment.

in reply to:  2 comment:3 by tomkralidis, 16 years ago

Replying to nsavard:

Replying to tomkralidis:

I checked into this. Here is an example of what this should look like for 1.0.0:

<swe:CompositePhenomenon gml:id="AggregateChemicalPresence" dimension="2">
<gml:name>urn:ogc:def:property:MyOrg:AggregateChemicalPresence</gml:name>
<swe:component xlink:href="urn:ogc:def:property:OGC:ChemicalPresenceInAirDPM"/>
<swe:component xlink:href="urn:ogc:def:property:OGC:ChemicalPresenceInAirMS"/>
</swe:CompositePhenomenon>

Which I believe is a bit off because swe:component/@xlink:href is missing the version from the value.

Not really because the version is optional based on the standard document.

Note that we currently use sos_[field_name]_componenturl to populate this swe:component/@xlink:href.

I propose we eliminate sos_componenturl and assemble this value with existing and new metadata.

existing LAYER metadata:

  • "sos_[field_name]_alias" "Carbon"

new LAYER metadata:

  • "sos_[field_name]_authority" "acme" (default "OGC-SWE")
  • "sos_[field_name]_version" "8" (default "1")

deleted LAYER metadata:

  • sos_[field_name]_componenturl

Then the code would use these to tack onto "urn:ogc:def:property:"

"urn:ogc:def:property:" . sos_[field_name]_authority . ":" . sos_[field_name]_version . ":" sos_[field_name]_alias

Comments? What do people think about this approach?

All that makes sense to me. Waiting for others to comment.

Actually, come to think of it, I think these new metadata may be more applicable at the LAYER level proper as opposed to each individual item, but I'm not sure.

This needs agreement. Do we assume that authority and version metadata are more applicable for ALL items or on a per item basis?

After thinking about this a bit more, I would vote for ALL items. This would result in the following new LAYER metadata (which replaces the proposed new LAYER metadata (existing and deleted LAYER metadata would stay the same) in comment:1 :

new LAYER metadata:

  • "sos_authority" "acme" (default "OGC-SWE")
  • "sos_version" "8" (default "1")

So this would apply to ALL items.

Comments?

comment:4 by tomkralidis, 16 years ago

Actually:

  • sos_observedproperty_authority
  • sos_observedproperty_version

comment:5 by tomkralidis, 16 years ago

Fixed

in reply to:  5 comment:6 by nsavard, 16 years ago

Replying to tomkralidis:

Fixed

Tom: I'll check the fix with the CITE tests.

comment:7 by tomkralidis, 16 years ago

Norm: any update on this one?

comment:8 by nsavard, 16 years ago

This is fixed.

comment:9 by tomkralidis, 16 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.