Inspired by an issue on another list (JAXB), I'd like to ask whether
someone here has ever seen or heard about an XSLT replacing all the
@ref by their respective target?
AFAIK, they are just shortcuts, and such a replacement shouldn't make
any difference.  Also, an XSLT would be a simple way of doing this -
or am I missing something?
I think I would first build a "grand schema" document by finding the 
transitive closure of all the includes/imports and expanding the 
document-level defaults such as targetNamespace, blockDefault, 
elementFormDefault etc into the individual components. Then define a key 
on the unique name of the component - concatenation of symbol space, 
target namespace, and local name. Then your transformation can find the 
@ref attributes (and similar, e.g. @type, @itemType), construct the 
composite key, and use the key() function to find the component in this 
"grand schema".
That still leaves you a few problems, however. For example, it simply 
isn't possible in XSD to move a referenced component inline if it is in 
a different target namespace. So perhaps you only want to move element 
and attribute declarations inline if they are in the same namespace - 
perhaps in the same schema document even - in which case it becomes much 
simpler because they all have the same document-level defaults.
Michael Kay
Saxonica
--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--