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
​

On Tue, Oct 31, 2017 at 4:48 AM, Tomas L. <ges...@email.com> wrote:

> 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,
> Tomas
>
>
> *Sent:* 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 nesting
> Tomas,
>
> 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 <+39%200584%20962313>
> > fax: +39 0584 1660272 <+39%200584%20166%200272>
> >
> > 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
>
>


-- 
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