You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2005/08/12 17:23:08 UTC

svn commit: r232310 [21/92] - in /beehive/trunk/controls/test: common/ infra/gtlf/ infra/gtlf/xsl/ infra/mantis/ infra/tch/ infra/tch/messages/ infra/tch/runtime/ infra/tch/schema/ perf/ perf/bin/ perf/cases/ perf/ctlsrc/org/apache/beehive/controls/per...

Modified: beehive/trunk/controls/test/tools/tch/deploy/schema/everything-suite.xsd
URL: http://svn.apache.org/viewcvs/beehive/trunk/controls/test/tools/tch/deploy/schema/everything-suite.xsd?rev=232310&r1=232309&r2=232310&view=diff
==============================================================================
--- beehive/trunk/controls/test/tools/tch/deploy/schema/everything-suite.xsd (original)
+++ beehive/trunk/controls/test/tools/tch/deploy/schema/everything-suite.xsd Fri Aug 12 08:12:28 2005
@@ -1,1901 +1,1901 @@
-<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
-	<!-- performance test suite schema -->
-	<xs:include schemaLocation="performance/controls-perf.xsd"/>
-	
-  <xs:complexType name="configuration-dependencyType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute
-          name="file"
-          type="xs:string"
-          use="optional"
-        />
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="jvmargType">
-    <xs:attribute
-      name="value"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="line"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="javatestType">
-    <xs:attribute
-      name="testclass"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="methodnames"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-
-  <xs:complexType name="roctestType">
-    <xs:attribute
-      name="scripts"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="consoleconfig"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="wrconfig"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-
-  <xs:complexType name="webServerType">
-    <xs:attribute
-      name="testclass"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="methodnames"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="webservers"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="webserverstoexclude"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-  
-  <xs:complexType name="tchtestType">
-    <xs:attribute
-      name="propsfile"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="basefile"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="baselogname"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="ant-exec-taskType">
-    <xs:sequence>
-      <xs:any
-        maxOccurs="unbounded"
-        minOccurs="0"
-        processContents="skip"
-      />
-    </xs:sequence>
-    <xs:attribute
-      name="successMessage"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="stfType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute
-          name="file"
-          type="xs:string"
-          use="optional"
-        />
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="processType">
-    <xs:choice>
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="configuration-dependency"
-        type="configuration-dependencyType"
-      />
-    </xs:choice>
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute name="default" use="optional">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="true"/>
-          <xs:enumeration value="false"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:element name="project">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="taskdef"
-          type="taskdefType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="property"
-          type="propertyType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="1"
-          name="target"
-          type="targetType"
-        />
-      </xs:sequence>
-      <xs:attribute
-        name="name"
-        type="xs:string"
-        use="required"
-      />
-      <xs:attribute
-        name="default"
-        type="xs:string"
-        use="optional"
-      />
-    </xs:complexType>
-  </xs:element>
-  <xs:complexType name="propertyType">
-    <xs:attribute name="name" use="optional"/>
-    <xs:attribute name="value" use="optional"/>
-    <xs:attribute name="file" use="optional"/>
-    <xs:attribute name="environment" use="optional"/>
-  </xs:complexType>
-  <xs:element name="property" type="propertyType"/>
-  <xs:complexType name="targetType">
-    <xs:sequence>
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="property"
-        type="propertyType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="custom-task"
-        type="anythingType"
-      />
-      <xs:element name="test-suite" type="test-suiteType"/>
-    </xs:sequence>
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-
-  <xs:complexType name="taskdefType">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element
-        maxOccurs="1"
-        name="classpath"
-        type="classpathType"
-      />
-    </xs:choice>
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="classname"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="resource"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="classpath"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="pathelement"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="file"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-
-  <!-- Leave classpath open since it's the native ant construct -->
-  <xs:complexType name="classpathType">
-    <xs:sequence>
-      <xs:any
-        maxOccurs="unbounded"
-        minOccurs="0"
-        processContents="skip"
-      />
-    </xs:sequence>
-  </xs:complexType>
-
-  <!--  FIXME jbaker: Within a given buildfile, each "name" attribute of a test tag must be
-             unique  -->
-  <xs:complexType name="testType">
-    <xs:sequence>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          minOccurs="0"
-          name="custom-task"
-          type="anythingType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="test-metadata"
-          type="test-metadataType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="process"
-          type="processType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-parameter"
-          type="test-parameterType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="utility"
-          type="utilityType"
-        />
-      </xs:choice>
-      <xs:choice maxOccurs="1">
-        <xs:element
-          maxOccurs="1"
-          name="javatest"
-          type="javatestType"
-        />
-        <xs:element
-          maxOccurs="1"
-          name="roctest"
-          type="roctestType"
-        />
-        <xs:element
-          maxOccurs="1"
-          name="junit"
-          type="javatestType"
-        />
-        <xs:element
-          maxOccurs="1"
-          name="controlsperf"
-          type="controlsPerfType"
-        />
-        <xs:element name="wstest" type="webServerType"/>
-        <xs:element name="tch-diff-test" type="tchtestType"/>
-        <xs:element name="test-vehicle" type="test-vehicleType"/>
-        <xs:element name="http-url-connection" type="http-url-connectionType"/>
-        <xs:element name="servlettask" type="servlettaskType"/>
-        <xs:element name="servletwritabletask" type="servletwritabletaskType"/>
-        <xs:element name="webappstandardtask" type="webappstandardtaskType"/>
-        <xs:element name="cmdline" type="cmdlineType"/>
-        <xs:element name="stf" type="stfType"/>
-        <xs:element name="ant-task" type="ant-exec-taskType"/>
-      </xs:choice>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          minOccurs="0"
-          name="custom-task"
-          type="anythingType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="utility"
-          type="utilityType"
-        />
-      </xs:choice>
-    </xs:sequence>
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="requiresRun"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="requiresSuccess"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="testunit"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="timeoutSeconds"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-
-  <!--  FIXME: it is not possible to require a choice of attributes, so value 
-       and valueProp are made optional. 
-	     In order to fix this, the data model would have to be changed  -->
-
-  <!--  FIXME: For test-parameter tag, make sure that the value/valueProp 
-        attributes, if set, do not start with "$"  -->
-  <xs:complexType name="test-parameterType">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element name="element" type="elementType"/>
-      <xs:element name="value" type="xs:string"/>
-    </xs:choice>
-    <xs:attribute name="name" use="required"/>
-    <xs:attribute
-      name="value"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="valueProp"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="valueprop"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="elementType">
-    <xs:attribute
-      name="valueprop"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="value"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="test-unit-modifierType">
-    <xs:sequence>
-      <xs:element
-        maxOccurs="unbounded"
-        name="test-suite-call"
-        type="test-suite-callType"
-      />
-    </xs:sequence>
-    <xs:attribute name="value" use="required"/>
-  </xs:complexType>
-  <xs:complexType name="testUnitChangeType">
-    <xs:attribute name="value" use="required"/>
-  </xs:complexType>
-  <xs:complexType name="test-sequentialType">
-    <xs:choice maxOccurs="unbounded">
-      <xs:element name="test-unit-modifier" type="test-unit-modifierType"/>
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="test"
-        type="testType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="if"
-        type="ifType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="requires-dependent"
-        type="requiresDependentType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="test-block"
-        type="test-blockType"
-      />
-      <xs:element name="test-parallel" type="test-parallelType"/>
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="test-suite-call"
-        type="test-suite-callType"
-      />
-    </xs:choice>
-  </xs:complexType>
-  <xs:complexType name="test-parallelType">
-    <xs:choice maxOccurs="unbounded">
-      <xs:element name="test-unit-modifier" type="test-unit-modifierType"/>
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="test"
-        type="testType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="if"
-        type="ifType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="custom-task"
-        type="anythingType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="requires-dependent"
-        type="requiresDependentType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="test-block"
-        type="test-blockType"
-      />
-      <xs:element name="test-sequential" type="test-sequentialType"/>
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="test-suite-call"
-        type="test-suite-callType"
-      />
-    </xs:choice>
-  </xs:complexType>
-  <xs:complexType name="test-suite-callType">
-    <xs:choice maxOccurs="unbounded">
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="property"
-        type="propertyType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="test-unit-override"
-        type="testUnitChangeType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="test-unit-modifier"
-        type="testUnitChangeType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="test-name-modifier"
-        type="testUnitChangeType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="append-to-test-unit"
-        type="testUnitChangeType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="append-to-test-name"
-        type="testUnitChangeType"
-      />
-    </xs:choice>
-    <xs:attribute name="antfile" use="optional"/>
-    <xs:attribute name="testfile" use="optional"/>
-    <xs:attribute name="target" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="test-metadataType">
-    <xs:all>
-      <xs:element
-        minOccurs="0"
-        name="usage"
-        type="xs:string"
-      />
-      <xs:element
-        minOccurs="0"
-        name="description"
-        type="xs:string"
-      />
-      <xs:element
-        minOccurs="0"
-        name="testLevel"
-        type="testLevelType"
-      />
-      <!--
-      REMOVED
-      <xs:element
-        minOccurs="0"
-        name="owner"
-        type="ownerType"
-      />
-      -->
-      <xs:element
-        minOccurs="0"
-        name="freq"
-        type="frequencyType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="webapps"
-        type="webappsType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="misc"
-        type="miscType"
-      />
-      <!--
-      REMOVED
-      <xs:element
-        minOccurs="0"
-        name="serverMode"
-        type="serverModeType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="db"
-        type="dbType"
-      />
-      -->
-      <xs:element
-        minOccurs="0"
-        name="status"
-        type="statusType"
-      />
-      <!--
-      REMOVED
-      <xs:element
-        minOccurs="0"
-        name="conversation"
-        type="conversationType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="domain"
-        type="domainType"
-      />
-      
-      <xs:element
-        minOccurs="0"
-        name="scenario"
-        type="scenarioType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="knownFailure"
-        type="knownFailureType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="CRList"
-        type="CRListType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="SSLRestriction"
-        type="SSLRestrictionType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="condition"
-        type="conditionalType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="OSRestriction"
-        type="OSRestrictionType"
-      />
-   
-      <xs:element
-        minOccurs="0"
-        name="os"
-        type="osType"
-      />
-
-      <xs:element
-        minOccurs="0"
-        name="JavaRestriction"
-        type="JavaRestrictionType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="clientTypes"
-        type="clientTypesType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="securityType"
-        type="securityTypeType"
-      />
-      -->
-    </xs:all>
-  </xs:complexType>
-  <xs:complexType name="testLevelType">
-    <xs:attribute name="level" use="optional">
-      <xs:simpleType>
-        <xs:restriction base="xs:integer">
-          <xs:minInclusive value="1"/>
-          <xs:maxInclusive value="4"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="levels" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="knownFailureType">
-    <xs:attribute name="value" use="required">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="false"/>
-          <xs:enumeration value="true"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="scenarioType">
-    <xs:attribute
-      name="ssl"
-      type="xs:boolean"
-      use="optional"
-    />
-    <xs:attribute
-      name="thinclient"
-      type="xs:boolean"
-      use="optional"
-    />
-    <xs:attribute
-      name="thinclientStrict"
-      type="xs:boolean"
-      use="optional"
-    />
-    <xs:attribute
-      name="jdkClient"
-      type="xs:boolean"
-      use="optional"
-    />
-  </xs:complexType>
-
-  <!--  FIXME: not doing full validation on the contents of the "ids" tag 
-	      this would only be possble if we followed the convention for list type, which
-	      is whitespace, not comma, separated items -->
-  <xs:complexType name="CRListType">
-    <xs:attribute
-      name="ids"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-
-  <xs:simpleType name="ownerType">
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <xs:simpleType name="miscType">
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-
-  <!-- all this just to create a list type?-->
-  <!-- how can i make sure there are no duplicates in the enum? -->
-  <xs:simpleType name="frequencyOptions">
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="drt"/>
-      <xs:enumeration value="bvt"/>
-      <xs:enumeration value="daily"/>
-      <xs:enumeration value="weekly"/>
-      <!-- the following values are used for xbean tests -->
-      <xs:enumeration value="checkin"/>
-      <xs:enumeration value="detailed"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="frequencyList">
-    <xs:list itemType="frequencyOptions"/>
-  </xs:simpleType>
-  <xs:simpleType name="frequencyType">
-    <xs:restriction base="frequencyList">
-      <xs:minLength value="0"/>
-      <xs:maxLength value="4"/>
-    </xs:restriction>
-  </xs:simpleType>
-   <!-- end frequency definition -->
-
-  <xs:simpleType name="webappsOptions">
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="controlsWeb"/>
-      <xs:enumeration value="jmsControlWeb"/>
-      <xs:enumeration value="testWeb"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="webappsList">
-    <xs:list itemType="webappsOptions"/>
-  </xs:simpleType>
-  <xs:simpleType name="webappsType">
-    <xs:restriction base="webappsList">
-      <xs:minLength value="0"/>
-      <xs:maxLength value="3"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="serverModeOptions">
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="prod"/>
-      <xs:enumeration value="dev"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="serverModeList">
-    <xs:list itemType="serverModeOptions"/>
-  </xs:simpleType>
-  <xs:simpleType name="serverModeType">
-    <xs:restriction base="serverModeList">
-      <xs:minLength value="0"/>
-      <xs:maxLength value="2"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="dbOptions">
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="all"/>
-      <xs:enumeration value="none"/>
-      <xs:enumeration value="oracle8"/>
-      <xs:enumeration value="oracle9"/>
-      <xs:enumeration value="db2"/>
-      <xs:enumeration value="mssql"/>
-      <xs:enumeration value="pointbase"/>
-      <xs:enumeration value="sybase"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="dbList">
-    <xs:list itemType="dbOptions"/>
-  </xs:simpleType>
-  <xs:simpleType name="dbType">
-    <xs:restriction base="dbList">
-      <xs:minLength value="0"/>
-      <xs:maxLength value="7"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="statusOptions">
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="active"/>
-      <xs:enumeration value="inactive"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="statusList">
-    <xs:list itemType="statusOptions"/>
-  </xs:simpleType>
-  <xs:simpleType name="statusType">
-    <xs:restriction base="statusList">
-      <xs:minLength value="0"/>
-      <xs:maxLength value="2"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="conversationOptions">
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="db"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="conversationList">
-    <xs:list itemType="conversationOptions"/>
-  </xs:simpleType>
-  <xs:simpleType name="conversationType">
-    <xs:restriction base="conversationList">
-      <xs:minLength value="0"/>
-      <xs:maxLength value="1"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!--
-  REMOVED
-  <xs:simpleType name="domainOptions">
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="knexbvt"/>
-      <xs:enumeration value="securitybvt"/>
-      <xs:enumeration value="transecuritybvt"/>
-      <xs:enumeration value="runtime9QADomain"/> 
-      <xs:enumeration value="samplesDomain"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="domainList">
-    <xs:list itemType="domainOptions"/>
-  </xs:simpleType>
-  <xs:simpleType name="domainType">
-    <xs:restriction base="domainList">
-      <xs:minLength value="0"/>
-      <xs:maxLength value="4"/>
-    </xs:restriction>
-  </xs:simpleType>
-  -->
-
-  <xs:simpleType name="osOptions">
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="win"/>
-      <xs:enumeration value="sol"/>
-      <xs:enumeration value="lin"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="osList">
-    <xs:list itemType="osOptions"/>
-  </xs:simpleType>
-  <xs:simpleType name="osType">
-    <xs:restriction base="osList">
-      <xs:minLength value="0"/>
-      <xs:maxLength value="3"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:complexType name="clientTypesType">
-    <xs:attribute
-      name="jdkclient"
-      type="xs:boolean"
-      use="optional"
-    />
-    <xs:attribute
-      name="thinclient"
-      type="xs:boolean"
-      use="optional"
-    />
-    <xs:attribute
-      name="thinclientstrict"
-      type="xs:boolean"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="securityTypeType">
-    <xs:attribute
-      name="security61"
-      type="xs:boolean"
-      use="optional"
-    />
-    <xs:attribute
-      name="security70"
-      type="xs:boolean"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="SSLRestrictionType">
-    <xs:attribute
-      name="value"
-      type="xs:boolean"
-      use="required"
-    />
-  </xs:complexType>
-  <xs:complexType name="OSRestrictionType">
-    <xs:attribute
-      name="names"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="excluded"
-      type="xs:boolean"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="JavaRestrictionType">
-    <xs:attribute
-      name="versions"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="excluded"
-      type="xs:boolean"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="test-vehicleType">
-    <xs:sequence>
-      <xs:element name="javatest" type="javatestType"/>
-    </xs:sequence>
-    <xs:attribute
-      name="type"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="process"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="test-blockType">
-    <xs:sequence>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="process"
-          type="processType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-parameter"
-          type="test-parameterType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="test-metadata"
-          type="test-metadataType"
-        />
-      </xs:choice>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          minOccurs="0"
-          name="test-parallel"
-          type="test-parallelType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="test-sequential"
-          type="test-sequentialType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-unit-modifier"
-          type="test-unit-modifierType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-suite-call"
-          type="test-suite-callType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-block"
-          type="test-blockType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="test"
-          type="testType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="if"
-          type="ifType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="requires-dependent"
-          type="requiresDependentType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="custom-task"
-          type="anythingType"
-        />
-      </xs:choice>
-    </xs:sequence>
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="count"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="requiresRun"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="requiresSuccess"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="independent-test-groupType">
-    <xs:sequence>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="process"
-          type="processType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-parameter"
-          type="test-parameterType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="test-metadata"
-          type="test-metadataType"
-        />
-      </xs:choice>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          minOccurs="0"
-          name="test-parallel"
-          type="test-parallelType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="test-sequential"
-          type="test-sequentialType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-unit-modifier"
-          type="test-unit-modifierType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-suite-call"
-          type="test-suite-callType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-block"
-          type="test-blockType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="independent-test-group"
-          type="independent-test-groupType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="test"
-          type="testType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="if"
-          type="ifType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="requires-dependent"
-          type="requiresDependentType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="custom-task"
-          type="anythingType"
-        />
-      </xs:choice>
-    </xs:sequence>
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="rerunFailedTestOnly"
-      type="xs:boolean"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="utilityType">
-    <xs:sequence>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="arg"
-          type="argType"
-        />
-      </xs:choice>
-    </xs:sequence>
-    <xs:attribute
-      name="classname"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="methodname"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-  <xs:complexType name="argType">
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="value"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-  <xs:complexType name="http-url-connectionType">
-    <xs:choice maxOccurs="unbounded">
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="requestheader"
-        type="requestheaderType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="miscrequestheader"
-        type="miscrequestheaderType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="requestparam"
-        type="requestparamType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="expectedstring"
-        type="expectedstringType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="expectedresponsecode"
-        type="expectedresponsecodeType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="expectedheader"
-        type="expectedheaderType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="authenticate"
-        type="authenticateType"
-      />
-    </xs:choice>
-    <xs:attribute
-      name="target"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="checkmode"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute name="connectionmode" type="xs:string"/>
-    <xs:attribute name="followredirect" type="xs:string"/>
-    <xs:attribute name="sendcookie" type="xs:string"/>
-    <xs:attribute name="secure" type="xs:string"/>
-    <xs:attribute name="sendSSLCookie" type="xs:string"/>
-    <xs:attribute name="protocol" type="xs:string"/>
-    <xs:attribute name="clearcookies" type="xs:string"/>
-  </xs:complexType>
-  <xs:complexType name="servlettaskType">
-    <xs:choice maxOccurs="unbounded">
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="requestheader"
-        type="requestheaderType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="requestparam"
-        type="requestparamType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="authenticate"
-        type="authenticateType"
-      />
-    </xs:choice>
-    <xs:attribute
-      name="target"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="testclass"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="testmethod"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute name="connectionmode" type="xs:string"/>
-    <xs:attribute name="followredirect" type="xs:string"/>
-    <xs:attribute name="sendcookie">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="false"/>
-          <xs:enumeration value="true"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="secure">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="false"/>
-          <xs:enumeration value="true"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="sendSSLCookie">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="false"/>
-          <xs:enumeration value="true"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="protocol" type="xs:string"/>
-    <xs:attribute name="clearcookies">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="false"/>
-          <xs:enumeration value="true"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="servletwritabletaskType">
-    <xs:choice maxOccurs="unbounded">
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="requestheader"
-        type="requestheaderType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="miscrequestheader"
-        type="miscrequestheaderType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="requestparam"
-        type="requestparamType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="expectedstring"
-        type="expectedstringType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="expectedresponsecode"
-        type="xs:integer"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="expectedheader"
-        type="expectedheaderType"
-      />
-      <xs:element
-        minOccurs="0"
-        name="authenticate"
-        type="authenticateType"
-      />
-    </xs:choice>
-    <xs:attribute
-      name="target"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="testclass"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="testmethod"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="checkmode"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute name="connectionmode" type="xs:string"/>
-    <xs:attribute name="followredirect" type="xs:string"/>
-    <xs:attribute name="sendcookie">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="false"/>
-          <xs:enumeration value="true"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="secure">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="false"/>
-          <xs:enumeration value="true"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="sendSSLCookie">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="false"/>
-          <xs:enumeration value="true"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="protocol" type="xs:double"/>
-    <xs:attribute name="clearcookies">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="false"/>
-          <xs:enumeration value="true"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="webappstandardtaskType">
-    <xs:choice maxOccurs="unbounded">
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="1"
-        name="testmethod"
-        type="testmethodType"
-      />
-    </xs:choice>
-    <xs:attribute
-      name="testclass"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-  <xs:complexType name="cmdlineType">
-    <xs:choice maxOccurs="unbounded">
-      <xs:element
-        maxOccurs="1"
-        minOccurs="1"
-        name="cmd"
-        type="cmdType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="cmdtoken"
-        type="cmdtokenType"
-      />
-      <xs:element
-        maxOccurs="unbounded"
-        minOccurs="0"
-        name="enventry"
-        type="enventryType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="expectedexitcode"
-        type="expectedexitcodeType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="expectedoutputstring"
-        type="expectedoutputstringType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="expectederrorstring"
-        type="expectederrorstringType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="expectedoutputerrorstring"
-        type="expectedoutputerrorstringType"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="timeout"
-        type="xs:integer"
-      />
-      <xs:element
-        maxOccurs="1"
-        minOccurs="0"
-        name="workingdir"
-        type="workingdirType"
-      />
-    </xs:choice>
-    <xs:attribute
-      name="checkmode"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="echo"
-      type="xs:boolean"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="cmdType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string"/>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="cmdtokenType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string"/>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="enventryType">
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="value"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-  <xs:complexType name="expectedexitcodeType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string"/>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="expectedoutputstringType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute
-          name="regexp"
-          type="xs:string"
-          use="optional"
-        />
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="expectederrorstringType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute
-          name="regexp"
-          type="xs:string"
-          use="optional"
-        />
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="expectedoutputerrorstringType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute
-          name="regexp"
-          type="xs:string"
-          use="optional"
-        />
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="timeoutType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string"/>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="workingdirType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string"/>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="expectedstringType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute
-          name="regexp"
-          type="xs:string"
-          use="optional"
-        />
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="requestheaderType">
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="value"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-  <xs:complexType name="miscrequestheaderType">
-    <xs:attribute
-      name="value"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-  <xs:complexType name="requestparamType">
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="value"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-  <xs:complexType name="expectedresponsecodeType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string"/>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="expectedheaderType">
-    <xs:attribute
-      name="regexp"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="value"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-  <xs:complexType name="authenticateType">
-    <xs:attribute
-      name="user"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="password"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-  <xs:complexType name="testmethodType">
-    <xs:attribute
-      name="value"
-      type="xs:string"
-      use="required"
-    />
-  </xs:complexType>
-  <xs:complexType name="test-suiteType">
-    <xs:sequence>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="process"
-          type="processType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-parameter"
-          type="test-parameterType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="test-metadata"
-          type="test-metadataType"
-        />
-      </xs:choice>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          minOccurs="0"
-          name="test-parallel"
-          type="test-parallelType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-unit-modifier"
-          type="test-unit-modifierType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-suite-call"
-          type="test-suite-callType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-block"
-          type="test-blockType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="independent-test-group"
-          type="independent-test-groupType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="test"
-          type="testType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="if"
-          type="ifType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="requires-dependent"
-          type="requiresDependentType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="init-hook"
-          type="anythingType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="cleanup-hook"
-          type="anythingType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="custom-task"
-          type="anythingType"
-        />
-      </xs:choice>
-    </xs:sequence>
-    <xs:attribute
-      name="testunit"
-      type="xs:string"
-      use="required"
-    />
-    <xs:attribute
-      name="timeoutSeconds"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType mixed="true" name="anythingType">
-    <xs:sequence>
-      <xs:any
-        maxOccurs="unbounded"
-        minOccurs="0"
-        processContents="skip"
-      />
-    </xs:sequence>
-    <xs:attribute
-      name="name"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="group"
-      type="xs:string"
-      use="optional"
-    />
-    <xs:attribute
-      name="requiredForTest"
-      type="xs:string"
-      use="optional"
-    />
-  </xs:complexType>
-  <xs:complexType name="ifType">
-    <xs:sequence>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="1"
-          name="conditional"
-          type="conditionalType"
-        />
-      </xs:choice>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          minOccurs="0"
-          name="test-parallel"
-          type="test-parallelType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="independent-test-group"
-          type="independent-test-groupType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-unit-modifier"
-          type="test-unit-modifierType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-suite-call"
-          type="test-suite-callType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-block"
-          type="test-blockType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="test"
-          type="testType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="if"
-          type="ifType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="requires-dependent"
-          type="requiresDependentType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="custom-task"
-          type="anythingType"
-        />
-      </xs:choice>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="conditionalType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string"/>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="requiresType">
-    <xs:sequence>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element
-          minOccurs="0"
-          name="test-parallel"
-          type="test-parallelType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-unit-modifier"
-          type="test-unit-modifierType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-suite-call"
-          type="test-suite-callType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          minOccurs="0"
-          name="test-block"
-          type="test-blockType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="test"
-          type="testType"
-        />
-        <xs:element
-          maxOccurs="unbounded"
-          name="if"
-          type="ifType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="custom-task"
-          type="anythingType"
-        />
-        <xs:element
-          minOccurs="0"
-          name="requires-dependent"
-          type="requiresDependentType"
-        />
-      </xs:choice>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="requiresDependentType">
-    <xs:sequence>
-      <xs:choice maxOccurs="1" minOccurs="1">
-        <xs:element
-          maxOccurs="1"
-          minOccurs="1"
-          name="requires"
-          type="requiresType"
-        />
-      </xs:choice>
-      <xs:choice maxOccurs="1" minOccurs="1">
-        <xs:element
-          maxOccurs="1"
-          minOccurs="1"
-          name="dependent"
-          type="requiresType"
-        />
-      </xs:choice>
-    </xs:sequence>
-  </xs:complexType>
-</xs:schema>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+	<!-- performance test suite schema -->
+	<xs:include schemaLocation="performance/controls-perf.xsd"/>
+	
+  <xs:complexType name="configuration-dependencyType">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute
+          name="file"
+          type="xs:string"
+          use="optional"
+        />
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="jvmargType">
+    <xs:attribute
+      name="value"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="line"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="javatestType">
+    <xs:attribute
+      name="testclass"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="methodnames"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+
+  <xs:complexType name="roctestType">
+    <xs:attribute
+      name="scripts"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="consoleconfig"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="wrconfig"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+
+  <xs:complexType name="webServerType">
+    <xs:attribute
+      name="testclass"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="methodnames"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="webservers"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="webserverstoexclude"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+  
+  <xs:complexType name="tchtestType">
+    <xs:attribute
+      name="propsfile"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="basefile"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="baselogname"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="ant-exec-taskType">
+    <xs:sequence>
+      <xs:any
+        maxOccurs="unbounded"
+        minOccurs="0"
+        processContents="skip"
+      />
+    </xs:sequence>
+    <xs:attribute
+      name="successMessage"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="stfType">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute
+          name="file"
+          type="xs:string"
+          use="optional"
+        />
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="processType">
+    <xs:choice>
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="configuration-dependency"
+        type="configuration-dependencyType"
+      />
+    </xs:choice>
+    <xs:attribute
+      name="name"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute name="default" use="optional">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="true"/>
+          <xs:enumeration value="false"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:element name="project">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="taskdef"
+          type="taskdefType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="property"
+          type="propertyType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="1"
+          name="target"
+          type="targetType"
+        />
+      </xs:sequence>
+      <xs:attribute
+        name="name"
+        type="xs:string"
+        use="required"
+      />
+      <xs:attribute
+        name="default"
+        type="xs:string"
+        use="optional"
+      />
+    </xs:complexType>
+  </xs:element>
+  <xs:complexType name="propertyType">
+    <xs:attribute name="name" use="optional"/>
+    <xs:attribute name="value" use="optional"/>
+    <xs:attribute name="file" use="optional"/>
+    <xs:attribute name="environment" use="optional"/>
+  </xs:complexType>
+  <xs:element name="property" type="propertyType"/>
+  <xs:complexType name="targetType">
+    <xs:sequence>
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="property"
+        type="propertyType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="custom-task"
+        type="anythingType"
+      />
+      <xs:element name="test-suite" type="test-suiteType"/>
+    </xs:sequence>
+    <xs:attribute
+      name="name"
+      type="xs:string"
+      use="required"
+    />
+  </xs:complexType>
+
+  <xs:complexType name="taskdefType">
+    <xs:choice maxOccurs="unbounded" minOccurs="0">
+      <xs:element
+        maxOccurs="1"
+        name="classpath"
+        type="classpathType"
+      />
+    </xs:choice>
+    <xs:attribute
+      name="name"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="classname"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="resource"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="classpath"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="pathelement"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="file"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+
+  <!-- Leave classpath open since it's the native ant construct -->
+  <xs:complexType name="classpathType">
+    <xs:sequence>
+      <xs:any
+        maxOccurs="unbounded"
+        minOccurs="0"
+        processContents="skip"
+      />
+    </xs:sequence>
+  </xs:complexType>
+
+  <!--  FIXME jbaker: Within a given buildfile, each "name" attribute of a test tag must be
+             unique  -->
+  <xs:complexType name="testType">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element
+          minOccurs="0"
+          name="custom-task"
+          type="anythingType"
+        />
+        <xs:element
+          minOccurs="0"
+          name="test-metadata"
+          type="test-metadataType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="process"
+          type="processType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="test-parameter"
+          type="test-parameterType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="utility"
+          type="utilityType"
+        />
+      </xs:choice>
+      <xs:choice maxOccurs="1">
+        <xs:element
+          maxOccurs="1"
+          name="javatest"
+          type="javatestType"
+        />
+        <xs:element
+          maxOccurs="1"
+          name="roctest"
+          type="roctestType"
+        />
+        <xs:element
+          maxOccurs="1"
+          name="junit"
+          type="javatestType"
+        />
+        <xs:element
+          maxOccurs="1"
+          name="controlsperf"
+          type="controlsPerfType"
+        />
+        <xs:element name="wstest" type="webServerType"/>
+        <xs:element name="tch-diff-test" type="tchtestType"/>
+        <xs:element name="test-vehicle" type="test-vehicleType"/>
+        <xs:element name="http-url-connection" type="http-url-connectionType"/>
+        <xs:element name="servlettask" type="servlettaskType"/>
+        <xs:element name="servletwritabletask" type="servletwritabletaskType"/>
+        <xs:element name="webappstandardtask" type="webappstandardtaskType"/>
+        <xs:element name="cmdline" type="cmdlineType"/>
+        <xs:element name="stf" type="stfType"/>
+        <xs:element name="ant-task" type="ant-exec-taskType"/>
+      </xs:choice>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element
+          minOccurs="0"
+          name="custom-task"
+          type="anythingType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="utility"
+          type="utilityType"
+        />
+      </xs:choice>
+    </xs:sequence>
+    <xs:attribute
+      name="name"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="requiresRun"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="requiresSuccess"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="testunit"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="timeoutSeconds"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+
+  <!--  FIXME: it is not possible to require a choice of attributes, so value 
+       and valueProp are made optional. 
+	     In order to fix this, the data model would have to be changed  -->
+
+  <!--  FIXME: For test-parameter tag, make sure that the value/valueProp 
+        attributes, if set, do not start with "$"  -->
+  <xs:complexType name="test-parameterType">
+    <xs:choice maxOccurs="unbounded" minOccurs="0">
+      <xs:element name="element" type="elementType"/>
+      <xs:element name="value" type="xs:string"/>
+    </xs:choice>
+    <xs:attribute name="name" use="required"/>
+    <xs:attribute
+      name="value"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="valueProp"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="valueprop"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="elementType">
+    <xs:attribute
+      name="valueprop"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="value"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="test-unit-modifierType">
+    <xs:sequence>
+      <xs:element
+        maxOccurs="unbounded"
+        name="test-suite-call"
+        type="test-suite-callType"
+      />
+    </xs:sequence>
+    <xs:attribute name="value" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="testUnitChangeType">
+    <xs:attribute name="value" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="test-sequentialType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="test-unit-modifier" type="test-unit-modifierType"/>
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="test"
+        type="testType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="if"
+        type="ifType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="requires-dependent"
+        type="requiresDependentType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="test-block"
+        type="test-blockType"
+      />
+      <xs:element name="test-parallel" type="test-parallelType"/>
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="test-suite-call"
+        type="test-suite-callType"
+      />
+    </xs:choice>
+  </xs:complexType>
+  <xs:complexType name="test-parallelType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="test-unit-modifier" type="test-unit-modifierType"/>
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="test"
+        type="testType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="if"
+        type="ifType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="custom-task"
+        type="anythingType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="requires-dependent"
+        type="requiresDependentType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="test-block"
+        type="test-blockType"
+      />
+      <xs:element name="test-sequential" type="test-sequentialType"/>
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="test-suite-call"
+        type="test-suite-callType"
+      />
+    </xs:choice>
+  </xs:complexType>
+  <xs:complexType name="test-suite-callType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="property"
+        type="propertyType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="test-unit-override"
+        type="testUnitChangeType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="test-unit-modifier"
+        type="testUnitChangeType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="test-name-modifier"
+        type="testUnitChangeType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="append-to-test-unit"
+        type="testUnitChangeType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="append-to-test-name"
+        type="testUnitChangeType"
+      />
+    </xs:choice>
+    <xs:attribute name="antfile" use="optional"/>
+    <xs:attribute name="testfile" use="optional"/>
+    <xs:attribute name="target" use="optional"/>
+  </xs:complexType>
+  <xs:complexType name="test-metadataType">
+    <xs:all>
+      <xs:element
+        minOccurs="0"
+        name="usage"
+        type="xs:string"
+      />
+      <xs:element
+        minOccurs="0"
+        name="description"
+        type="xs:string"
+      />
+      <xs:element
+        minOccurs="0"
+        name="testLevel"
+        type="testLevelType"
+      />
+      <!--
+      REMOVED
+      <xs:element
+        minOccurs="0"
+        name="owner"
+        type="ownerType"
+      />
+      -->
+      <xs:element
+        minOccurs="0"
+        name="freq"
+        type="frequencyType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="webapps"
+        type="webappsType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="misc"
+        type="miscType"
+      />
+      <!--
+      REMOVED
+      <xs:element
+        minOccurs="0"
+        name="serverMode"
+        type="serverModeType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="db"
+        type="dbType"
+      />
+      -->
+      <xs:element
+        minOccurs="0"
+        name="status"
+        type="statusType"
+      />
+      <!--
+      REMOVED
+      <xs:element
+        minOccurs="0"
+        name="conversation"
+        type="conversationType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="domain"
+        type="domainType"
+      />
+      
+      <xs:element
+        minOccurs="0"
+        name="scenario"
+        type="scenarioType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="knownFailure"
+        type="knownFailureType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="CRList"
+        type="CRListType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="SSLRestriction"
+        type="SSLRestrictionType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="condition"
+        type="conditionalType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="OSRestriction"
+        type="OSRestrictionType"
+      />
+   
+      <xs:element
+        minOccurs="0"
+        name="os"
+        type="osType"
+      />
+
+      <xs:element
+        minOccurs="0"
+        name="JavaRestriction"
+        type="JavaRestrictionType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="clientTypes"
+        type="clientTypesType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="securityType"
+        type="securityTypeType"
+      />
+      -->
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="testLevelType">
+    <xs:attribute name="level" use="optional">
+      <xs:simpleType>
+        <xs:restriction base="xs:integer">
+          <xs:minInclusive value="1"/>
+          <xs:maxInclusive value="4"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="levels" use="optional"/>
+  </xs:complexType>
+  <xs:complexType name="knownFailureType">
+    <xs:attribute name="value" use="required">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="false"/>
+          <xs:enumeration value="true"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="scenarioType">
+    <xs:attribute
+      name="ssl"
+      type="xs:boolean"
+      use="optional"
+    />
+    <xs:attribute
+      name="thinclient"
+      type="xs:boolean"
+      use="optional"
+    />
+    <xs:attribute
+      name="thinclientStrict"
+      type="xs:boolean"
+      use="optional"
+    />
+    <xs:attribute
+      name="jdkClient"
+      type="xs:boolean"
+      use="optional"
+    />
+  </xs:complexType>
+
+  <!--  FIXME: not doing full validation on the contents of the "ids" tag 
+	      this would only be possble if we followed the convention for list type, which
+	      is whitespace, not comma, separated items -->
+  <xs:complexType name="CRListType">
+    <xs:attribute
+      name="ids"
+      type="xs:string"
+      use="required"
+    />
+  </xs:complexType>
+
+  <xs:simpleType name="ownerType">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+
+  <xs:simpleType name="miscType">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+
+  <!-- all this just to create a list type?-->
+  <!-- how can i make sure there are no duplicates in the enum? -->
+  <xs:simpleType name="frequencyOptions">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="drt"/>
+      <xs:enumeration value="bvt"/>
+      <xs:enumeration value="daily"/>
+      <xs:enumeration value="weekly"/>
+      <!-- the following values are used for xbean tests -->
+      <xs:enumeration value="checkin"/>
+      <xs:enumeration value="detailed"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="frequencyList">
+    <xs:list itemType="frequencyOptions"/>
+  </xs:simpleType>
+  <xs:simpleType name="frequencyType">
+    <xs:restriction base="frequencyList">
+      <xs:minLength value="0"/>
+      <xs:maxLength value="4"/>
+    </xs:restriction>
+  </xs:simpleType>
+   <!-- end frequency definition -->
+
+  <xs:simpleType name="webappsOptions">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="controlsWeb"/>
+      <xs:enumeration value="jmsControlWeb"/>
+      <xs:enumeration value="testWeb"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="webappsList">
+    <xs:list itemType="webappsOptions"/>
+  </xs:simpleType>
+  <xs:simpleType name="webappsType">
+    <xs:restriction base="webappsList">
+      <xs:minLength value="0"/>
+      <xs:maxLength value="3"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="serverModeOptions">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="prod"/>
+      <xs:enumeration value="dev"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="serverModeList">
+    <xs:list itemType="serverModeOptions"/>
+  </xs:simpleType>
+  <xs:simpleType name="serverModeType">
+    <xs:restriction base="serverModeList">
+      <xs:minLength value="0"/>
+      <xs:maxLength value="2"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="dbOptions">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="all"/>
+      <xs:enumeration value="none"/>
+      <xs:enumeration value="oracle8"/>
+      <xs:enumeration value="oracle9"/>
+      <xs:enumeration value="db2"/>
+      <xs:enumeration value="mssql"/>
+      <xs:enumeration value="pointbase"/>
+      <xs:enumeration value="sybase"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="dbList">
+    <xs:list itemType="dbOptions"/>
+  </xs:simpleType>
+  <xs:simpleType name="dbType">
+    <xs:restriction base="dbList">
+      <xs:minLength value="0"/>
+      <xs:maxLength value="7"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="statusOptions">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="active"/>
+      <xs:enumeration value="inactive"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="statusList">
+    <xs:list itemType="statusOptions"/>
+  </xs:simpleType>
+  <xs:simpleType name="statusType">
+    <xs:restriction base="statusList">
+      <xs:minLength value="0"/>
+      <xs:maxLength value="2"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="conversationOptions">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="db"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="conversationList">
+    <xs:list itemType="conversationOptions"/>
+  </xs:simpleType>
+  <xs:simpleType name="conversationType">
+    <xs:restriction base="conversationList">
+      <xs:minLength value="0"/>
+      <xs:maxLength value="1"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <!--
+  REMOVED
+  <xs:simpleType name="domainOptions">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="knexbvt"/>
+      <xs:enumeration value="securitybvt"/>
+      <xs:enumeration value="transecuritybvt"/>
+      <xs:enumeration value="runtime9QADomain"/> 
+      <xs:enumeration value="samplesDomain"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="domainList">
+    <xs:list itemType="domainOptions"/>
+  </xs:simpleType>
+  <xs:simpleType name="domainType">
+    <xs:restriction base="domainList">
+      <xs:minLength value="0"/>
+      <xs:maxLength value="4"/>
+    </xs:restriction>
+  </xs:simpleType>
+  -->
+
+  <xs:simpleType name="osOptions">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="win"/>
+      <xs:enumeration value="sol"/>
+      <xs:enumeration value="lin"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="osList">
+    <xs:list itemType="osOptions"/>
+  </xs:simpleType>
+  <xs:simpleType name="osType">
+    <xs:restriction base="osList">
+      <xs:minLength value="0"/>
+      <xs:maxLength value="3"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:complexType name="clientTypesType">
+    <xs:attribute
+      name="jdkclient"
+      type="xs:boolean"
+      use="optional"
+    />
+    <xs:attribute
+      name="thinclient"
+      type="xs:boolean"
+      use="optional"
+    />
+    <xs:attribute
+      name="thinclientstrict"
+      type="xs:boolean"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="securityTypeType">
+    <xs:attribute
+      name="security61"
+      type="xs:boolean"
+      use="optional"
+    />
+    <xs:attribute
+      name="security70"
+      type="xs:boolean"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="SSLRestrictionType">
+    <xs:attribute
+      name="value"
+      type="xs:boolean"
+      use="required"
+    />
+  </xs:complexType>
+  <xs:complexType name="OSRestrictionType">
+    <xs:attribute
+      name="names"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="excluded"
+      type="xs:boolean"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="JavaRestrictionType">
+    <xs:attribute
+      name="versions"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="excluded"
+      type="xs:boolean"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="test-vehicleType">
+    <xs:sequence>
+      <xs:element name="javatest" type="javatestType"/>
+    </xs:sequence>
+    <xs:attribute
+      name="type"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="name"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="process"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="test-blockType">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="process"
+          type="processType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="test-parameter"
+          type="test-parameterType"
+        />
+        <xs:element
+          minOccurs="0"
+          name="test-metadata"
+          type="test-metadataType"
+        />
+      </xs:choice>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element
+          minOccurs="0"
+          name="test-parallel"
+          type="test-parallelType"
+        />
+        <xs:element
+          minOccurs="0"
+          name="test-sequential"
+          type="test-sequentialType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="test-unit-modifier"
+          type="test-unit-modifierType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="test-suite-call"
+          type="test-suite-callType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="test-block"
+          type="test-blockType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          name="test"
+          type="testType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          name="if"
+          type="ifType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          name="requires-dependent"
+          type="requiresDependentType"
+        />
+        <xs:element
+          minOccurs="0"
+          name="custom-task"
+          type="anythingType"
+        />
+      </xs:choice>
+    </xs:sequence>
+    <xs:attribute
+      name="name"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="count"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="requiresRun"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="requiresSuccess"
+      type="xs:string"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="independent-test-groupType">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="process"
+          type="processType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="test-parameter"
+          type="test-parameterType"
+        />
+        <xs:element
+          minOccurs="0"
+          name="test-metadata"
+          type="test-metadataType"
+        />
+      </xs:choice>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element
+          minOccurs="0"
+          name="test-parallel"
+          type="test-parallelType"
+        />
+        <xs:element
+          minOccurs="0"
+          name="test-sequential"
+          type="test-sequentialType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="test-unit-modifier"
+          type="test-unit-modifierType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="test-suite-call"
+          type="test-suite-callType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="test-block"
+          type="test-blockType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="independent-test-group"
+          type="independent-test-groupType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          name="test"
+          type="testType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          name="if"
+          type="ifType"
+        />
+        <xs:element
+          maxOccurs="unbounded"
+          name="requires-dependent"
+          type="requiresDependentType"
+        />
+        <xs:element
+          minOccurs="0"
+          name="custom-task"
+          type="anythingType"
+        />
+      </xs:choice>
+    </xs:sequence>
+    <xs:attribute
+      name="name"
+      type="xs:string"
+      use="optional"
+    />
+    <xs:attribute
+      name="rerunFailedTestOnly"
+      type="xs:boolean"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="utilityType">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element
+          maxOccurs="unbounded"
+          minOccurs="0"
+          name="arg"
+          type="argType"
+        />
+      </xs:choice>
+    </xs:sequence>
+    <xs:attribute
+      name="classname"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="methodname"
+      type="xs:string"
+      use="required"
+    />
+  </xs:complexType>
+  <xs:complexType name="argType">
+    <xs:attribute
+      name="name"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="value"
+      type="xs:string"
+      use="required"
+    />
+  </xs:complexType>
+  <xs:complexType name="http-url-connectionType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="requestheader"
+        type="requestheaderType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="miscrequestheader"
+        type="miscrequestheaderType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="requestparam"
+        type="requestparamType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="expectedstring"
+        type="expectedstringType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="expectedresponsecode"
+        type="expectedresponsecodeType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="expectedheader"
+        type="expectedheaderType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="authenticate"
+        type="authenticateType"
+      />
+    </xs:choice>
+    <xs:attribute
+      name="target"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="checkmode"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute name="connectionmode" type="xs:string"/>
+    <xs:attribute name="followredirect" type="xs:string"/>
+    <xs:attribute name="sendcookie" type="xs:string"/>
+    <xs:attribute name="secure" type="xs:string"/>
+    <xs:attribute name="sendSSLCookie" type="xs:string"/>
+    <xs:attribute name="protocol" type="xs:string"/>
+    <xs:attribute name="clearcookies" type="xs:string"/>
+  </xs:complexType>
+  <xs:complexType name="servlettaskType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="requestheader"
+        type="requestheaderType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="requestparam"
+        type="requestparamType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="authenticate"
+        type="authenticateType"
+      />
+    </xs:choice>
+    <xs:attribute
+      name="target"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="testclass"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="testmethod"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute name="connectionmode" type="xs:string"/>
+    <xs:attribute name="followredirect" type="xs:string"/>
+    <xs:attribute name="sendcookie">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="false"/>
+          <xs:enumeration value="true"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="secure">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="false"/>
+          <xs:enumeration value="true"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="sendSSLCookie">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="false"/>
+          <xs:enumeration value="true"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="protocol" type="xs:string"/>
+    <xs:attribute name="clearcookies">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="false"/>
+          <xs:enumeration value="true"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="servletwritabletaskType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="requestheader"
+        type="requestheaderType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="miscrequestheader"
+        type="miscrequestheaderType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="requestparam"
+        type="requestparamType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="expectedstring"
+        type="expectedstringType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="expectedresponsecode"
+        type="xs:integer"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="expectedheader"
+        type="expectedheaderType"
+      />
+      <xs:element
+        minOccurs="0"
+        name="authenticate"
+        type="authenticateType"
+      />
+    </xs:choice>
+    <xs:attribute
+      name="target"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="testclass"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="testmethod"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="checkmode"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute name="connectionmode" type="xs:string"/>
+    <xs:attribute name="followredirect" type="xs:string"/>
+    <xs:attribute name="sendcookie">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="false"/>
+          <xs:enumeration value="true"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="secure">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="false"/>
+          <xs:enumeration value="true"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="sendSSLCookie">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="false"/>
+          <xs:enumeration value="true"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="protocol" type="xs:double"/>
+    <xs:attribute name="clearcookies">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="false"/>
+          <xs:enumeration value="true"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="webappstandardtaskType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="1"
+        name="testmethod"
+        type="testmethodType"
+      />
+    </xs:choice>
+    <xs:attribute
+      name="testclass"
+      type="xs:string"
+      use="required"
+    />
+  </xs:complexType>
+  <xs:complexType name="cmdlineType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element
+        maxOccurs="1"
+        minOccurs="1"
+        name="cmd"
+        type="cmdType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="cmdtoken"
+        type="cmdtokenType"
+      />
+      <xs:element
+        maxOccurs="unbounded"
+        minOccurs="0"
+        name="enventry"
+        type="enventryType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="expectedexitcode"
+        type="expectedexitcodeType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="expectedoutputstring"
+        type="expectedoutputstringType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="expectederrorstring"
+        type="expectederrorstringType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="expectedoutputerrorstring"
+        type="expectedoutputerrorstringType"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="timeout"
+        type="xs:integer"
+      />
+      <xs:element
+        maxOccurs="1"
+        minOccurs="0"
+        name="workingdir"
+        type="workingdirType"
+      />
+    </xs:choice>
+    <xs:attribute
+      name="checkmode"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="echo"
+      type="xs:boolean"
+      use="optional"
+    />
+  </xs:complexType>
+  <xs:complexType name="cmdType">
+    <xs:simpleContent>
+      <xs:extension base="xs:string"/>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="cmdtokenType">
+    <xs:simpleContent>
+      <xs:extension base="xs:string"/>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="enventryType">
+    <xs:attribute
+      name="name"
+      type="xs:string"
+      use="required"
+    />
+    <xs:attribute
+      name="value"
+      type="xs:string"
+      use="required"
+    />
+  </xs:complexType>

[... 390 lines stripped ...]