Altova XMLSpy 2024 Enterprise Edition

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");
  }
}

© 2017-2023 Altova GmbH