xmlet / XsdParser

A Parser that parses a XSD file into a Java Structure.
MIT License
80 stars 34 forks source link

Transitive includes not supported #27

Closed lfrancke closed 4 years ago

lfrancke commented 4 years ago

I decided to open a new issue but it is related to this comment https://github.com/xmlet/XsdParser/issues/25#issuecomment-666298738

The problem is that we have a XSD (A) that includes another one (B) which in turn imports a third one (C). Currently when A references something from C it is treated as a UnsolvedReference.

According to this post on StackOverflow it's not entirely clear whether this should be supported or not: https://stackoverflow.com/questions/13735887/use-type-from-xsd-imported-from-import

So this is a feature request: It'd be great if XsdParser could (maybe optionally) process transitive includes.

lcduarte commented 4 years ago

Hello,

I'm also not sure if XSD should support that or not. I'm using Intellij and if I'm using:

A including B B including C

It shows the elements of C in A.

On the other hand if I have:

A importing B B importing C

It only shows elements from B on A.

Apart from that, I've had to improve some stuff to solve https://github.com/xmlet/XsdParser/issues/25 which have also "resolved" this problem.

I've introduced some use cases and tests (Transitive Includes, Transitive Imports) related with this issue, you can take a look if you want.

I've also performed a new version where all of this is available, (1.1.0), give it a shot.

Thanks for using the library and for the feedback!

lfrancke commented 4 years ago

Thank you for implementing this! Unfortunately, I'm not currently able to test this with my original data as I've lost access to it.