public function test2()
 {
     print 'Testing all XML/XSD files for well-formedness ' . PHP_EOL;
     foreach ($this->standardExtractionContents->directoryContents->file as $file) {
         $xmlValidationTestProperty = new XMLWellFormedTestProperty(Constants::TEST_XMLTEST_VALIDATION_WELLFORMED);
         $xmlTestWellFormed = new XMLTestWellFormed(Constants::TEST_XMLTEST_VALIDATION_WELLFORMED, $this->directory, $file->filename, $xmlValidationTestProperty);
         $xmlTestWellFormed->runTest();
         $this->testResultsHandler->addResult($xmlValidationTestProperty, Constants::TEST_TYPE_A1);
         print $xmlValidationTestProperty . PHP_EOL;
         $xmlTestWellFormed = null;
     }
     print 'Testing all XML files for validity ' . PHP_EOL;
     foreach ($this->standardExtractionContents->filesToValidate->file as $file) {
         $testProperty = new XMLValidationTestProperty(Constants::TEST_XMLTEST_VALIDATION_VALID);
         $xmlTestValidation = new XMLTestValidation(Constants::TEST_XMLTEST_VALIDATION_VALID, $this->directory, $file->filename, $file->validatedBy, $testProperty);
         $xmlTestValidation->runTest();
         $this->testResultsHandler->addResult($testProperty, Constants::TEST_TYPE_A1);
         print $testProperty . PHP_EOL;
         $xmlTestValidation = null;
     }
 }
    }
    // END if (0 < $nXmlWellFormedError )
    ## END well-formed errors? ##
}
// END IF (true)
### Test validation
if ($bArrCustom[2]) {
    $thisTestNameValidation = 'Validation test';
    $thisDirectory = $strDatasetDir;
    $thisFilename = $filenameXmlReaderIn;
    $thisFilenameValidate = $filenameXmlValidate;
    $thisXMLValidationTestProperty = new XMLValidationTestProperty(Constants::TEST_XMLTEST_VALIDATION_VALID);
    print ' ##############' . PHP_EOL . PHP_EOL;
    $strTemp = implode('/', array($thisDirectory, $thisFilename));
    print $strTemp . PHP_EOL;
    $thisXMLTestValidation = new XMLTestValidation($thisTestNameValidation, $thisDirectory, $thisFilename, $thisFilenameValidate, $thisXMLValidationTestProperty);
    $thisXMLTestValidation->runTest();
    // Log XML Reader in description report
    $strDescription = $thisXMLValidationTestProperty->getDescriptionReport() . PHP_EOL;
    $strLine = '';
    logLog(0, $strDescription, $strLine, 2);
    // Log XML Reader in description
    $strDescription = $thisXMLValidationTestProperty->getDescription() . PHP_EOL;
    $strLine = '';
    logLog(0, $strDescription, $strLine, 2);
    ## validate errors? ##
    $nXmlValidateError = count(libxml_get_errors());
    if (0 < $nXmlValidateError) {
        // Error: XML not valid
        $strDescription = PHP_EOL . '## error: xml file is NOT valid, error count = ' . $nXmlValidateError . ' ##' . PHP_EOL;
        $strLine = $thisDirectory . '/' . $thisFilename;
 public function testA1()
 {
     $this->logger->info('START test A1 : XML files are wellformed and valid');
     try {
         $this->logger->info('  Testing all XML/XSD files for well-formedness');
         foreach ($this->standardExtractionContents->directoryContents->file as $file) {
             $xmlValidationTestProperty = new XMLWellFormedTestProperty(Constants::TEST_XMLTEST_VALIDATION_WELLFORMED);
             $xmlTestWellFormed = new XMLTestWellFormed(Constants::TEST_XMLTEST_VALIDATION_WELLFORMED, $this->directory, $file->filename, $xmlValidationTestProperty);
             $xmlTestWellFormed->runTest();
             if ($xmlValidationTestProperty->getTestResult() == false) {
                 $this->testProperty->setTestResult(false);
             }
             $this->testResultsHandler->addResult($xmlValidationTestProperty, Constants::TEST_TYPE_A1);
             $xmlTestWellFormed = null;
         }
         $this->logger->info('  Testing all XML files for validity');
         foreach ($this->standardExtractionContents->filesToValidate->file as $file) {
             $testProperty = new XMLValidationTestProperty(Constants::TEST_XMLTEST_VALIDATION_VALID);
             $xmlTestValidation = new XMLTestValidation(Constants::TEST_XMLTEST_VALIDATION_VALID, $this->directory, $file->filename, $file->validatedBy, $testProperty);
             $xmlTestValidation->runTest();
             if ($testProperty->getTestResult() == false) {
                 $this->testProperty->setTestResult(false);
             }
             $this->testResultsHandler->addResult($testProperty, Constants::TEST_TYPE_A1);
             $xmlTestValidation = null;
         }
     } catch (Exception $e) {
         $this->logger->error("Error when attempting test A1. The following exception occured " . $e);
     }
     $this->logger->info('END test A1');
     $this->logger->info('');
 }