This is especially useful during development, to catch typos and the like, even when extra custom-defined properties are allowed.
As such, tv4 implements "ban unknown properties" mode), enabled by a fourth-argument flag: var schema = ; var data1 = [true, false]; var data2 = [true, 123]; alert("data 1: " tv4.validate(data1, schema)); // true alert("data 2: " tv4.validate(data2, schema)); // false alert("data 2 error: " JSON.stringify(tv4.error, null, 4)); tv4Schema(" ); var schema = ; var data1 = [true, false, true]; var data2 = [1, 2, 3]; alert("data 1: " tv4.validate(data1, schema)); // true alert("data 2: " tv4.validate(data2, schema)); // false It will run a build and display one Spec-style report for the and two Dot-style reports for both the plain and minified browser tests (via phantom JS).
I've created a small Java project on github to validate from the command line using the default JRE parser, which is normally Xerces. There is also a C version of Xerces available if you'd rather use that.
The JSON Formatter was created to help with debugging.Our development language is C if that makes any difference, although I don't think it should as we could generate the xml file and then do validation by calling a separate program in the test.After some research, I think the best answer is Xerces, as it implements all of XSD, is cross-platform and widely used. These schemas are listed in the Schemas node of the Biz Talk EDI Application in the Biz Talk Server Administration console.To use the message schemas, you must install them on the hard drive of your server by executing the Microsoft Edi self-extracting file in the \Program Files\Microsoft Biz Talk Server XSD_Schema\EDI folder, and then deploy them in your project in Visual Studio.However, it seems most people on Windows use an XML Editor, such as Notepad (as described in Nate's answer) or XML Notepad 2007 as suggested by Steve C (there are also several commercial editors which I won't mention here).Finally, you'll find different programs will, unfortunately, give different results.When the EDI send pipeline creates a message to send, it uses agreement properties to populate the envelope, and then performs schema validation of the information in the transaction set.After loading the schema, the send pipeline validates the schema against agreement properties (or fallback agreement if no agreement has been designated).If the schema validates, the pipeline validates the transaction set against the schema.Sometimes, it is desirable to flag all unknown properties as an error.