Subject:Off-Topic Question - Looking for an XSD Dependency Graph utility Author:(Deleted User) Date:28 Jun 2007 08:59 AM Originally Posted: 28 Jun 2007 04:15 AM
This is off-topic (not Stylus Studio related), but I hope it's OK and might give me some leads or ideas. And, might be useful for other people lurking here.
I'm looking for a utility that will generate both a well-laid-out dependency graph for XSDs in a schema set, and (even more useful, for my purpose) a utility that will traverse the dependency chain/tree and generate a simple text list (preferably with additional info like include/import/ext, parent-child, etc).
I had a play around with Altova's SchemaAgent (a good product, as far as it goes - with links to other XML Spy stuff).
But it doesn't do text output or reports of the type that I think would be really useful. The "vNext" will have a more sensible graphics format for output, and they say that some of the suggestions I made are being considered, but even at $129 it's a bit of a toy.
Anyway, if anyone here has suggestions about tools that might give dependency lists (or graphs), please let me know.
Ian
[Edited] How did the Subject come out as Office-topic? AAAGH! ]
Subject:Off-Topic Question - Looking for an XSD Dependency Graph utility Author:(Deleted User) Date:28 Jun 2007 09:41 AM
With a careful search, i find that there are some open source projects and commercial products that do this, to varying degrees of conformance with what would be useful to me.
Subject:Off-Topic Question - Looking for an XSD Dependency Graph utility Author:Tony Lavinio Date:28 Jun 2007 09:57 AM
Since XML Schema files are themselves XML, it shouldn't be hard
to write code that traverses the schema tree, just selecting on
xs:import and xs:include and xs:redefine.
Subject:Off-Topic Question - Looking for an XSD Dependency Graph utility Author:(Deleted User) Date:28 Jun 2007 10:21 AM Originally Posted: 28 Jun 2007 10:19 AM
Yes, I wrote something reasonably useful myself, in .NET, a few weeks ago.
The recursion is a fairly standard thing to watch out for, and for a text-only report I can do this.
But there are quite sophisticated algorithms for doing this efficiently (generic), and to render a nice graphic is more difficult. I haven't done that.
You probably don't use (Lutz Roeder's) Reflector, a .NET program for investigating .NET assemblies. There are nice add_ins that 'reverse engineer' .NET prgs to reveal such relationships, including 2 that display this in a graphical form.
It would be nice to reveal the same, for XSD files with a common parentage.
I think there are better utilities available, and I continue to look for them.