Thanks again Stefano, I had only considered trying to modify the public schema 
but as you say that’s not necessary, changing the cached version would do.  
Hmm.. perhaps we will do this for now, with the intention of changing the 
“real” schema eventually.

Cheers
Pete

From: Stefano Costa [mailto:stefano.co...@geo-solutions.it]
Sent: Wednesday, 2 September 2015 6:45 PM
To: Warren, Peter (Mineral Resources, North Ryde) <peter.war...@csiro.au>
Cc: geoserver-users <geoserver-users@lists.sourceforge.net>
Subject: Re: [Geoserver-users] "Any" Elements in App-Schema

Hi Peter,
my apologies, I misinterpreted your first e-mail and didn't realize you had an 
xs:any element in your schema.

I'm afraid you're right: app-schema does not allow adding arbitrary attributes 
to a type, even if the type definition contains an xs:any element. You do need 
a regular element of type xs:anyType to support schema extensions.

I was wondering if you could, as a temporary workaround, modify the 
geosciml-portrayal schema as such:

<complexType name="BoreholeViewType">
     <complexContent>
          <extension base="gml:AbstractFeatureType">
              <sequence>
                        ...
                        <!-- original content -->
                        <!-- any processContents="lax" minOccurs="0" 
maxOccurs="unbounded"/-->
                        <!-- new extension element of type xs:anyType -->
                        <element name="extension" type="anyType" minOccurs="0" 
maxOccurs="unbounded" />
                        ...
              </sequence>
          </extension>
     </complexContent>
</complexType>

And then you could define a mapping like this:

<AttributeMapping>
    <targetAttribute>gsmlp:extension</targetAttribute>
    <targetAttributeNode>gsmlp:ContactViewPropertyType</targetAttributeNode>
</AttributeMapping>
<AttributeMapping>
    
<targetAttribute>gsmlp:extension/gsmlp:ContactView/gsmlp:name</targetAttribute>
    <sourceExpression>
      <OCQL>name</OCQL>
    </sourceExpression>
</AttributeMapping>

I verified and it works. The generated GML would still be schema valid 
according to the original geosciml-portrayal schema and thus you wouldn't lose 
interoperability. The only "drawback" is that you need to deploy your own 
edited copy of the schema along with GeoServer and have your mapping 
configuration point to it, but this should not be an issue, is it?

Hope this helps.

On Wed, Sep 2, 2015 at 6:20 AM, 
<peter.war...@csiro.au<mailto:peter.war...@csiro.au>> wrote:
Stefano,

The Schema is 
http://schemas.geosciml.org/geosciml-portrayal/2.0/geosciml-portrayal.xsd and 
the feature is boreholeview.  All the features in this schema have a “catch 
all” as their last element:

<any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

XML Schemas are not really my speciality but I believe this means you can 
inject any elements you like at this point in your feature.  Basically anything 
that is xml valid is schema valid.

The problem is that geoserver doesn’t seem to be able to deal with the 
ambiguity of a completely open section of the schema.

I have contacted one of the members of the group in charge of the schema and we 
will probably propose a change to an anyType element instead of the current one 
above.

Thanks again Stefano.


Pete


From: Stefano Costa 
[mailto:stefano.co...@geo-solutions.it<mailto:stefano.co...@geo-solutions.it>]
Sent: Tuesday, 1 September 2015 5:54 PM
To: Warren, Peter (Mineral Resources, North Ryde) 
<peter.war...@csiro.au<mailto:peter.war...@csiro.au>>
Cc: geoserver-users 
<geoserver-users@lists.sourceforge.net<mailto:geoserver-users@lists.sourceforge.net>>
Subject: Re: [Geoserver-users] "Any" Elements in App-Schema

Hi Peter,
please see my comments below.

On Tue, Sep 1, 2015 at 8:07 AM, 
<peter.war...@csiro.au<mailto:peter.war...@csiro.au>> wrote:
I have tried the approach that you’re suggesting but my case is slightly 
different.  The example given in the docs targets a tag named om:result, which 
is of type anyType (or some other generic type).
In my case the schema doesn’t define a tag name at all, it just says “any 
elements can go in here”.

As far as I understand, you do need a container element of type xs:anyType to 
be able to add "any elements" to your XML document AND have it validate against 
the schema. If your mapping is trying to produce invalid XML according to the 
schema, for sure GeoServer will have troubles with it...

Could you share at least a relevant portion of your schema, to make sure we're 
on the same page?

Thanks.

--

Best regards,

Stefano Costa



==

GeoServer Professional Services from the experts! Visit

http://goo.gl/it488V for more information.

==

Dott. Stefano Costa

Senior Software Engineer



GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054  Massarosa (LU)

Italy

phone: +39 0584 962313<tel:%2B39%200584%20962313>

fax:     +39 0584 1660272<tel:%2B39%200584%201660272>



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.



------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net<mailto:Geoserver-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/geoserver-users



--

Best regards,

Stefano Costa



==

GeoServer Professional Services from the experts! Visit

http://goo.gl/it488V for more information.

==

Dott. Stefano Costa

Senior Software Engineer



GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054  Massarosa (LU)

Italy

phone: +39 0584 962313<tel:%2B39%200584%20962313>

fax:     +39 0584 1660272<tel:%2B39%200584%201660272>



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.


------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to