..
<sourceDataStore>datastore</sourceDataStore>
<sourceType>Email</sourceType>
<targetElement>ct:Email</targetElement>
...
<AttributeMapping>
<targetAttribute>FEATURE_LINK</targetAttribute>
<sourceExpression>
<OCQL>PersonId</OCQL>
</sourceExpression>
</AttributeMapping>
<sourceType>Person</sourceType>
<targetElement>ct:Person</targetElement>
...
<AttributeMapping>
<targetAttribute>Email</targetAttribute>
<sourceExpression>
<OCQL>Id</OCQL>
<linkElement>ct:Email</linkElement>
<linkField>FEATURE_LINK</linkField>
</sourceExpression>
</AttributeMapping>
<AttributeMapping>
<targetAttribute>Web</targetAttribute>
<sourceExpression>
<OCQL>Id</OCQL>
<linkElement>ct:Web</linkElement>
<linkField>FEATURE_LINK</linkField>
</sourceExpression>
</AttributeMapping>
which contains mapping of emails and webs? What would be datastore in this case?
Tomas
From: "Gavin Medley" <med...@unavco.org>
To: "Tomas L." <ges...@email.com>
Cc: "Ben Caradoc-Davies" <b...@transient.nz>, geoserver-users <geoserver-users@lists.sourceforge.net>
Subject: Re: [Geoserver-users] WFS nesting
Hi Tomas,
As Ben alluded to, I think you should first make sure that your goal is GML compliant. That means it follows the Object-Property-Value model (or GML striping rule). That is, GML compliant XML always consists of an Object, which contains Properties. An object may have 0 to n properties “nested” on the same level, like so:
<Object>
<Property1></Property1>
<Property2></Property2>
...
</Object>
Each property must contain at most 1 value in GML. I believe this is where your schema may violate the model. The value of a property may be simple, e.g.
<Property1>foovalue</Property1>
or the value may itself be an object, like:... <Property1> <NestedObjectAsValue> <NestedProperty1></NestedProperty1> ... </NestedObjectAsValue> </Property1> ...
In your context,
<Person>
would be an object and<ContactInfo>
would be a property (potentially one of many). However, that property cannot contain<Emails>
and<Web>
as values (objects) since a property may only have a single value. One way around this could be to skip the<ContactInfo>
property and use<Emails>
and<Web>
as properties of<Person>
. Another would be to create a<contactInfoProperty>
element so that your output would look like:<Person> <!--Object--> <contactInfoProperty> <!--Property--> <ContactInfo> <!--Value (Object)--> <Emails></Emails> <!--Property--> <Web></Web> <!--Property--> </ContactInfo> </contactInfoProperty> </Person>
Any solution will require changing your schema to be GML compliant since that is the root of the problem.
HTH
-Gavin
Hi, thanks for reply. Im so sorry, but i do not understand, what exactly you mean.
How i wrote in my first question, im able to chain features exactly as you described:<featureMember>
<Person>
<email>
<Email>content for email 1</Email>
</email>
<email>
<Email>content for email 2</Email>
</email>
[...]I attached all my files as a ZIP, so you can see the output in "___output.xml".But i would like to "nest" emails/webs to special elements, so the output should be like this:<featureMember>
<Person>
.. person info
<ContactInfo> <- .... one more "nested" element
<Emails> <- .... another "nested" element
<Email>
... email 1
</Email>
</Emails>
<WebPages> <- ... another "nested"" element
<Web>
.... web 1
</Web>
</WebPages>
</ContactInfo>
..
</featureMember>
I suppose it could be set in schema (xsd) files somehow, but i do not know how exactly it should be done.
So i would really appreciate any help.Thanks a lot,
TomasSent: Monday, October 30, 2017 at 9:24 PM
From: "Ben Caradoc-Davies" <b...@transient.nz>
To: "Tomas L." <ges...@email.com>
Cc: "Nuno Oliveira" <nuno.olive...@geo-solutions.it>, geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] WFS nestingTomas,
for app-schema feature chaining to work properly, your XML schema must
conform to the GML object/property model ("striping"). The encoded XML
will be TypeName/propertyName/TypeName/propertyName/... . For example,
with a multivalued "email" property:
<featureMember>
<Person>
<email>
<Email>content for email 1</Email>
</email>
<email>
<Email>content for email 2</Email>
</email>
[...]
This is required by GML. The pattern is as for GeometryPropertyType and
similar. The reason is that this allows naming of properties and
encoding of their concrete type (polymorphism). If your schema follows
these rules, you will be able to use feature chaining to encode
multivalued properties.
Kind regards,
Ben.
On 30/10/17 23:50, Tomas L. wrote:
> Thanks for answer. I know about app schema, im using it. Im able to join
> elements through FEATURE_LINK, but have no luck with nesting of joined elements.
> BR,
> Tomas.
> *Sent:* Monday, October 30, 2017 at 10:54 AM
> *From:* "Nuno Oliveira" <nuno.olive...@geo-solutions.it>
> *To:* geoserver-users@lists.sourceforge.net
> *Subject:* Re: [Geoserver-users] WFS nesting
> Hi,
>
> The only way I know of achieving this in GeoServer is using App-Schema:
> http://docs.geoserver.org/stable/en/user/data/app-schema/index.html
>
> This extension will allow you mappings between your database and a specific GML
> based XML schema.
>
> Note that App-Schema is an extension to GeoServer and needs to be downloaded and
> installed:
> http://geoserver.org/release/stable/
>
> Regards,
>
> Nuno Oliveira
>
> On 10/29/2017 11:36 PM, geseus wrote:
> > files.zip <http://osgeo-org.1560.x6.nabble.com/file/t381976/files.zip>
> >
> > Hi,
> >
> > I'm trying to do wfs with nested elements, but without success.
> > I have 3 postgres tables: person, email, web.
> > I'm able to join them, so output is like:
> >
> > <featureMember>
> > <Person>
> > .. person elements
> >
> > email 1 elements
> >
> >
> > email 2 elements
> >
> > ..
> > <Web>
> > web 1 elements
> > </Web>
> > <Web>
> > web 2 elements
> > </Web>
> >
> > ...
> >
> > But I would like to have web and email info nested like this:
> > <featureMember>
> > <Person>
> > .. person elements
> >
> >>>> HOW TO ADD THIS ELEMENT?
> > <ContactInfo>
> >
> >>>> AND THIS ELEMENT?
> > <Emails>
> >
> > email 1 elements
> >
> >
> > email 2 elements
> >
> > </Emails>
> > <WebPages>
> > <Web>
> > web 1 elements
> > </Web>
> > </WebPages>
> >
> > I do not know, how to create schema files and feature_link for that.
> >
> > And another question, i have three xml files, which contain the same
> > datastores with exactly the same connection to database.
> > Is it possible to define connection/datastore otside and include it somehow
> > (so i have connection defined only once).
> > And is it posible to crypt the password like this?
> > <entry key="passwd">crypt1:SNtjcptw+CrnShpSnfw6hPBxUpGhWbIs</entry>
> > (this doesnt work for me)
> >
> > All files im using are (hopefully) attached as a zip.
> > Thanks a lot for any advice.
> > Tomas
> >
> >
> >
> > --
> > Sent from: http://osgeo-org.1560.x6.nabble.com/GeoServer-User-f3786390.html
> >
> > ------------------------------------------------------------------------------
> > 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
> >
>
> --
> Regards,
> Nuno Oliveira
> ==
> GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for
> more information.
> ==
>
> Nuno Miguel Carvalho Oliveira
> @nmcoliveira
> Software Engineer
>
> GeoSolutions S.A.S.
> Via di Montramito 3/A
> 55054 Massarosa (LU)
> Italy
> phone: +39 0584 962313
> fax: +39 0584 1660272
>
> http://www.geo-solutions.it
> http://twitter.com/geosolutions_it
>
> -------------------------------------------------------
> AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
> Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i
> file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo
> è consentito esclusivamente al destinatario del messaggio, per le finalità
> indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne
> il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di
> procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro
> sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo
> ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce
> comportamento contrario ai principi dettati dal D.Lgs. 196/2003.
>
> The information in this message and/or attachments, is intended solely for the
> attention and use of the named addressee(s) and may be confidential or
> proprietary in nature or covered by the provisions of privacy act (Legislative
> Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in
> accord with its purpose, any disclosure, reproduction, copying, distribution, or
> either dissemination, either whole or partial, is strictly forbidden except
> previous formal approval of the named addressee(s). If you are not the intended
> recipient, please contact immediately the sender by telephone, fax or e-mail and
> delete the information in this message that has been received in error. The
> sender does not give any warranty or accept liability as the content, accuracy
> or completeness of sent messages and accepts no responsibility for changes made
> after they were sent or for other risks which arise as a result of e-mail
> transmission, viruses, etc.
>
>
> ------------------------------------------------------------------------------
> 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
>
>
>
> ------------------------------------------------------------------------------
> 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
>
--
Ben Caradoc-Davies <b...@transient.nz>
Director
Transient Software Limited <http://transient.nz/>
New Zealand
------------------------------------------------------------------------------
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
ct_email.xml
Description: XML document
ct_person.xml
Description: XML document
ct_web.xml
Description: XML document
datastore.xml
Description: XML document
source.xsd
Description: XML document
------------------------------------------------------------------------------ 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