Indeed, I do. The XML Instance Generator from Sun will generate XML data for you from an XML schema. It will accept RELAX NG, DTD, TREX, and a subset of W3 XML Schema as its input.
Note that the Trang software, which is free, will let you easily transform back and forth between RELAX NG format, XML Schema format, and other XML validation formats.
You will need to grab the Multi Schema Validator (MSV) from Sun, in order to run it. Note that the MSV tends to give rather nice/helpful error messages when it encounters problems during validation with an XML Schema - as opposed to, say, Apache Xerces 2.
I think Topologi used to have a tool in one of their products that would generate valid XML data from a DTD. I cannot find that at the moment though.
You can perform the reverse function, XML-schema-generation-from-sample-XML-data with Examplotron. It is a very powerful tool.
You can perform rule-based validation (or analysis) of XML data files using Schematron, another free tool.
You might wish to look at these other tools I mention as part of your QA process for validating your generated data or filtering it to suit various specific test-case needs.
One more thing. If you are dissatisfied with the existing free tool(s), you could probably write a custom one on your own. The simplest approach to doing this that I can think of is the following:
1. Get the XML schema you are using converted into RELAX NG format, if it is not already in that format. Just get a copy of it in this format. I am not suggesting you convert your entire system to be based on it. Just use it TACTICALLY for purpose of test generation.
2. Write a program using Ruby (using REXML or Builder), Java (using SAX or DOM), or Javascript (preferably the E4X-aware Javascript 1.6 or later, provided in latest Rhino and Firefox 1.5 and later). The program simply reads the RELAX NG (.rng) file, and outputs legal text/element/attribute nodes, based on it.
3. Alternatively, instead of using a conventional procedural 3GL, as recommended in the previous step, you could use XSLT to generate the data.
Obviously, in step 2 (or 3), when you encounter a choice or oneOrMore element in the RELAX NG file, you will need to randomly pick a branch or count, respectively.
The W3 XML Schema format is too complicated for analytical software using simple programming techniques. That is why I recommend writing any sample XML file generation software to use the RELAX NG (.rng) format, rather than the incredibly more complicated W3 XML Schema (.xsd) file format. Look at both specs, and you will instantly see what I mean.
Java, the Sun Tools, the Ruby language and libraries mentioned, and the RELAX NG and Examplotron software are all free. RELAX NG is an international standard, approved by the highly respected International Standards Organization (ISO).