Thanks to Petra Gardea for mentioning our DocFlex / XML XSDDoc tool !
Yes, indeed, using our doc-gen XML Schema, you can combine all of these examples of XML Schemas mentioned in the original question.
Here is a document that I just generated by them:
http://www.filigris.com/pr/stackoverflow.com/questions/8369677/using-xslt-to-transform-multiple-xml-schema-documents/xsddoc/
But I have to say that the provided XSD lists are somewhat incorrect. If you take these texts literally and create the corresponding XSD files from them, nothing will work! (To create a document, I needed to fix them.)
First, the XML markup in some schemas is simply incorrect (for example, in Application.xsd).
Secondly, FooApplication.xsd uses incorrect type references. It defines the elements "FooInput" and "FooOutput" with types "FooClient" and "FooServer" respectively. These types are defined in FooClient.xsd and FooServer.xsd, which are included in FooApplication.xsd. It's great. What is missing here is that these types are defined in the namespace: " http://www.example.com/foo ". But the XML locations in FooApplication.xsd, where they are used, are associated with a different namespace - by default (i.e. No namespace). So, the declaration:
<xsd:element name="FooInput" type="FooClient"/>
not actually referring to type:
{http://www.example.com/foo}:FooClient
but rather to the type:
{no namespace}:FooClient
For proper type references, you need to add another namespace binding in <xsd: schema> in FooApplication.xsd:
<xsd:schema targetNamespace="http://www.example.com/foo" xmlns="http://www.example.com/foo" xmlns:core="http://www.example.com/core" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
or use the optional namespace prefix associated with http://www.example.com/foo . "
So, if you ever tried to document your source schemas directly with our DocFlex / XML XSDDoc tool , it is clear that you would not get the right documentation!
(Our XML doc-gen schema does not automatically validate any XML schema. It simply cannot, because firstly, this is not its work, and secondly, any validation of the schema will require additional processing time, which can annoy most sure that their schemas are correct. In the end, you can always add an extra step to verify the schema in your build file)
Finally , if all of the above does not apply to you - that is, all these errors in the example schemes are inaccuracies of this particular question - then it would be really interesting to hear why our tool is not suitable for your task (besides any commercial, financial or organizational issues).
Petru Gardea suggested that our decision could be "increased." But in what direction, in general, perhaps it will need to be increased? That would be really interesting to hear! Because it is our own concern - how to make our tool to document XML schemas even better.
PS There is another question on this site that is also very related to this topic:
How to convert xsd to human readable documentation?
I provided an answer (although some of them may consider it controversial, especially from the point of view of the main one). Unfortunately, by that time I did not have this account, so I can not directly relate to it.