
If anyone has an idea to resolve this in a simple manner (ideally "oh yeah fix the root thing by applying this service pack" hehehe) I would be eternally grateful and happily buy beer. I have tried every type of delimiter I can think of to change the ref="blah" to ref="Root:blah" (substitute \ and / and : and a few others for the : in that example) but I still can't use the xsd. When I whack the root node in now all the ref statements fail as they can't see the element definition as they are no longer "blah" but "Root\blah". However now a new vendor has given us a new set of xml files and they use ref= in the xsd. So far so good (but man that feels like a hack).

I resolved this using xml task to do an xslt operation and basically put a node at the beginning and end of the xml file and then modify the xsd to have the extra level. The initial issue was that the SSIS import using xml source did not pick up attributes in the root node.
