content: /*
   *  Licensed to the Apache Software Foundation (ASF) under one or more
   *  contributor license agreements.  See the NOTICE file distributed with
   *  this work for additional information regarding copyright ownership.
   *  The ASF licenses this file to You under the Apache License, Version 2.0
   *  (the "License"); you may not use this file except in compliance with
   *  the License.  You may obtain a copy of the License at
   *
   *      https://www.apache.org/licenses/LICENSE-2.0
   *
   *  Unless required by applicable law or agreed to in writing, software
   *  distributed under the License is distributed on an "AS IS" BASIS,
   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *  See the License for the specific language governing permissions and
   *  limitations under the License.
   *
   */
  package org.apache.tools.ant.taskdefs.optional.junit;
  
  /**
   * <p>Interface groups XML constants.
   * Interface that groups all constants used throughout the <code>XML</code>
   * documents that are generated by the <code>XMLJUnitResultFormatter</code>.
   * </p>
   * As of now the DTD is:
   * <pre>
   * &lt;!ELEMENT testsuites (testsuite*)&gt;
   *
   * &lt;!ELEMENT testsuite (properties, testcase*,
   *                     failure?, error?,
   *                     system-out?, system-err?)&gt;
   * &lt;!ATTLIST testsuite name      CDATA #REQUIRED&gt;
   * &lt;!ATTLIST testsuite tests     CDATA #REQUIRED&gt;
   * &lt;!ATTLIST testsuite failures  CDATA #REQUIRED&gt;
   * &lt;!ATTLIST testsuite errors    CDATA #REQUIRED&gt;
   * &lt;!ATTLIST testsuite time      CDATA #REQUIRED&gt;
   * &lt;!ATTLIST testsuite package   CDATA #IMPLIED&gt;
   * &lt;!ATTLIST testsuite id        CDATA #IMPLIED&gt;
   *
   *
   * &lt;!ELEMENT properties (property*)&gt;
   *
   * &lt;!ELEMENT property EMPTY&gt;
   *   &lt;!ATTLIST property name  CDATA #REQUIRED&gt;
   *   &lt;!ATTLIST property value CDATA #REQUIRED&gt;
   *
   * &lt;!ELEMENT testcase (failure?, error?)&gt;
   *   &lt;!ATTLIST testcase name       CDATA #REQUIRED&gt;
   *   &lt;!ATTLIST testcase classname  CDATA #IMPLIED&gt;
   *   &lt;!ATTLIST testcase time       CDATA #REQUIRED&gt;
   *
   * &lt;!ELEMENT failure (#PCDATA)&gt;
   *  &lt;!ATTLIST failure message CDATA #IMPLIED&gt;
   *  &lt;!ATTLIST failure type    CDATA #REQUIRED&gt;
   *
   * &lt;!ELEMENT error (#PCDATA)&gt;
   *   &lt;!ATTLIST error message CDATA #IMPLIED&gt;
   *   &lt;!ATTLIST error type    CDATA #REQUIRED&gt;
   *
   * &lt;!ELEMENT system-err (#PCDATA)&gt;
   *
   * &lt;!ELEMENT system-out (#PCDATA)&gt;
   *
   * </pre>
   * @see XMLJUnitResultFormatter
   * @see XMLResultAggregator
   */
  // CheckStyle:InterfaceIsTypeCheck OFF (bc)
  public interface XMLConstants {
      /** the testsuites element for the aggregate document */
      String TESTSUITES = "testsuites";
  
      /** the testsuite element */
      String TESTSUITE = "testsuite";
  
      /** the testcase element */
      String TESTCASE = "testcase";
  
      /** the error element */
      String ERROR = "error";
  
      /** the failure element */
      String FAILURE = "failure";
  
      /** the system-err element */
      String SYSTEM_ERR = "system-err";
  
      /** the system-out element */
      String SYSTEM_OUT = "system-out";
  
      /** package attribute for the aggregate document */
      String ATTR_PACKAGE = "package";
  
      /** name attribute for property, testcase and testsuite elements */
      String ATTR_NAME = "name";
  
      /** time attribute for testcase and testsuite elements */
      String ATTR_TIME = "time";
  
      /** errors attribute for testsuite elements */
      String ATTR_ERRORS = "errors";
  
      /** failures attribute for testsuite elements */
      String ATTR_FAILURES = "failures";
  
      /** tests attribute for testsuite elements */
      String ATTR_TESTS = "tests";
  
      String ATTR_SKIPPED = "skipped";
  
      /** type attribute for failure and error elements */
      String ATTR_TYPE = "type";
  
      /** message attribute for failure elements */
      String ATTR_MESSAGE = "message";
  
      /** the properties element */
      String PROPERTIES = "properties";
  
      /** the property element */
      String PROPERTY = "property";
  
      /** value attribute for property elements */
      String ATTR_VALUE = "value";
  
      /** classname attribute for testcase elements */
      String ATTR_CLASSNAME = "classname";
  
      /** id attribute */
      String ATTR_ID = "id";
  
      /**
       * timestamp of test cases
       */
      String TIMESTAMP = "timestamp";
  
      /**
       * name of host running the tests
       */
      String HOSTNAME = "hostname";
  }
  