Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add JUnit XML output to the unittest module #2088

Closed
flaviut opened this issue Feb 8, 2015 · 5 comments
Closed

Add JUnit XML output to the unittest module #2088

flaviut opened this issue Feb 8, 2015 · 5 comments

Comments

@flaviut
Copy link
Contributor

flaviut commented Feb 8, 2015

This would allow for tighter integration with various CI tools. JUnit XML is relativly simple:

<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
   <testsuite name="JUnitXmlReporter" errors="0" tests="0" failures="0" time="0" timestamp="2013-05-24T10:23:58" />
   <testsuite name="JUnitXmlReporter.constructor" errors="0" skipped="1" tests="3" failures="1" time="0.006" timestamp="2013-05-24T10:23:58">
      <properties>
         <property name="java.vendor" value="Sun Microsystems Inc." />
         <property name="compiler.debug" value="on" />
         <property name="project.jdk.classpath" value="jdk.classpath.1.6" />
      </properties>
      <testcase classname="JUnitXmlReporter.constructor" name="should default path to an empty string" time="0.006">
         <failure message="test failure">Assertion failed</failure>
      </testcase>
      <testcase classname="JUnitXmlReporter.constructor" name="should default consolidate to true" time="0">
         <skipped />
      </testcase>
      <testcase classname="JUnitXmlReporter.constructor" name="should default useDotNotation to true" time="0" />
   </testsuite>
</testsuites>

However, I do understand if this is not desirable in the standard distribution, in which case I would like for there to be a way of choosing a custom test reporter so that unittest can be extended from client code.

I'm willing to implement this feature, but I'd like some discussion about it first.

@flaviut
Copy link
Contributor Author

flaviut commented Feb 8, 2015

A full description of JUnit XML: http://a.pomf.se/gddsul.html, also pasted here in case the site goes down.

