Hi,
I understand that App Schema enforces GML striping, i.e. “complex types are
never the direct property of another complex type; they are always
contained in a property type to ensure that their type is encoded in a
surrounding element.” However, in GeodesyML, there are complex types (
geo:GnssReceiver) and simple types (geo:dateInserted) *both* nested inside
a geo:gnssReceiver property element like so.
<geo:gnssReceiver>
<geo:GnssReceiver gml:id="GnssReceiver.87bff11d-a3bc-4e84-b7bc-5175f824f0f5">
<geo:notes>Receiver 1</geo:notes>
<geo:manufacturerSerialNumber>3213</geo:manufacturerSerialNumber>
<geo:igsModelCode
codeList="http://xml.gov.au/icsm/geodesyml/codelists/antenna-receiver-codelists.xml#GeodesyML_GNSSReceiverTypeCode"
codeListValue="ASHTECH Z-XII3"
codeSpace="https://igscb.jpl.nasa.gov/igscb/station/general/rcvr_ant.tab">ASHTECH
Z-XII3</geo:igsModelCode>
<geo:satelliteSystem
codeSpace="eGeodesy/satelliteSystem">GPS</geo:satelliteSystem>
<geo:firmwareVersion>1Y05-1D04</geo:firmwareVersion>
<geo:elevationCutoffSetting
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<geo:dateInstalled>1996-01-01T00:00:00.000Z</geo:dateInstalled>
<geo:dateRemoved>1998-09-17T00:00:00.000Z</geo:dateRemoved>
<geo:temperatureStabilization
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</geo:GnssReceiver>
<geo:dateInserted>1996-01-01T00:00:00.000Z</geo:dateInserted>
</geo:gnssReceiver>
I have a feature chained element such that I map geo:GnssReceiver type into
the geo:gnssReceiver property but I cannot figure out how to get
geo:dateInserted to appear in each (of *many*) geo:gnssReceiver elements. I
tried referencing the XPath and simply adding the AttributeMapping after my
GnssReceiver feature chain element (as below) but dateInserted only appears
on *one* instance of gnssReceiver.
...
<AttributeMapping>
<targetAttribute>geo:gnssReceiver</targetAttribute>
<sourceExpression>
<OCQL>fourid</OCQL>
<linkElement>geo:GnssReceiver</linkElement>
<linkField>FEATURE_LINK[1]</linkField>
</sourceExpression>
<isMultiple>true</isMultiple>
<encodeIfEmpty>false</encodeIfEmpty>
</AttributeMapping>
<AttributeMapping>
<targetAttribute>geo:gnssReceiver/geo:dateInserted</targetAttribute>
<sourceExpression>
<OCQL></OCQL>
</sourceExpression>
<encodeIfEmpty>true</encodeIfEmpty>
<isMultiple>true</isMultiple>
</AttributeMapping>
...
Does anyone have a suggestion on how to achieve this or am I missing
something obvious?
Regards,
Gavin
--
Gavin Medley
Software Engineer, UNAVCO
6350 Nautilus Drive
Boulder, CO 80301-5394
Mobile: 505-819-1270
med...@unavco.org
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
Please make sure you read the following two resources before posting to this
list:
- Earning your support instead of buying it, but Ian Turton:
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines:
http://geoserver.org/comm/userlist-guidelines.html
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users