I think you are confusing the WSDL generator with your naming conventions and recursive definition in your sample and it is doing its best to generate a recusive definition.
Yes that is correct. But what you are generating WSDL from is not XML schema remember. IS is doing its best to interpret what you are trying to define as XML schema. My best advice and generally accepted best practice is to create your XML Schema and WSDL outside of any tool first. You can then use that to create your stubs in webMethods IS or any other platform.
Having said that however, creating wrappers is pretty straightword and will generally generate the “correct” WSDL. You can reuse the same “document types, complex types in XML schema terms” in multiple element definitions within the same namespace. I believe there are a couple of samples on this site with document wrappers if you do a search on this forum group.
hth
#webMethods#API-Management#soa