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

Reply via email to