anchor.diff:  		if (!checkSchedule())
   			return false;
   		// Check the output connector part
  -		if (window.checkOutputSpecification)
  -		{
  -			if (checkOutputSpecification() == false)
  +		if (window.<%=outputCheckMethod%>)
  +		{
  +			if (<%=outputCheckMethod%>() == false)
   				return false;
   		}
  +<%
  +	for (int j = 0; j < transformationCheckMethods.length; j++)
  +	{
  +%>
  +		if (window.<%=transformationCheckMethods[j]%>)
  +		{
  +			if (<%=transformationCheckMethods[j]%>() == false)
  +				return;
  +		}
  +<%
  +	}
  +%>
   		// Check the connector part
  -		if (window.checkSpecification)
  -		{
  -			if (checkSpecification() == false)
  +		if (window.<%=checkMethod%>)
  +		{
  +			if (<%=checkMethod%>() == false)
   				return false;
   		}
   		// Check the transformation parts.  But since each transformation connector needs
  
positive.code: 				document.editjob.description.focus();
  				return;
  			}
  			if (window.checkOutputSpecificationForSave)
  			{
  				if (checkOutputSpecificationForSave() == false)
  					return;
  			}
  			if (window.checkSpecificationForSave)
  			{
  				if (checkSpecificationForSave() == false)
  					return;
  			}
  			// Check the transformation parts.  But since each transformation connector needs
  			// to supply a unique javascript method to call, it's not clear how we do this.
  			// MHL
  			document.editjob.op.value="Save";
  			document.editjob.submit();
  		}
  
negative.code: 	}
  
  
  	// Get the names of the various Javascript methods we'll need to call
  	String outputCheckMethod = "checkOutputSpecification";
  	String outputSaveCheckMethod = "checkOutputSpecificationForSave";
  	String checkMethod = "checkSpecification";
  	String saveCheckMethod = "checkSpecificationForSave";
  	String[] transformationCheckMethods = new String[transformationConnections.length];
  	String[] transformationCheckForSaveMethods = new String[transformationConnections.length];
  	for (int j = 0; j < transformationConnections.length; j++)
  	{
  		transformationCheckMethods[j] = "unknown";
  		transformationCheckForSaveMethods[j] = "unknown";
  	}
  	
  	if (outputConnection != null)
  	{
  		IOutputConnector outputConnector = OutputConnectorFactory.getConnectorNoCheck(outputConnection.getName());
  		if (outputConnector != null)
  		{
  			outputCheckMethod = outputConnector.getFormCheckJavascriptMethodName(1+transformationNames.length);
  			outputSaveCheckMethod = outputConnector.getFormPresaveCheckJavascriptMethodName(1+transformationNames.length);
  		}
  	}
  
  	// MHL for repository connection, if ever added
  
  	for (int j = 0; j < transformationConnections.length; j++)
  	{
  		ITransformationConnector transformationConnector = TransformationConnectorFactory.getConnectorNoCheck(transformationConnections[j].getName());
  		if (transformationConnector != null)
  		{
  			transformationCheckMethods[j] = transformationConnector.getFormCheckJavascriptMethodName(1+j);
  			transformationCheckForSaveMethods[j] = transformationConnector.getFormPresaveCheckJavascriptMethodName(1+j);
  		}
  	}
  
  %>
  
  <?xml version="1.0" encoding="utf-8"?>
  