For direct access, we want to have a button that will validate the current document. The method is similar to that used in the previous section.
First comes the button:
<input type="button" value="Validate" onclick="BtnValidate()"> |
Then we provide the script that will validate the current document.
// ---------------------------------------------------------------------- // check validity of current document. // if validation fails, show validation result in alert box . function BtnValidate() { // get top-level object of automation interface var objApp = objXMLSpyControl.Application; // get the active document var objDocument = objApp.ActiveDocument; if ( objDocument == null ) alert( "no active document found" ); else { // define as arrays to support their usage as return parameters var errorText = new Array(1); var errorPos = new Array(1); var badData = new Array(1); var valid = objDocument.IsValid(errorText, errorPos, badData); if (! valid) { // compose the error description var text = errorText; // access that XMLData object only if filled in if (badData[0] != null) text += "(" + badData[0].Name + "/" + badData[0].TextValue + ")"; alert("Validation error[" + errorPos + "]: " + text); } else alert("Document is valid"); } } |