A posting from Dare Obasanjo announces the availability of a Microsoft XSD Inference utility. The Beta 1 XSD Inference Tool "is used to create an XML Schema definition language (XSD) schema from an XML instance document. The input must be a well-formed XML instance document, and not an XML fragment. The output is an XML schema that can validate the instance document. When provided with well-formed XML file, the utility generates an XSD that can be used to validate that XML file. You can also refine the XSD generated by providing the tool more well-formed XML files." An interface to the tool is available online, and a binaries may be downloaded for use with Microsoft .Net Frameworks. For the online version, the total size of the file must not exceed 1 MB. Related utilities from the Microsoft 'GotDotNet' XML Tools Team include the Microsoft XML Diff and Patch tool and an XSD Schema Validator.
The XSD Inference Tool online documentation will supply "information on how to: use the XsdInfer class, identify the potential node types and schema structure inferred from the elements, and identify potential types that can be inferred from attribute values; [it is to] show several types of XML input, and the schemas derived from them using the InferSchema method."
- Microsoft XML Diff and Patch tool "lets you identify changes between two XML files. It also lets you patch the original XML file with the changes to get the final XML file. The assembly, source code, documentation and samples for this tool are now available online.
- Microsoft XSD Schema Validator "leverages the top conformant XML Schema Parser released with .Net Frameworks; this tool allows you to validate an XML documents against an W3C XML Schema (XSD) or an XML Data-Reduced (XDR) schema, verify the schemas are valid, or simply check the well-formedness of XML documents." Some Validate/Check XML"ther tools allow for validation by URI.
MURATA Makoto noted on the RELAX-NG list that an upcoming version of Relaxer (www.relaxer.org), developed by Asami-san, supports the option of creating a RELAX schema from a collection of XML instances: relaxer sample1.xml sample2.xml sample3.xml -rng.