[jbosstools-dev] [wtp-dev] Question on XML Validation and oracle xsds
Rob Stryker
rstryker at redhat.com
Mon Mar 7 12:29:43 EST 2016
I really didn't see anything in their replies that indicated a
workaround. The closest he came was indicating that if we removed some
part of the ee5 schema, it'd be invalid.... but that doesn't sound like
a workaround. It sounds like another way to make something invalid.
On 03/03/2016 06:26 PM, Max Rydahl Andersen wrote:
>
> On 2 Mar 2016, at 3:13, Rob Stryker wrote:
>
> There have been three responses on wtp-dev about my xml schema
> question. They seem to indicate the problem is with the xml spec
> in general and the different behaviors in various libraries like
> xerces.
>
> cool - getting the conversation started is great!
>
> Either way, this thread seems to indicate Jesper and Keith Chong
> are the guys to ping when we have further questions.
>
> Did you try what Keith suggested to see if that gave a workaround ?
>
> /max
>
> * Rob
>
> -------- Forwarded Message --------
> Subject: Re: [wtp-dev] Question on XML Validation and oracle xsds
> Date: Thu, 25 Feb 2016 23:43:07 +0100
> From: Jesper Steen Møller jesper at selskabet.org
> <mailto:jesper at selskabet.org>
> Reply-To: General discussion of project-wide or architectural
> issues. wtp-dev at eclipse.org <mailto:wtp-dev at eclipse.org>
> To: General discussion of project-wide or architectural issues.
> wtp-dev at eclipse.org <mailto:wtp-dev at eclipse.org>
>
> Hi Keith and Rob
> (You probably know all this already, but Iâll just add what I know)
>
> I touched some of the validator code a few years back: The number
> of URI resolver interfaces is horrible - one from Platform, one
> from Xerces and one from WTP as I recall), each introducing a
> slight impedance mismatch.
>
> Really, the XML Schema spec is at fault, by being so vague on the
> semantics of namespaces and schema locations, so Xerces can get
> away with their import policies (first import per namespace wins).
> So, the order of imports matter, and this affects the effective
> scope of each import:
>
> Imagine this scenario where you have to âend-userâ schemas
> A.xsd and B.xsd. A relies on namespace C and D, B only on C.
> A.xsd imports A_C.xsd, which in turn also imports A_D.xsd (say,
> they were meant to be used together), and all is great, you can
> validate A.xsd by itself â no errors.
> B.xsd import a different file B_C.xsd, which doesnât contain an
> import for namespace D, but and doesnât need to. B.xsd also
> validates by itself.
> Now we make E.xsd which import A.xsd and B.xsd and uses namespaces
> A,B,C, and D. This should be just fine, and E.xsd can validate on
> its own. The import of B_C.xsd from B.xsd is ignored.
> Now flip the imports of A.xsd and B.xsd. This will cause the
> namespace for C to be imported from B_C.xsd, and E.xsd will no
> longer validate, since it never sees the import of A_D.xsd from
> A_C.xsd. Wonderful, isnât it?
> Now, some short-sighted people even practice splitting namespace
> contents up into separate files, for greater âcomposabilityâ,
> but the major stacks donât support that.
>
> In Eclipse, the XML Catalog support was supposed to be able to
> alleviate this, by allowing the end users manage the schemas
> themselves (Iâd rather not have my IDE be dependent on some
> external server, even if we cache the result). Also, there is an
> extension point available for providing schemas (based on
> namespace OR schema location IIRC) along with plug-ins.
>
> We might be able to improve the error handling and logging side of
> things, but only by tying deeper into the Xerces code.
>
> -Jesper
>
> On 25. feb. 2016, at 19.01, Keith Chong <kchong at ca.ibm.com
> <mailto:kchong at ca.ibm.com>> wrote:
>
> Hi Rob
>
> The XML Schema validator is based on the Xerces validator
> (parser), so I had a discussion with one of the developers.
> I'll try to answer your questions:
>
> 1) The validator resolves components via imports so if the
> import is missing, the schema is invalid. See:
> https://www.w3.org/TR/xmlschema-1/#src-resolve
>
> 2) This is a good question. I suspect that this client schema
> on its own is 'invalid' and is never intended to be used that
> way. (There are no global elements too so you can't create an
> instance document from it). The EE 5 schema includes this
> schema, so it is valid as part of 'the whole'. eg. If you
> remove the include directive from the EE5 schema, then the EE5
> schema is invalid.
>
> 3,4,5) are somewhat related. I'm looking into this.
>
> Regards,
> Keith Chong
> WTP Web Services
>
> <graycol.gif>Rob Stryker ---02/16/2016 12:58:33 PM---Hi All:
> So after running into validation issues for our users' xml
> files using
>
> From: Rob Stryker <rob.stryker at redhat.com
> <mailto:rob.stryker at redhat.com>>
> To: "General discussion of project-wide or architectural
> issues." <wtp-dev at eclipse.org <mailto:wtp-dev at eclipse.org>>
> Date: 02/16/2016 12:58 PM
> Subject: [wtp-dev] Question on XML Validation and oracle xsds
> Sent by: wtp-dev-bounces at eclipse.org
> <mailto:wtp-dev-bounces at eclipse.org>
> wtp-dev-bounces at eclipse.org <mailto:wtp-dev-bounces at eclipse.org>
>
> ------------------------------------------------------------------------
>
> Hi All:
>
> So after running into validation issues for our users' xml
> files using
> our schema for week after week, I finally decided to dig in a
> little and
> see how the JEE distribution handles validation of schema
> without so
> many upstream dependencies. It's clear that if a parent or
> referenced
> schema is invalid, the user will experience obscure validation
> errors
> when developing their own webapps etc.
>
> With that in mind I opened
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=487851
>
> The usecase is that I simply took oracle's
> javaee_web_services_client_1_2.xsd from
> http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/javaee_web_services_client_1_2.xsd
> and tried to put it in a dynamic web project and let the
> validator work
> its magic.
>
> I wouldn't be posting here if it succeeded ;)
>
> The questions are basically:
>
> 1) Why are oracle's xsd's failing to validate? Are they really all
> invalid?
>
> 2) Why has nobody in the world asked Oracle to fix them?
>
> 3) How do we/you, as consumers / extenders of wtp, prevent
> errors in
> oracle's (or other upstream) xsd's from cascading down to our
> respective
> jee / appserver-specific schema when our schema import, extend, or
> reference upstream failing xsds?
>
> 4) Is this an error in source-editing plugins for not mapping
> directly to the most commonly used jee namespaces? Would that
> even fix
> the issue? (It didn't when I tried it but maybe I was doing it
> wrong).
>
> 5) If oracle won't fix their incomplete xsd's, is it
> reasonable for
> source-editing to do it, to make sure each and every one validate
> correctly, and that, by extension, all other schema that
> reference,
> import, or otherwise make use of oracles' schema won't be hit by a
> series of cascading validation errors?
>
> I suppose it's possible our product is simply "doing it
> wrong", but the
> fact that simply placing an official javaee oracle xsd into a
> clean JEE
> Mars eclipse environment fails validation is indicative to me that
> something bigger is going on here.
>
> * Rob Stryker JBoss Tools And Other Cool Stuff
> _______________________________________________ wtp-dev
> mailing list wtp-dev at eclipse.org
> <mailto:wtp-dev at eclipse.org> wtp-dev at eclipse.org
> <mailto:wtp-dev at eclipse.org> To change your delivery
> options, retrieve your password, or unsubscribe from this
> list, visit https://dev.eclipse.org/mailman/listinfo/wtp-dev
>
> ------------------------------------------------------------------------
>
> wtp-dev mailing list
> wtp-dev at eclipse.org <mailto:wtp-dev at eclipse.org>
> wtp-dev at eclipse.org <mailto:wtp-dev at eclipse.org>
> To change your delivery options, retrieve your password, or
> unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>
> ------------------------------------------------------------------------
>
> jbosstools-dev mailing list
> jbosstools-dev at lists.jboss.org <mailto:jbosstools-dev at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>
> /max
> http://about.me/maxandersen
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jbosstools-dev/attachments/20160307/a5202096/attachment-0001.html
More information about the jbosstools-dev
mailing list