[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