<!DOCTYPE html><html xmlns=http://www.w3.org/1999/xhtml><head><meta name=generator content="HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org"><title>XML Schema Documentation</title><meta http-equiv=Content-Type content="text/xml; charset=utf-8"><style type=text/css>body{color:#000;background-color:#fff;font-family:Arial,sans-serif;font-size:10pt}hr{color:#000}h1{font-size:18pt;letter-spacing:2px;border-bottom:1px #ccc solid;padding-top:5px;padding-bottom:5px}h2{font-size:14pt;letter-spacing:1px}h3,h3 a,h3 span{font-size:12pt;font-weight:700;color:#000}table.properties th,table.properties th a{color:#000;background-color:#F99}table.properties td{background-color:#eee}div#printerControls{color:#963}div#globalControls{border:2px solid #999}table.namespaces th{background-color:#ccc}table.namespaces td{background-color:#eee}span.targetNS{color:#06C;font-weight:700}.name{color:#F93}table.hierarchy{border:2px solid #999}div.sample div.contents{border:2px dashed #000}div.schemaComponent div.contents{border:2px #000 solid}.glossaryTerm{color:#036}@media print{div#printerControls{visibility:hidden}div#globalControls{visibility:hidden}#legend{display:none}#legendTOC{display:none}#glossary{display:none}#glossaryTOC{display:none}}ul{margin-left:1.5em;margin-bottom:0}table{margin-top:10px;margin-bottom:10px;margin-left:2px;margin-right:2px}table td,table th{font-size:10pt;vertical-align:top;padding-top:3px;padding-bottom:3px;padding-left:10px;padding-right:10px}table th{font-weight:700;text-align:left}table.properties{width:90%}table.properties th{width:30%}div.box{margin:1em}div.box span.caption{font-weight:700}div.box input.control{width:1.4em;height:1.4em;text-align:center;vertical-align:middle;font-size:11pt}div.box div.contents{margin-top:3px}div#printerControls{white-space:nowrap;font-weight:700;padding:5px;margin:5px}div#globalControls{padding:10px;margin:5px}table.hierarchy{width:90%}table.hierarchy th{font-weight:400;font-style:italic;width:20%}table.hierarchy td,table.hierarchy th{padding:5px}div.sample{width:90%}div.sample div.contents{padding:5px;font-family:Courier New,sans-serif;font-size:10pt}div.sample div.contents,div.sample div.contents a{color:#000}div.sample div.contents .group,div.sample div.contents .group a{color:#999}div.sample div.contents .type,div.sample div.contents .type a{color:#999}div.sample div.contents .occurs,div.sample div.contents .occurs a{color:#999}div.sample div.contents .fixed{color:#063;font-weight:700}div.sample div.contents .constraint,div.sample div.contents .constraint a{color:#999}div.sample div.contents .inherited,div.sample div.contents .inherited a{color:#666}div.sample div.contents .newFields{font-weight:700}div.sample div.contents .other,div.sample div.contents .other a{color:#369;font-style:italic}div.sample div.contents a.documentation{text-decoration:none;padding-left:3px;padding-right:3px;padding-top:0;padding-bottom:0;font-weight:700;font-size:11pt;background-color:#FFD;color:#069}div.sample div.contents a.documentation:hover{color:#FFD;background-color:#069}div.schemaComponent{width:90%}div.schemaComponent div.contents{font-family:Courier New,sans-serif;font-size:10pt;padding:5px}div.schemaComponent div.contents{color:#00f}div.schemaComponent div.contents .scTag{color:#933}div.schemaComponent div.contents .scContent,div.schemaComponent div.contents .scContent a{color:#000;font-weight:700}div.schemaComponent div.contents .comment{color:#999}div#legend div,div#legend table{margin-bottom:3px}div#legend div.hint{color:#999;width:90%;margin-left:1em;margin-bottom:2em}.glossaryTerm{font-weight:700}.footer{font-size:8pt}</style><script type=text/javascript>function getElementObject(e){var t=null;return document.getElementById&&(t=document.getElementById(e)),t}function closeBox(e,t){null==e||null==t||(e.style.display="none","none"==e.style.display&&(t.value=" + "))}function openBox(e,t){null==e||null==t||(e.style.display="block","block"==e.style.display&&(t.value=" - "))}function setState(e,t){var n=getElementObject(e),o=getElementObject(e+B_SFIX);null==n||null==o||(t?(openBox(n,o),o.style.display="inline"):(closeBox(n,o),o.style.display="inline"))}function switchState(e){var t=getElementObject(e),n=getElementObject(e+B_SFIX);null==t||null==n||("none"==t.style.display?openBox(t,n):"block"==t.style.display&&closeBox(t,n))}function collapseAll(e){var t;for(t=0;t<e.length;t++){var n=getElementObject(e[t]),o=getElementObject(e[t]+B_SFIX);closeBox(n,o)}}function expandAll(e){var t;for(t=0;t<e.length;t++){var n=getElementObject(e[t]),o=getElementObject(e[t]+B_SFIX);openBox(n,o)}}function viewControlButtons(e){var t;for(t=0;t<e.length;t++)buttonObj=getElementObject(e[t]+B_SFIX),null!=buttonObj&&(buttonObj.style.display="inline")}function hideControlButtons(e){var t;for(t=0;t<e.length;t++)buttonObj=getElementObject(e[t]+B_SFIX),null!=buttonObj&&(buttonObj.style.display="none")}function displayMode(e){var t;e?(t=getElementObject("globalControls"),null!=t&&(t.style.visibility="hidden"),t=getElementObject("legend"),null!=t&&(t.style.display="none"),t=getElementObject("legendTOC"),null!=t&&(t.style.display="none"),t=getElementObject("glossary"),null!=t&&(t.style.display="none"),t=getElementObject("glossaryTOC"),null!=t&&(t.style.display="none"),expandAll(xiBoxes),expandAll(scBoxes),hideControlButtons(xiBoxes),hideControlButtons(scBoxes)):(t=getElementObject("globalControls"),null!=t&&(t.style.visibility="visible"),t=getElementObject("legend"),null!=t&&(t.style.display="block"),t=getElementObject("legendTOC"),null!=t&&(t.style.display="block"),t=getElementObject("glossary"),null!=t&&(t.style.display="block"),t=getElementObject("glossaryTOC"),null!=t&&(t.style.display="block"),expandAll(xiBoxes),collapseAll(scBoxes),viewControlButtons(xiBoxes),viewControlButtons(scBoxes))}function viewDocumentation(e,t,n){var o=400,a=200,r=100,i=200,s="<html>";s+="<head><title>",s+=e,""!=t&&(s+=": "+t),s+="</title></head>",s+='<body bgcolor="#FFFFEE">',s+='<p style="font-family: Arial, sans-serif; font-size: 12pt; font-weight: bold; letter-spacing:1px;">',s+=e,""!=t&&(s+=': <span style="color:#006699">'+t+"</span>"),s+="</p>";var c;for(c=0;c<n.length;c++)s+='<p style="font-family: Arial, sans-serif; font-size: 10pt;">'+n[c]+"</p>";s+='<a href="javascript:void(0)" onclick="window.close();" style="font-family: Arial, sans-serif; font-size: 8pt;">Close</a>',s+="</body></html>",windowCount++;var l=window.open("","documentation"+windowCount,"toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable,alwaysRaised,dependent,titlebar=no,width="+o+",height="+a+",screenX="+r+",left="+r+",screenY="+i+",top="+i);l.document.write(s)}var xiBoxes=new Array("element_testsuite_xibox","type_ISO8601_DATETIME_PATTERN_xibox","element_testsuites_xibox","type_testsuite_xibox","type_pre-string_xibox"),scBoxes=new Array("schema_scbox","element_testsuite_scbox","type_ISO8601_DATETIME_PATTERN_scbox","element_testsuites_scbox","type_testsuite_scbox","type_pre-string_scbox"),B_SFIX="_button",windowCount=0;</script><style type=text/css>span.c26{margin-left:10.5em}span.c25{margin-left:9em}span.c24{margin-left:7.5em}span.c23{margin-left:6em}span.c22{margin-left:4.5em}span.c21{font-weight:700}span.c20{text-decoration:underline}span.c19{margin-left:3em}span.c18{margin-left:0}table.c17{clear:both}span.c16{color:#00F;text-decoration:underline}div.c15{float:left;width:15em}div.c14{margin-left:0}h3.c13{margin-bottom:0}div.c12{margin-left:3em}span.c11{margin-left:1.5em}span.c10{margin-left:.5em}div.c9{margin-left:0}div.c8{margin-left:1.5em}input.c7{display:none}div.c6{text-align:right;clear:both}ul.c5{margin-top:0}div.c4{float:right}div.c3{display:none}span.c2{margin-left:1em;white-space:nowrap}div.c1{display:none}</style><body><h1><a id=top>XML Schema Documentation</a></h1><div class=c4><div id=printerControls class=c1><input type=checkbox onclick="displayMode(this.checked)">Printer-friendly Version</div><script type=text/javascript>var pc=getElementObject("printerControls");null!=pc&&(pc.style.display="block");</script><div id=globalControls class=c3><strong>XML Instance Representation:</strong><br><span class=c2>[ <a href=javascript:void(0) onclick=expandAll(xiBoxes)>Expand All</a> | <a href=javascript:void(0) onclick=collapseAll(xiBoxes)>Collapse All</a> ]</span><br><br><strong>Schema Component Representation:</strong><br><span class=c2>[ <a href=javascript:void(0) onclick=expandAll(scBoxes)>Expand All</a> | <a href=javascript:void(0) onclick=collapseAll(scBoxes)>Collapse All</a> ]</span></div><script type=text/javascript>var gc=getElementObject("globalControls");null!=gc&&(gc.style.display="block");</script></div><h2>Table of Contents</h2><ul><li><a href=#SchemaProperties>Schema Document Properties</a></li><li><a href=#SchemaDeclarations>Global Declarations</a><ul><li><a href=#element_testsuite>Element: <strong>testsuite</strong></a></li><li><a href=#element_testsuites>Element: <strong>testsuites</strong></a></li></ul></li><li><a href=#SchemaDefinitions>Global Definitions</a><ul><li><a href=#type_testsuite>Complex Type: <strong>testsuite</strong></a></li><li><a href=#type_ISO8601_DATETIME_PATTERN>Simple Type: <strong>ISO8601_DATETIME_PATTERN</strong></a></li><li><a href=#type_pre-string>Simple Type: <strong>pre-string</strong></a></li></ul></li></ul><ul id=legendTOC class=c5><li><a href=#Legend>Legend</a></li></ul><ul id=glossaryTOC class=c5><li><a href=#Glossary>Glossary</a></li></ul><div class=c6><a href=#top>top</a></div><hr><h2><a id=SchemaProperties>Schema Document Properties</a></h2><table class=properties><tr><th><a title="Look up 'Target Namespace' in glossary" href=#term_TargetNS>Target Namespace</a><td>None<tr><th>Element and Attribute Namespaces<td><ul><li>Global element and attribute declarations belong to this schema's target namespace.</li><li>By default, local element declarations belong to this schema's target namespace.</li><li>By default, local attribute declarations have no namespace.</li></ul><tr><th>Documentation<td>JUnit test result schema for the Apache Ant JUnit and JUnitReport tasks Copyright © 2011, Windy Road Technology Pty. Limited The Apache Ant JUnit XML Schema is distributed under the terms of the GNU Lesser General Public License (LGPL) http://www.gnu.org/licenses/lgpl.html Permission to waive conditions of this license may be requested from Windy Road Support (http://windyroad.org/support).</table><h3>Declared Namespaces</h3><table class=namespaces><tr><th>Prefix<th>Namespace<tr><td><a id=ns_xml>xml</a><td>http://www.w3.org/XML/1998/namespace<tr><td><a id=ns_xs>xs</a><td>http://www.w3.org/2001/XMLSchema</table><div class="schemaComponent box"><div><input type=button id=schema_scbox_button class="control c7" onclick="return switchState(&quot;schema_scbox&quot;),!1"> <span class=caption>Schema Component Representation</span></div><div id=schema_scbox class="contents c9">&lt;<span class=scTag>xs:schema</span> <span class=scTag>elementFormDefault</span>="<span class=scContent>qualified</span>" <span class=scTag>attributeFormDefault</span>="<span class=scContent>unqualified</span>"&gt;<div class="scContent c8">...</div>&lt;/<span class=scTag>xs:schema</span>&gt;</div><script type=text/javascript>setState("schema_scbox",!1);</script></div><div class=c6><a href=#top>top</a></div><hr><h2><a id=SchemaDeclarations>Global Declarations</a></h2><h3>Element: <a class=name id=element_testsuite>testsuite</a></h3><table class=properties><tr><th>Name<td>testsuite<tr><th>Type<td><span class=type><a title="Jump to &quot;testsuite&quot; type definition." href=#type_testsuite>testsuite</a></span><tr><th><a title="Look up 'Nillable' in glossary" href=#term_Nillable>Nillable</a><td>no<tr><th><a title="Look up 'Abstract' in glossary" href=#term_Abstract>Abstract</a><td>no</table><div class="sample box"><div><input type=button id=element_testsuite_xibox_button class="control c7" onclick="return switchState(&quot;element_testsuite_xibox&quot;),!1"> <span class=caption>XML Instance Representation</span></div><div id=element_testsuite_xibox class="contents c9">&lt;testsuite<br><span class=c10>name="<span class=constraint><span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> (<em>length</em> &gt;= 1)</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Full class name of the test for non-aggregated testsuite documents. Class name without the package for aggregated testsuites documents&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;name&quot;,docArray)">?</a>"</span><br><span class=c10>timestamp="<span class=type><a title="Jump to &quot;ISO8601_DATETIME_PATTERN&quot; type definition." href=#type_ISO8601_DATETIME_PATTERN>ISO8601_DATETIME_PATTERN</a></span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;when the test was executed. Timezone may not be specified.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;timestamp&quot;,docArray)">?</a>"</span><br><span class=c10>hostname="<span class=constraint><span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> (<em>length</em> &gt;= 1)</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Host on which the tests were executed. 'localhost' should be used if the hostname cannot be determined.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;hostname&quot;,docArray)">?</a>"</span><br><span class=c10>tests="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The total number of tests in the suite&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;tests&quot;,docArray)">?</a>"</span><br><span class=c10>failures="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The total number of tests in the suite that failed. A failure is a test which the code has explicitly failed by using the mechanisms for that purpose. e.g., via an assertEquals&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;failures&quot;,docArray)">?</a>"</span><br><span class=c10>errors="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The total number of tests in the suite that errorrd. An errored test is one that had an unanticipated problem. e.g., an unchecked throwable; or a problem with the implementation of the test.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;errors&quot;,docArray)">?</a>"</span><br><span class=c10>time="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:decimal</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Time taken (in seconds) to execute the tests in the suite&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;time&quot;,docArray)">?</a>"</span>&gt;<br><div class=c8>&lt;properties&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Properties (e.g., environment settings) set during test execution&quot;),viewDocumentation(&quot;Element&quot;,&quot;properties&quot;,docArray)">?</a><br><div class=c8>&lt;property<br><span class=c10>name="<span class=constraint><span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> (<em>length</em> &gt;= 1)</span> <span class=occurs>[1]</span>"</span><br><span class=c10>value="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[1]</span>"</span>/&gt; <span class=occurs>[0..*]</span></div>&lt;/properties&gt;</div><div class=c8>&lt;testcase<br><span class=c10>name="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Name of the test method&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;name&quot;,docArray)">?</a>"</span><br><span class=c10>classname="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Full class name for the class the test method is in.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;classname&quot;,docArray)">?</a>"</span><br><span class=c10>time="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:decimal</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Time taken (in seconds) to execute the test&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;time&quot;,docArray)">?</a>"</span>&gt; <span class=occurs>[0..*]</span><br><span class="group c11">Start <a title="Look up 'Choice' in glossary" href=#term_Choice>Choice</a> <span class=occurs>[0..1]</span></span><br><div class=c12>&lt;error<br><span class=c10>message="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[0..1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The error message. e.g., if a java exception is thrown, the return value of getMessage()&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;message&quot;,docArray)">?</a>"</span><br><span class=c10>type="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The type of error that occured. e.g., if a java execption is thrown the full class name of the exception.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;type&quot;,docArray)">?</a>"</span>&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Indicates that the test errored. An errored test is one that had an unanticipated problem. e.g., an unchecked throwable; or a problem with the implementation of the test. Contains as a text node relevant data for the error, e.g., a stack trace&quot;),viewDocumentation(&quot;Element&quot;,&quot;error&quot;,docArray)">?</a><br><span class="type c11"><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span><br>&lt;/error&gt;</div><div class=c12>&lt;failure<br><span class=c10>message="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[0..1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The message specified in the assert&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;message&quot;,docArray)">?</a>"</span><br><span class=c10>type="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The type of the assert.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;type&quot;,docArray)">?</a>"</span>&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Indicates that the test failed. A failure is a test which the code has explicitly failed by using the mechanisms for that purpose. e.g., via an assertEquals. Contains as a text node relevant data for the failure, e.g., a stack trace&quot;),viewDocumentation(&quot;Element&quot;,&quot;failure&quot;,docArray)">?</a><br><span class="type c11"><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span><br>&lt;/failure&gt;</div><span class="group c11">End Choice</span><br>&lt;/testcase&gt;</div><div class=c8>&lt;system-out&gt; <span class=constraint><span class=type><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span> (<em>Whitespace policy:</em> <a title="Look up 'preserve' in glossary" href=#term_PreserveWS>preserve</a>)</span> &lt;/system-out&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Data that was written to standard out while the test was executed&quot;),viewDocumentation(&quot;Element&quot;,&quot;system-out&quot;,docArray)">?</a></div><div class=c8>&lt;system-err&gt; <span class=constraint><span class=type><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span> (<em>Whitespace policy:</em> <a title="Look up 'preserve' in glossary" href=#term_PreserveWS>preserve</a>)</span> &lt;/system-err&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Data that was written to standard error while the test was executed&quot;),viewDocumentation(&quot;Element&quot;,&quot;system-err&quot;,docArray)">?</a></div>&lt;/testsuite&gt;</div><script type=text/javascript>setState("element_testsuite_xibox",!0);</script></div><div class="schemaComponent box"><div><input type=button id=element_testsuite_scbox_button class="control c7" onclick="return switchState(&quot;element_testsuite_scbox&quot;),!1"> <span class=caption>Schema Component Representation</span></div><div id=element_testsuite_scbox class="contents c9">&lt;<span class=scTag>xs:element</span> <span class=scTag>name</span>="<span class=scContent>testsuite</span>" <span class=scTag>type</span>="<span class="scContent type"><a title="Jump to &quot;testsuite&quot; type definition." href=#type_testsuite>testsuite</a></span> "/&gt;</div><script type=text/javascript>setState("element_testsuite_scbox",!1);</script></div><div class=c6><a href=#top>top</a></div><hr><h3>Element: <a class=name id=element_testsuites>testsuites</a></h3><table class=properties><tr><th>Name<td>testsuites<tr><th>Type<td>Locally-defined complex type<tr><th><a title="Look up 'Nillable' in glossary" href=#term_Nillable>Nillable</a><td>no<tr><th><a title="Look up 'Abstract' in glossary" href=#term_Abstract>Abstract</a><td>no<tr><th>Documentation<td>Contains an aggregation of testsuite results</table><div class="sample box"><div><input type=button id=element_testsuites_xibox_button class="control c7" onclick="return switchState(&quot;element_testsuites_xibox&quot;),!1"> <span class=caption>XML Instance Representation</span></div><div id=element_testsuites_xibox class="contents c9">&lt;testsuites&gt;<br><div class=c8>&lt;testsuite<br><span class=c10>name="<span class=constraint><span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> (<em>length</em> &gt;= 1)</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Full class name of the test for non-aggregated testsuite documents. Class name without the package for aggregated testsuites documents&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;name&quot;,docArray)">?</a>"</span><br><span class=c10>timestamp="<span class=type><a title="Jump to &quot;ISO8601_DATETIME_PATTERN&quot; type definition." href=#type_ISO8601_DATETIME_PATTERN>ISO8601_DATETIME_PATTERN</a></span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;when the test was executed. Timezone may not be specified.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;timestamp&quot;,docArray)">?</a>"</span><br><span class=c10>hostname="<span class=constraint><span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> (<em>length</em> &gt;= 1)</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Host on which the tests were executed. 'localhost' should be used if the hostname cannot be determined.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;hostname&quot;,docArray)">?</a>"</span><br><span class=c10>tests="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The total number of tests in the suite&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;tests&quot;,docArray)">?</a>"</span><br><span class=c10>failures="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The total number of tests in the suite that failed. A failure is a test which the code has explicitly failed by using the mechanisms for that purpose. e.g., via an assertEquals&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;failures&quot;,docArray)">?</a>"</span><br><span class=c10>errors="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The total number of tests in the suite that errorrd. An errored test is one that had an unanticipated problem. e.g., an unchecked throwable; or a problem with the implementation of the test.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;errors&quot;,docArray)">?</a>"</span><br><span class=c10>time="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:decimal</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Time taken (in seconds) to execute the tests in the suite&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;time&quot;,docArray)">?</a>"</span><br><span class=c10>package="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Derived from testsuite/@name in the non-aggregated documents&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;package&quot;,docArray)">?</a>"</span><br><span class=c10>id="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Starts at '0' for the first testsuite and is incremented by 1 for each following testsuite&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;id&quot;,docArray)">?</a>"</span>&gt; <span class=occurs>[0..*]</span><br><div class=c8>&lt;properties&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Properties (e.g., environment settings) set during test execution&quot;),viewDocumentation(&quot;Element&quot;,&quot;properties&quot;,docArray)">?</a><br><div class=c8>&lt;property<br><span class=c10>name="<span class=constraint><span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> (<em>length</em> &gt;= 1)</span> <span class=occurs>[1]</span>"</span><br><span class=c10>value="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[1]</span>"</span>/&gt; <span class=occurs>[0..*]</span></div>&lt;/properties&gt;</div><div class=c8>&lt;testcase<br><span class=c10>name="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Name of the test method&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;name&quot;,docArray)">?</a>"</span><br><span class=c10>classname="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Full class name for the class the test method is in.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;classname&quot;,docArray)">?</a>"</span><br><span class=c10>time="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:decimal</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Time taken (in seconds) to execute the test&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;time&quot;,docArray)">?</a>"</span>&gt; <span class=occurs>[0..*]</span><br><span class="group c11">Start <a title="Look up 'Choice' in glossary" href=#term_Choice>Choice</a> <span class=occurs>[0..1]</span></span><br><div class=c12>&lt;error<br><span class=c10>message="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[0..1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The error message. e.g., if a java exception is thrown, the return value of getMessage()&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;message&quot;,docArray)">?</a>"</span><br><span class=c10>type="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The type of error that occured. e.g., if a java execption is thrown the full class name of the exception.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;type&quot;,docArray)">?</a>"</span>&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Indicates that the test errored. An errored test is one that had an unanticipated problem. e.g., an unchecked throwable; or a problem with the implementation of the test. Contains as a text node relevant data for the error, e.g., a stack trace&quot;),viewDocumentation(&quot;Element&quot;,&quot;error&quot;,docArray)">?</a><br><span class="type c11"><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span><br>&lt;/error&gt;</div><div class=c12>&lt;failure<br><span class=c10>message="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[0..1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The message specified in the assert&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;message&quot;,docArray)">?</a>"</span><br><span class=c10>type="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The type of the assert.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;type&quot;,docArray)">?</a>"</span>&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Indicates that the test failed. A failure is a test which the code has explicitly failed by using the mechanisms for that purpose. e.g., via an assertEquals. Contains as a text node relevant data for the failure, e.g., a stack trace&quot;),viewDocumentation(&quot;Element&quot;,&quot;failure&quot;,docArray)">?</a><br><span class="type c11"><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span><br>&lt;/failure&gt;</div><span class="group c11">End Choice</span><br>&lt;/testcase&gt;</div><div class=c8>&lt;system-out&gt; <span class=constraint><span class=type><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span> (<em>Whitespace policy:</em> <a title="Look up 'preserve' in glossary" href=#term_PreserveWS>preserve</a>)</span> &lt;/system-out&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Data that was written to standard out while the test was executed&quot;),viewDocumentation(&quot;Element&quot;,&quot;system-out&quot;,docArray)">?</a></div><div class=c8>&lt;system-err&gt; <span class=constraint><span class=type><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span> (<em>Whitespace policy:</em> <a title="Look up 'preserve' in glossary" href=#term_PreserveWS>preserve</a>)</span> &lt;/system-err&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Data that was written to standard error while the test was executed&quot;),viewDocumentation(&quot;Element&quot;,&quot;system-err&quot;,docArray)">?</a></div>&lt;/testsuite&gt;</div>&lt;/testsuites&gt;</div><script type=text/javascript>setState("element_testsuites_xibox",!0);</script></div><div class="schemaComponent box"><div><input type=button id=element_testsuites_scbox_button class="control c7" onclick="return switchState(&quot;element_testsuites_scbox&quot;),!1"> <span class=caption>Schema Component Representation</span></div><div id=element_testsuites_scbox class="contents c9">&lt;<span class=scTag>xs:element</span> <span class=scTag>name</span>="<span class=scContent>testsuites</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:complexType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:sequence</span>&gt;<div class=c8>&lt;<span class=scTag>xs:element</span> <span class=scTag>name</span>="<span class=scContent>testsuite</span>" <span class=scTag>minOccurs</span>="<span class=scContent>0</span>" <span class=scTag>maxOccurs</span>="<span class=scContent>unbounded</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:complexType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:complexContent</span>&gt;<div class=c8>&lt;<span class=scTag>xs:extension</span> <span class=scTag>base</span>="<span class="scContent type"><a title="Jump to &quot;testsuite&quot; type definition." href=#type_testsuite>testsuite</a></span> "&gt;<div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>package</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>id</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div>&lt;/<span class=scTag>xs:extension</span>&gt;</div>&lt;/<span class=scTag>xs:complexContent</span>&gt;</div>&lt;/<span class=scTag>xs:complexType</span>&gt;</div>&lt;/<span class=scTag>xs:element</span>&gt;</div>&lt;/<span class=scTag>xs:sequence</span>&gt;</div>&lt;/<span class=scTag>xs:complexType</span>&gt;</div>&lt;/<span class=scTag>xs:element</span>&gt;</div><script type=text/javascript>setState("element_testsuites_scbox",!1);</script></div><div class=c6><a href=#top>top</a></div><hr><h2><a id=SchemaDefinitions>Global Definitions</a></h2><h3>Complex Type: <a class=name id=type_testsuite>testsuite</a></h3><table class=hierarchy><tr><th>Super-types:<td>None<tr><th>Sub-types:<td>None</table><table class=properties><tr><th>Name<td>testsuite<tr><th><a title="Look up 'Abstract' in glossary" href=#term_Abstract>Abstract</a><td>no<tr><th>Documentation<td>Contains the results of exexuting a testsuite</table><div class="sample box"><div><input type=button id=type_testsuite_xibox_button class="control c7" onclick="return switchState(&quot;type_testsuite_xibox&quot;),!1"> <span class=caption>XML Instance Representation</span></div><div id=type_testsuite_xibox class="contents c9">&lt;...<br><span class=c10>name="<span class=constraint><span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> (<em>length</em> &gt;= 1)</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Full class name of the test for non-aggregated testsuite documents. Class name without the package for aggregated testsuites documents&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;name&quot;,docArray)">?</a>"</span><br><span class=c10>timestamp="<span class=type><a title="Jump to &quot;ISO8601_DATETIME_PATTERN&quot; type definition." href=#type_ISO8601_DATETIME_PATTERN>ISO8601_DATETIME_PATTERN</a></span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;when the test was executed. Timezone may not be specified.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;timestamp&quot;,docArray)">?</a>"</span><br><span class=c10>hostname="<span class=constraint><span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> (<em>length</em> &gt;= 1)</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Host on which the tests were executed. 'localhost' should be used if the hostname cannot be determined.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;hostname&quot;,docArray)">?</a>"</span><br><span class=c10>tests="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The total number of tests in the suite&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;tests&quot;,docArray)">?</a>"</span><br><span class=c10>failures="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The total number of tests in the suite that failed. A failure is a test which the code has explicitly failed by using the mechanisms for that purpose. e.g., via an assertEquals&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;failures&quot;,docArray)">?</a>"</span><br><span class=c10>errors="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The total number of tests in the suite that errorrd. An errored test is one that had an unanticipated problem. e.g., an unchecked throwable; or a problem with the implementation of the test.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;errors&quot;,docArray)">?</a>"</span><br><span class=c10>time="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:decimal</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Time taken (in seconds) to execute the tests in the suite&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;time&quot;,docArray)">?</a>"</span>&gt;<br><div class=c8>&lt;properties&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Properties (e.g., environment settings) set during test execution&quot;),viewDocumentation(&quot;Element&quot;,&quot;properties&quot;,docArray)">?</a><br><div class=c8>&lt;property<br><span class=c10>name="<span class=constraint><span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> (<em>length</em> &gt;= 1)</span> <span class=occurs>[1]</span>"</span><br><span class=c10>value="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[1]</span>"</span>/&gt; <span class=occurs>[0..*]</span></div>&lt;/properties&gt;</div><div class=c8>&lt;testcase<br><span class=c10>name="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Name of the test method&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;name&quot;,docArray)">?</a>"</span><br><span class=c10>classname="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Full class name for the class the test method is in.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;classname&quot;,docArray)">?</a>"</span><br><span class=c10>time="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:decimal</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Time taken (in seconds) to execute the test&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;time&quot;,docArray)">?</a>"</span>&gt; <span class=occurs>[0..*]</span><br><span class="group c11">Start <a title="Look up 'Choice' in glossary" href=#term_Choice>Choice</a> <span class=occurs>[0..1]</span></span><br><div class=c12>&lt;error<br><span class=c10>message="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[0..1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The error message. e.g., if a java exception is thrown, the return value of getMessage()&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;message&quot;,docArray)">?</a>"</span><br><span class=c10>type="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The type of error that occured. e.g., if a java execption is thrown the full class name of the exception.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;type&quot;,docArray)">?</a>"</span>&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Indicates that the test errored. An errored test is one that had an unanticipated problem. e.g., an unchecked throwable; or a problem with the implementation of the test. Contains as a text node relevant data for the error, e.g., a stack trace&quot;),viewDocumentation(&quot;Element&quot;,&quot;error&quot;,docArray)">?</a><br><span class="type c11"><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span><br>&lt;/error&gt;</div><div class=c12>&lt;failure<br><span class=c10>message="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[0..1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The message specified in the assert&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;message&quot;,docArray)">?</a>"</span><br><span class=c10>type="<span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;The type of the assert.&quot;),viewDocumentation(&quot;Attribute&quot;,&quot;type&quot;,docArray)">?</a>"</span>&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Indicates that the test failed. A failure is a test which the code has explicitly failed by using the mechanisms for that purpose. e.g., via an assertEquals. Contains as a text node relevant data for the failure, e.g., a stack trace&quot;),viewDocumentation(&quot;Element&quot;,&quot;failure&quot;,docArray)">?</a><br><span class="type c11"><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span><br>&lt;/failure&gt;</div><span class="group c11">End Choice</span><br>&lt;/testcase&gt;</div><div class=c8>&lt;system-out&gt; <span class=constraint><span class=type><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span> (<em>Whitespace policy:</em> <a title="Look up 'preserve' in glossary" href=#term_PreserveWS>preserve</a>)</span> &lt;/system-out&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Data that was written to standard out while the test was executed&quot;),viewDocumentation(&quot;Element&quot;,&quot;system-out&quot;,docArray)">?</a></div><div class=c8>&lt;system-err&gt; <span class=constraint><span class=type><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span> (<em>Whitespace policy:</em> <a title="Look up 'preserve' in glossary" href=#term_PreserveWS>preserve</a>)</span> &lt;/system-err&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Data that was written to standard error while the test was executed&quot;),viewDocumentation(&quot;Element&quot;,&quot;system-err&quot;,docArray)">?</a></div>&lt;/...&gt;</div><script type=text/javascript>setState("type_testsuite_xibox",!0);</script></div><div class="schemaComponent box"><div><input type=button id=type_testsuite_scbox_button class="control c7" onclick="return switchState(&quot;type_testsuite_scbox&quot;),!1"> <span class=caption>Schema Component Representation</span></div><div id=type_testsuite_scbox class="contents c9">&lt;<span class=scTag>xs:complexType</span> <span class=scTag>name</span>="<span class=scContent>testsuite</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:sequence</span>&gt;<div class=c8>&lt;<span class=scTag>xs:element</span> <span class=scTag>name</span>="<span class=scContent>properties</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:complexType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:sequence</span>&gt;<div class=c8>&lt;<span class=scTag>xs:element</span> <span class=scTag>name</span>="<span class=scContent>property</span>" <span class=scTag>minOccurs</span>="<span class=scContent>0</span>" <span class=scTag>maxOccurs</span>="<span class=scContent>unbounded</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:complexType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>name</span>" <span class=scTag>use</span>="<span class=scContent>required</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:simpleType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:restriction</span> <span class=scTag>base</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> "&gt;<div class=c8>&lt;<span class=scTag>xs:minLength</span> <span class=scTag>value</span>="<span class=scContent>1</span>"/&gt;</div>&lt;/<span class=scTag>xs:restriction</span>&gt;</div>&lt;/<span class=scTag>xs:simpleType</span>&gt;</div>&lt;/<span class=scTag>xs:attribute</span>&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>value</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div>&lt;/<span class=scTag>xs:complexType</span>&gt;</div>&lt;/<span class=scTag>xs:element</span>&gt;</div>&lt;/<span class=scTag>xs:sequence</span>&gt;</div>&lt;/<span class=scTag>xs:complexType</span>&gt;</div>&lt;/<span class=scTag>xs:element</span>&gt;</div><div class=c8>&lt;<span class=scTag>xs:element</span> <span class=scTag>name</span>="<span class=scContent>testcase</span>" <span class=scTag>minOccurs</span>="<span class=scContent>0</span>" <span class=scTag>maxOccurs</span>="<span class=scContent>unbounded</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:complexType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:choice</span> <span class=scTag>minOccurs</span>="<span class=scContent>0</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:element</span> <span class=scTag>name</span>="<span class=scContent>error</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:complexType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:simpleContent</span>&gt;<div class=c8>&lt;<span class=scTag>xs:extension</span> <span class=scTag>base</span>="<span class="scContent type"><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span> "&gt;<div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>message</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> "/&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>type</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div>&lt;/<span class=scTag>xs:extension</span>&gt;</div>&lt;/<span class=scTag>xs:simpleContent</span>&gt;</div>&lt;/<span class=scTag>xs:complexType</span>&gt;</div>&lt;/<span class=scTag>xs:element</span>&gt;</div><div class=c8>&lt;<span class=scTag>xs:element</span> <span class=scTag>name</span>="<span class=scContent>failure</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:complexType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:simpleContent</span>&gt;<div class=c8>&lt;<span class=scTag>xs:extension</span> <span class=scTag>base</span>="<span class="scContent type"><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span> "&gt;<div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>message</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> "/&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>type</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div>&lt;/<span class=scTag>xs:extension</span>&gt;</div>&lt;/<span class=scTag>xs:simpleContent</span>&gt;</div>&lt;/<span class=scTag>xs:complexType</span>&gt;</div>&lt;/<span class=scTag>xs:element</span>&gt;</div>&lt;/<span class=scTag>xs:choice</span>&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>name</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>classname</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>time</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:decimal</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div>&lt;/<span class=scTag>xs:complexType</span>&gt;</div>&lt;/<span class=scTag>xs:element</span>&gt;</div><div class=c8>&lt;<span class=scTag>xs:element</span> <span class=scTag>name</span>="<span class=scContent>system-out</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:simpleType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:restriction</span> <span class=scTag>base</span>="<span class="scContent type"><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span> "&gt;<div class=c8>&lt;<span class=scTag>xs:whiteSpace</span> <span class=scTag>value</span>="<span class=scContent>preserve</span>"/&gt;</div>&lt;/<span class=scTag>xs:restriction</span>&gt;</div>&lt;/<span class=scTag>xs:simpleType</span>&gt;</div>&lt;/<span class=scTag>xs:element</span>&gt;</div><div class=c8>&lt;<span class=scTag>xs:element</span> <span class=scTag>name</span>="<span class=scContent>system-err</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:simpleType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:restriction</span> <span class=scTag>base</span>="<span class="scContent type"><a title="Jump to &quot;pre-string&quot; type definition." href=#type_pre-string>pre-string</a></span> "&gt;<div class=c8>&lt;<span class=scTag>xs:whiteSpace</span> <span class=scTag>value</span>="<span class=scContent>preserve</span>"/&gt;</div>&lt;/<span class=scTag>xs:restriction</span>&gt;</div>&lt;/<span class=scTag>xs:simpleType</span>&gt;</div>&lt;/<span class=scTag>xs:element</span>&gt;</div>&lt;/<span class=scTag>xs:sequence</span>&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>name</span>" <span class=scTag>use</span>="<span class=scContent>required</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:simpleType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:restriction</span> <span class=scTag>base</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> "&gt;<div class=c8>&lt;<span class=scTag>xs:minLength</span> <span class=scTag>value</span>="<span class=scContent>1</span>"/&gt;</div>&lt;/<span class=scTag>xs:restriction</span>&gt;</div>&lt;/<span class=scTag>xs:simpleType</span>&gt;</div>&lt;/<span class=scTag>xs:attribute</span>&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>timestamp</span>" <span class=scTag>type</span>="<span class="scContent type"><a title="Jump to &quot;ISO8601_DATETIME_PATTERN&quot; type definition." href=#type_ISO8601_DATETIME_PATTERN>ISO8601_DATETIME_PATTERN</a></span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>hostname</span>" <span class=scTag>use</span>="<span class=scContent>required</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:simpleType</span>&gt;<div class=c8>&lt;<span class=scTag>xs:restriction</span> <span class=scTag>base</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:token</span> "&gt;<div class=c8>&lt;<span class=scTag>xs:minLength</span> <span class=scTag>value</span>="<span class=scContent>1</span>"/&gt;</div>&lt;/<span class=scTag>xs:restriction</span>&gt;</div>&lt;/<span class=scTag>xs:simpleType</span>&gt;</div>&lt;/<span class=scTag>xs:attribute</span>&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>tests</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>failures</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>errors</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:int</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div><div class=c8>&lt;<span class=scTag>xs:attribute</span> <span class=scTag>name</span>="<span class=scContent>time</span>" <span class=scTag>type</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:decimal</span> " <span class=scTag>use</span>="<span class=scContent>required</span>"/&gt;</div>&lt;/<span class=scTag>xs:complexType</span>&gt;</div><script type=text/javascript>setState("type_testsuite_scbox",!1);</script></div><div class=c6><a href=#top>top</a></div><hr><h3>Simple Type: <a class=name id=type_ISO8601_DATETIME_PATTERN>ISO8601_DATETIME_PATTERN</a></h3><table class=hierarchy><tr><th>Super-types:<td><span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:dateTime</span> &lt; <strong>ISO8601_DATETIME_PATTERN</strong> (by restriction)<tr><th>Sub-types:<td>None</table><table class=properties><tr><th>Name<td>ISO8601_DATETIME_PATTERN<tr><th>Content<td><ul><li>Base XSD Type: dateTime</li></ul><ul><li><em>pattern</em> = [0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}</li></ul></table><div class="schemaComponent box"><div><input type=button id=type_ISO8601_DATETIME_PATTERN_scbox_button class="control c7" onclick="return switchState(&quot;type_ISO8601_DATETIME_PATTERN_scbox&quot;),!1"> <span class=caption>Schema Component Representation</span></div><div id=type_ISO8601_DATETIME_PATTERN_scbox class="contents c9">&lt;<span class=scTag>xs:simpleType</span> <span class=scTag>name</span>="<span class=scContent>ISO8601_DATETIME_PATTERN</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:restriction</span> <span class=scTag>base</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:dateTime</span> "&gt;<div class=c8>&lt;<span class=scTag>xs:pattern</span> <span class=scTag>value</span>="<span class=scContent>[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}</span>"/&gt;</div>&lt;/<span class=scTag>xs:restriction</span>&gt;</div>&lt;/<span class=scTag>xs:simpleType</span>&gt;</div><script type=text/javascript>setState("type_ISO8601_DATETIME_PATTERN_scbox",!1);</script></div><div class=c6><a href=#top>top</a></div><hr><h3>Simple Type: <a class=name id=type_pre-string>pre-string</a></h3><table class=hierarchy><tr><th>Super-types:<td><span class=type><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> &lt; <strong>pre-string</strong> (by restriction)<tr><th>Sub-types:<td>None</table><table class=properties><tr><th>Name<td>pre-string<tr><th>Content<td><ul><li>Base XSD Type: string</li></ul><ul><li><em>Whitespace policy:</em> <a title="Look up 'preserve' in glossary" href=#term_PreserveWS>preserve</a></li></ul></table><div class="schemaComponent box"><div><input type=button id=type_pre-string_scbox_button class="control c7" onclick="return switchState(&quot;type_pre-string_scbox&quot;),!1"> <span class=caption>Schema Component Representation</span></div><div id=type_pre-string_scbox class="contents c9">&lt;<span class=scTag>xs:simpleType</span> <span class=scTag>name</span>="<span class=scContent>pre-string</span>"&gt;<div class=c8>&lt;<span class=scTag>xs:restriction</span> <span class=scTag>base</span>="<span class="scContent type"><a href=#ns_xs title="Find out namespace of 'xs' prefix">xs</a>:string</span> "&gt;<div class=c8>&lt;<span class=scTag>xs:whiteSpace</span> <span class=scTag>value</span>="<span class=scContent>preserve</span>"/&gt;</div>&lt;/<span class=scTag>xs:restriction</span>&gt;</div>&lt;/<span class=scTag>xs:simpleType</span>&gt;</div><script type=text/javascript>setState("type_pre-string_scbox",!1);</script></div><div class=c6><a href=#top>top</a></div><hr><div id=legend><h2><a id=Legend>Legend</a></h2><div class=c15><h3 class=c13>Complex Type:</h3><div class="hint c14">Schema Component Type</div></div><div class=c15><h3 class=c13><span class=name>AusAddress</span></h3><div class="hint c14">Schema Component Name</div></div><table class="hierarchy c17"><tr><th>Super-types:<td><span class="type c16">Address</span> &lt; <span class=current>AusAddress</span> (by extension)<tr><th>Sub-types:<td><ul><li><span class="type c16">QLDAddress</span> (by restriction)</li></ul></table><div class=hint>If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.</div><table class=properties><tr><th>Name<td>AusAddress<tr><th><a title="Look up 'Abstract' in glossary" href=#term_Abstract>Abstract</a><td>no</table><div class=hint>The table above displays the properties of this schema component.</div><div class="sample box"><div><span class=caption>XML Instance Representation</span></div><div class=contents><span class=c18>&lt;...</span> <span class=newFields>country="<span class=fixed>Australia</span>"</span> &gt;<br><span class="inherited c11">&lt;unitNo&gt; <span class=type>string</span> &lt;/unitNo&gt; <span class=occurs>[0..1]</span></span><br><span class="inherited c11">&lt;houseNo&gt; <span class=type>string</span> &lt;/houseNo&gt; <span class=occurs>[1]</span></span><br><span class="inherited c11">&lt;street&gt; <span class=type>string</span> &lt;/street&gt; <span class=occurs>[1]</span></span><br><span class="group c11">Start <a title="Look up 'Choice' in glossary" href=#term_Choice>Choice</a> <span class=occurs>[1]</span></span><br><span class="inherited c19">&lt;city&gt; <span class=type>string</span> &lt;/city&gt; <span class=occurs>[1]</span></span><br><span class="inherited c19">&lt;town&gt; <span class=type>string</span> &lt;/town&gt; <span class=occurs>[1]</span></span><br><span class="group c11">End Choice</span><br><span class=newFields><span class=c11>&lt;state&gt; <span class="type c20">AusStates</span> &lt;/state&gt; <span class=occurs>[1]</span></span><br><span class=c11>&lt;postcode&gt; <span class=constraint>string &lt;&lt;<em>pattern</em> = [1-9][0-9]{3}&gt;&gt;</span> &lt;/postcode&gt; <span class=occurs>[1]</span> <a href=javascript:void(0) title="View Documentation" class=documentation onclick="docArray=new Array(&quot;Post code must be a four-digit number.&quot;),viewDocumentation(&quot;Element&quot;,&quot;postcode&quot;,docArray)">?</a></span><br></span> <span class=c18>&lt;/...&gt;</span><br></div></div><div class=hint><p>The XML Instance Representation table above shows the schema component's content as an XML instance.</p><ul><li>The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].</li><li>Model group information are shown in gray, e.g. Start Choice ... End Choice.</li><li>For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in <span class=c21>bold</span>.</li><li>If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".</li><li>Otherwise, the type of the element/attribute is displayed.<ul><li>If the element/attribute's type is in the schema, a link is provided to it.</li><li>For local simple type definitions, the constraints are displayed in angle brackets, e.g. &lt;&lt;<em>pattern</em> = [1-9][0-9]{3}&gt;&gt;.</li></ul></li><li>If a local element/attribute has documentation, it will be displayed in a window that pops up when the question mark inside the attribute or next to the element is clicked, e.g. &lt;postcode&gt;.</li></ul></div><div class="schemaComponent box"><div><span class=caption>Schema Component Representation</span></div><div class=contents><span class=c18>&lt;<span class=scTag>complexType</span> <span class=scTag>name</span>="<span class=scContent>AusAddress</span>"&gt;</span><br><span class=c11>&lt;<span class=scTag>complexContent</span>&gt;</span><br><span class=c19>&lt;<span class=scTag>extension</span> <span class=scTag>base</span>="<span class="scContent type c20">Address</span> "&gt;</span><br><span class=c22>&lt;<span class=scTag>sequence</span>&gt;</span><br><span class=c23>&lt;<span class=scTag>element</span> <span class=scTag>name</span>="<span class=scContent>state</span>" <span class=scTag>type</span>="<span class="scContent type c20">AusStates</span> "/&gt;</span><br><span class=c23>&lt;<span class=scTag>element</span> <span class=scTag>name</span>="<span class=scContent>postcode</span>"&gt;</span><br><span class=c24>&lt;<span class=scTag>simpleType</span>&gt;</span><br><span class=c25>&lt;<span class=scTag>restriction</span> <span class=scTag>base</span>="<span class="scContent type">string</span> "&gt;</span><br><span class=c26>&lt;<span class=scTag>pattern</span> <span class=scTag>value</span>="<span class=scContent>[1-9][0-9]{3}</span>"/&gt;</span><br><span class=c25>&lt;/<span class=scTag>restriction</span>&gt;</span><br><span class=c24>&lt;/<span class=scTag>simpleType</span>&gt;</span><br><span class=c23>&lt;/<span class=scTag>element</span>&gt;</span><br><span class=c22>&lt;/<span class=scTag>sequence</span>&gt;</span><br><span class=c22>&lt;<span class=scTag>attribute</span> <span class=scTag>name</span>="<span class=scContent>country</span>" <span class=scTag>type</span>="<span class="scContent type">string</span> " <span class=scTag>fixed</span>="<span class=scContent>Australia</span>"/&gt;</span><br><span class=c19>&lt;/<span class=scTag>extension</span>&gt;</span><br><span class=c11>&lt;/<span class=scTag>complexContent</span>&gt;</span><br><span class=c18>&lt;/<span class=scTag>complexType</span>&gt;</span><br></div></div><div class=hint>The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)</div><div class=c6><a href=#top>top</a></div><hr></div><div id=glossary><h2><a id=Glossary>Glossary</a></h2><p><span class=glossaryTerm><a id=term_Abstract>Abstract</a></span> (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.</p><p><span class=glossaryTerm><a id=term_All>All Model Group</a></span> Child elements can be provided <em>in any order</em> in instances. See: <a title=http://www.w3.org/TR/xmlschema-1/#element-all href=http://www.w3.org/TR/xmlschema-1/#element-all>http://www.w3.org/TR/xmlschema-1/#element-all</a>.</p><p><span class=glossaryTerm><a id=term_Choice>Choice Model Group</a></span> <em>Only one</em> from the list of child elements and model groups can be provided in instances. See: <a title=http://www.w3.org/TR/xmlschema-1/#element-choice href=http://www.w3.org/TR/xmlschema-1/#element-choice>http://www.w3.org/TR/xmlschema-1/#element-choice</a>.</p><p><span class=glossaryTerm><a id=term_CollapseWS>Collapse Whitespace Policy</a></span> Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.</p><p><span class=glossaryTerm><a id=term_ElemBlock>Disallowed Substitutions</a></span> (Applies to element declarations). If <em>substitution</em> is specified, then <a title="Look up 'substitution group' in glossary" href=#term_SubGroup>substitution group</a> members cannot be used in place of the given element declaration to validate element instances. If <em>derivation methods</em>, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an <code>xsi:type</code> attribute.</p><p><span class=glossaryTerm><a id=term_Key>Key Constraint</a></span> Like <a title="Look up 'Uniqueness Constraint' in glossary" href=#term_Unique>Uniqueness Constraint</a>, but additionally requires that the specified value(s) must be provided. See: <a title=http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions href=http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions>http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions</a>.</p><p><span class=glossaryTerm><a id=term_KeyRef>Key Reference Constraint</a></span> Ensures that the specified value(s) must match value(s) from a <a title="Look up 'Key Constraint' in glossary" href=#term_Key>Key Constraint</a> or <a title="Look up 'Uniqueness Constraint' in glossary" href=#term_Unique>Uniqueness Constraint</a>. See: <a title=http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions href=http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions>http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions</a>.</p><p><span class=glossaryTerm><a id=term_ModelGroup>Model Group</a></span> Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: <a title=http://www.w3.org/TR/xmlschema-1/#Model_Groups href=http://www.w3.org/TR/xmlschema-1/#Model_Groups>http://www.w3.org/TR/xmlschema-1/#Model_Groups</a>.</p><p><span class=glossaryTerm><a id=term_Nillable>Nillable</a></span> (Applies to element declarations). If an element declaration is nillable, instances can use the <code>xsi:nil</code> attribute. The <code>xsi:nil</code> attribute is the boolean attribute, <em>nil</em>, from the <em>http://www.w3.org/2001/XMLSchema-instance</em> namespace. If an element instance has an <code>xsi:nil</code> attribute set to true, it can be left empty, even though its element declaration may have required content.</p><p><span class=glossaryTerm><a id=term_Notation>Notation</a></span> A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: <a title=http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations href=http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations>http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations</a>.</p><p><span class=glossaryTerm><a id=term_PreserveWS>Preserve Whitespace Policy</a></span> Preserve whitespaces exactly as they appear in instances.</p><p><span class=glossaryTerm><a id=term_TypeFinal>Prohibited Derivations</a></span> (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.</p><p><span class=glossaryTerm><a id=term_TypeBlock>Prohibited Substitutions</a></span> (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.</p><p><span class=glossaryTerm><a id=term_ReplaceWS>Replace Whitespace Policy</a></span> Replace tab, line feed, and carriage return characters with space character (Unicode character 32).</p><p><span class=glossaryTerm><a id=term_Sequence>Sequence Model Group</a></span> Child elements and model groups must be provided <em>in the specified order</em> in instances. See: <a title=http://www.w3.org/TR/xmlschema-1/#element-sequence href=http://www.w3.org/TR/xmlschema-1/#element-sequence>http://www.w3.org/TR/xmlschema-1/#element-sequence</a>.</p><p><span class=glossaryTerm><a id=term_SubGroup>Substitution Group</a></span> Elements that are <em>members</em> of a substitution group can be used wherever the <em>head</em> element of the substitution group is referenced.</p><p><span class=glossaryTerm><a id=term_ElemFinal>Substitution Group Exclusions</a></span> (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.</p><p><span class=glossaryTerm><a id=term_TargetNS>Target Namespace</a></span> The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.</p><p><span class=glossaryTerm><a id=term_Unique>Uniqueness Constraint</a></span> Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: <a title=http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions href=http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions>http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions</a>.</p><div class=c6><a href=#top>top</a></div><hr></div><p class=footer>Generated by <a href="http://xml.fiforms.org/xs3p/">xs3p</a> (<a href=http://titanium.dstc.edu.au/xml/xs3p>old link</a>) . Last modified:<script type=text/javascript>document.write(document.lastModified);</script></p>

@def-
Copy link
Member

def- commented Feb 8, 2015

Looks like this is THE most supported test output format, so this sounds like a great idea to me. Would a simple define suffice to enable JUnit XML output?

@dom96
Copy link
Contributor

dom96 commented Feb 8, 2015

Please also fix #460 while you're at it.

@GULPF
Copy link
Member

GULPF commented Jun 12, 2017

I think this issue can be closed, looks like it's implemented in #5556?

@flaviut
Copy link
Contributor Author

flaviut commented Jun 12, 2017

Thank you for pointing that out!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants