38be0d1383
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12
528 lines
20 KiB
XML
528 lines
20 KiB
XML
<?xml version='1.0'?>
|
|
<!--
|
|
<<<<<<< conformance.msxsl
|
|
Original version copyright 1999 by Sun Microsystems, Inc.
|
|
All Rights Reserved.
|
|
Modifications copyright 1999 by OASIS.
|
|
=======
|
|
XSL IE5 Stylesheet for documenting XML conformance tests.
|
|
Tested against IE5 5.00.2014.0216
|
|
|
|
1999-06-05 20:10
|
|
|
|
XSL 12/16/1998 Stylesheet for documenting XML conformance tests.
|
|
|
|
This expects to be run on a document matching the DTD that Sun
|
|
defined and OASIS modified for merging collections of
|
|
self-descriptive XML tests.
|
|
|
|
Since all those collections will have (by design) the same test
|
|
architecture, this includes boilerplate describing that design,
|
|
to be used by all test documentation.
|
|
|
|
ISSUES:
|
|
- Sorting is a bit odd; section numbers can are like "3.3.3"
|
|
rather than straight numbers, so numeric sort can't work,
|
|
and yet neither does text sort (2.12 should be after 2.2).
|
|
|
|
-->
|
|
|
|
<xsl:stylesheet
|
|
xmlns:xsl="http://www.w3.org/TR/WD-xsl"
|
|
xmlns="http://www.w3.org/TR/WD-xhtml"
|
|
indent-result="yes"
|
|
>
|
|
|
|
<!-- default behaviour - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
<xsl:template><xsl:apply-templates/></xsl:template>
|
|
<xsl:template match="textnode()"><xsl:value-of/></xsl:template>
|
|
|
|
<!-- selective behaviour - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<!-- ROOT: write an HTML wrapper -->
|
|
<xsl:template match="/">
|
|
<xsl:apply-templates select="TESTSUITE"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="TESTSUITE">
|
|
<!-- XHTML namespace -->
|
|
<html><head>
|
|
<xsl:comment>Generated by an XSL stylesheet.</xsl:comment>
|
|
<title> XML Conformance Tests </title>
|
|
<meta http-equiv="Content-Type"
|
|
content="text/html;charset=utf-8"/>
|
|
<style>
|
|
<xsl:comment>
|
|
BODY {
|
|
font-family: Lucida, Helvetica, Univers, sans-serif;
|
|
}
|
|
H1, H2, H3, H4 {
|
|
text-align: left;
|
|
color: #0066CC;
|
|
}
|
|
</xsl:comment>
|
|
</style>
|
|
<style>
|
|
<xsl:comment>
|
|
a:hover {
|
|
color: white;
|
|
background-color: blue;
|
|
}
|
|
</xsl:comment>
|
|
</style>
|
|
</head><body bgcolor='#ffffff'>
|
|
<center>
|
|
<table border="4" width="90%">
|
|
<tr >
|
|
<td>
|
|
<table>
|
|
<tr >
|
|
<td width="40%"><img src="files/a_oasis-logo.gif" width="350" height="125"/></td>
|
|
<td width="30%"/>
|
|
<td width="40%" align="right"><img src="files/top3.jpe" width="400" height="125"/></td>
|
|
</tr>
|
|
</table>
|
|
<center>
|
|
<table>
|
|
<tr>
|
|
<td ><b><font size="+2">A Joint Development Effort</font></b></td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
<p/>
|
|
|
|
<p/>
|
|
<h4>OASIS XML Conformance Subcommittee<br/>XML 1.0 Test Suite, Second Edition<br/>Working Draft<br/>15 March 2001</h4>
|
|
<dl>
|
|
<dt><b>This version:</b></dt>
|
|
<dd><ul>
|
|
<li><a href="http://www.oasis-open.org/committees/xml-conformance/suite-v1se/xmlconf-20010315.htm">
|
|
http://www.oasis-open.org/committees/xml-conformance/suite-v1se/xmlconf-20010315.htm</a>
|
|
(<a href="http://www.oasis-open.org/committees/xml-conformance/suite-v1se/xmlconf-20010315.xml">XML</a>)
|
|
</li>
|
|
</ul>
|
|
</dd>
|
|
<p/>
|
|
<dt><b>Current Version:</b></dt>
|
|
<dd>
|
|
<ul>
|
|
<li><a href="http://www.oasis-open.org/committees/xml-conformance/suite-v1se/xmlconf.xml">
|
|
http://www.oasis-open.org/committees/xml-conformance/suite-v1se/xmlconf.xml</a></li>
|
|
</ul>
|
|
</dd>
|
|
<p/>
|
|
<dt><b>Previous Version:</b></dt>
|
|
<dd>
|
|
<ul>
|
|
<li><a href="http://www.oasis-open.org/committees/xml-conformance/suite-v1/xmlconf-19990712.xml">
|
|
http://www.oasis-open.org/committees/xml-conformance/suite-v1/xmlconf-19990712.xml</a></li>
|
|
</ul>
|
|
</dd>
|
|
<p/>
|
|
<dt><b>Test Archive:</b></dt>
|
|
<dd><ul>
|
|
<li><a href="http://www.oasis-open.org/committees/xml-conformance/suite-v1se/xmlconf-20010315.tar.gz">http://www.oasis-open.org/committees/xml-conformance/suite-v1se/xmlconf-20010315.tar.gz</a>
|
|
</li>
|
|
</ul></dd>
|
|
<p/>
|
|
<dt><b>OASIS XML Conformance Technical Committee:</b></dt>
|
|
<dd><ul><li><a href="http://www.oasis-open.org/committees/xml-conformance/">http://www.oasis-open.org/committees/xml-conformance/</a>
|
|
</li></ul></dd>
|
|
<p/>
|
|
<dt><b>Comments:</b></dt>
|
|
<dd><ul><li>Mary Brady, NIST <a href="mailto:mbrady@nist.gov"><mbrady@nist.gov></a>
|
|
</li></ul></dd>
|
|
<p/>
|
|
</dl>
|
|
<hr/>
|
|
|
|
<a name="contents"/>
|
|
<h2>Table of Contents</h2>
|
|
<ol >
|
|
<li><a href="#intro">Introduction</a></li>
|
|
<li><a href="#matrix">Test Matrix</a></li>
|
|
<ol >
|
|
<li ><a href="#binary">Binary Tests</a></li>
|
|
<li><a href="#output">Output Tests</a></li>
|
|
</ol>
|
|
<li><a href="#listings">Test Case Descriptions</a></li>
|
|
<ol >
|
|
<li><a href="#valid">Valid Documents</a></li>
|
|
<li><a href="#invalid">Invalid Documents</a></li>
|
|
<li><a href="#not-wf">Not-WF Documents</a></li>
|
|
<li><a href="#error">Optional Errors</a></li>
|
|
</ol>
|
|
<li><a href="#contrib">Contributors</a></li>
|
|
</ol>
|
|
<a name="intro"/>
|
|
<h2>1. Introduction </h2>
|
|
<p> The <i>OASIS</i> XML Conformance Subcommittee is concerned with
|
|
improving the quality of XML processors. The tests described in this
|
|
document provide a set of metrics to determine how well a
|
|
particular implementation conforms to the
|
|
<a href="http://www.w3.org/TR/REC-xml">W3C XML 1.0 (Second Edition) Recommendation </a>.
|
|
The XML Conformance Test Suite is intended
|
|
to complement the W3C XML 1.0 (Second Edition) Recommendation. All interpretations of
|
|
this Recommendation are subject to confirmation by the
|
|
<a href="http://www.w3.org/XML/Activity.html">W3C XML Coordination Group</a>.
|
|
</p>
|
|
<p>
|
|
Conformance tests can be used by developers, content creators, and
|
|
users alike to increase their level of confidence in product quality. In
|
|
circumstances where interoperability is necessary, these tests can also
|
|
be used to determine that differing implementations support the same set
|
|
of features. </p>
|
|
|
|
<p>This report provides supporting documentation for all of the tests
|
|
contributed by members of the <i>OASIS</i> XML Conformance Subcommittee.
|
|
Sources from which these tests have been collected
|
|
include: <em>
|
|
<xsl:for-each select="./TESTCASES">
|
|
<xsl:value-of select="@PROFILE"/>;
|
|
</xsl:for-each>
|
|
</em>. Although the tests came from a variety of sources, the actual test
|
|
descriptions and references back to the recommendation were in many instances
|
|
added by members of this subcommittee. It is anticipated that this report
|
|
will supplement the actual tests, which are available from
|
|
<a href="http://www.oasis-open.org/committees/xml-conformance/xml-test-suite.html">
|
|
http://www.oasis-open.org/committees/xml-conformance/xml-test-suite.html</a>.</p>
|
|
|
|
<p>Comments/suggestions should be
|
|
forwarded to the XML Conformance Subcommittee Chair, Mary Brady <a href="mailto:mbrady@nist.gov"><mbrady@nist.gov></a>.</p>
|
|
|
|
|
|
<a name="matrix"/>
|
|
<h2>2. Test Matrix </h2>
|
|
|
|
<p> Two basic types of test are presented here. These are
|
|
respectively <em><a href="#binary">Binary Tests</a></em>
|
|
and <em><a href="#output">Output Tests</a></em>. </p>
|
|
|
|
<a name="binary"/>
|
|
<h3>2.1 Binary Tests </h3>
|
|
|
|
<p> <em>Binary</em> conformance tests are documents which
|
|
are grouped into one of four categories. Given a document
|
|
in a given category, each kind of XML parser must treat it
|
|
consistently and either accept it (a <em>positive test</em>)
|
|
or reject it (a <em>negative test</em>). It is in that sense
|
|
that the tests are termed "binary". The XML 1.0 (Second Edition) Recommendation
|
|
talks in terms of two types of XML processor:
|
|
<em>validating</em> ones, and <em>nonvalidating</em> ones.
|
|
There are two differences between these types of processors: </p>
|
|
|
|
<ol>
|
|
<li> Validating processors check special productions that
|
|
nonvalidating parsers don't, called <em>validity
|
|
constraints</em>. (Both must check a basic set of productions,
|
|
requiring XML documents to be <em>well formed</em>.) </li>
|
|
|
|
<li> Nonvalidating processors are permitted to not
|
|
include <em>external entities</em>, such as files with
|
|
text. Accordingly, they may not report errors which
|
|
would have been detected had those entities been read.</li>
|
|
</ol>
|
|
|
|
<p> There are two types of such entity, <em>parameter
|
|
entities</em> holding definitions which affect validation
|
|
and other processing; and <em>general entities</em> which
|
|
hold marked up text. It will be appreciated that there are
|
|
then five kinds of XML processor: validating processors,
|
|
and four kinds of nonvalidating processor based on the
|
|
combinations of external entity which they include.</p>
|
|
|
|
<center>
|
|
<table border="1" bgcolor="#ffffff" cellpadding="4">
|
|
|
|
<caption>
|
|
<b>Basic XML Parsing Test Matrix</b><br/>
|
|
Test Document Type v. Parser Type
|
|
</caption>
|
|
|
|
<tr bgcolor="#ffffcc">
|
|
<th widthH="5%" rowspan="2"> </th>
|
|
<th widthH="20%" colspan="2">Nonvalidating</th>
|
|
<th widthH="5%" rowspan="2">Validating</th>
|
|
</tr>
|
|
|
|
<tr bgcolor="#ffffcc">
|
|
<th>External Entities<br/>Ignored (3 cases)</th>
|
|
<th>External Entities<br/>Read</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th bgcolor="#ffffcc">Valid Documents</th>
|
|
<td align="center"><b>accept</b></td>
|
|
<td align="center"><b>accept</b></td>
|
|
<td align="center"><b>accept</b></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th bgcolor="#ffffcc">Invalid Documents</th>
|
|
<td align="center"><b>accept</b></td>
|
|
<td align="center"><b>accept</b></td>
|
|
<td align="center">reject</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th bgcolor="#ffffcc">Non-WF Documents</th>
|
|
<td align="center">reject</td>
|
|
<td align="center">reject</td>
|
|
<td align="center">reject</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th bgcolor="#ffffcc">WF Errors tied<br/>
|
|
to External Entity</th>
|
|
<td align="center"><b>accept</b><br/>(varies)</td>
|
|
<td align="center">reject</td>
|
|
<td align="center">reject</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th bgcolor="#ffffcc">Documents with<br/> Optional Errors</th>
|
|
<td align="center">(not specified)</td>
|
|
<td align="center">(not specified)</td>
|
|
<td align="center">(not specified)</td>
|
|
</tr>
|
|
|
|
</table>
|
|
</center>
|
|
|
|
<p> At this time, the XML community primarily uses parsers
|
|
which are in the rightmost two columns of this table, calling
|
|
them <em>Well Formed XML Parsers</em> (or "WF Parsers") and
|
|
<em>Validating XML Parsers</em>. A second test matrix
|
|
could be defined to address the variations in the types of
|
|
of XML processor which do not read all external entities.
|
|
That additional matrix is not provided here at this time. </p>
|
|
|
|
|
|
<a name="output"/>
|
|
<h3>2.2 Output Tests</h3>
|
|
|
|
<p> The XML 1.0 (Second Edition) Recommendation places a number of requirements
|
|
on XML processors, to ensure that they report information to
|
|
applications as needed. Such requirements are testable.
|
|
Validating processors are required to report slightly more
|
|
information than nonvalidating ones, so some tests will
|
|
require separate output files. Some of the information that
|
|
must be reported will not be reportable without reading all
|
|
the external entities in a particular test. Many of the tests for
|
|
valid documents are paired with an output file to ensure that
|
|
the XML processor provides the correct information. </p>
|
|
|
|
<p>The output of these tests is provided in two forms, as
|
|
described in <a href="sun/cxml.html">SUN Microsystems XML
|
|
Canonical Forms</a>. At present, the <em>James Clark</em>
|
|
collection provides corresponding output in <em>First XML
|
|
Canonical Form</em>, and the <em>SUN Microsystems</em>
|
|
collection provides corresponding output in <em>Second XML
|
|
Canonical Form</em>. When the <a href="http://www.w3.org/XML/">
|
|
W3C XML Group </a>finalizes its work on Canonical XML, these
|
|
output files will be updated.
|
|
</p>
|
|
|
|
<a name="listings"/>
|
|
<h2>3. Test Case Descriptions</h2>
|
|
|
|
<p> This section of this report contains descriptions of test
|
|
cases, each of which fits into the categories noted above.
|
|
Each test case includes a document of one of the types in the
|
|
binary test matrix above (e.g. valid or invalid documents).
|
|
</p>
|
|
|
|
<p> In some cases, an <a href="#output">output file </a>, as
|
|
described in Section 2.2, will also be associated with
|
|
a valid document, which is used for output testing. If such
|
|
a file exists, it will be noted at the end of the description
|
|
of the input document. </p>
|
|
|
|
<p> The description for each test case is presented as a two
|
|
part table. The right part describes what the test does.
|
|
This description is intended to have enough detail to evaluate
|
|
diagnostic messages. The left part includes: <ul>
|
|
|
|
<li> An entry describing the <em>Sections and/or Rules</em>
|
|
from the <a href="http://www.w3.org/TR/2000/REC-xml-20001006">
|
|
XML 1.0 (Second Edition) Recommendation</a> which this case excercises.</li>
|
|
|
|
<li> The unique <em>Test ID</em> within a given <em>Collection</em>
|
|
for this test. </li>
|
|
|
|
<li> The <em>Collection</em> from which this test originated.
|
|
Given the <em>Test ID</em> and the <em>Collection</em>, each
|
|
test can be uniquely identified. </li>
|
|
|
|
<li> Some tests may have a field identifying the kinds of
|
|
external <em>Entities</em> a nonvalidating processor must
|
|
include (parameter, general, or both) to be able to
|
|
detect any errors in that test case. </li>
|
|
|
|
</ul></p>
|
|
|
|
<p><em>Note that the output format of this report is subject
|
|
to change. Also, since XSL does not currently support the
|
|
type of sorting rule necessary to make section numbers like
|
|
2.12 appear after 2.2, the ordering is not quite what is
|
|
desired.</em></p>
|
|
|
|
<a name="valid"/>
|
|
<h3>3.1 Valid XML Documents</h3>
|
|
|
|
<p> All conforming <em> XML 1.0 Processors </em> are
|
|
<b>required</b> to accept valid documents, reporting no
|
|
errors. In this section of this test report are found
|
|
descriptions of test cases which fit into this category. </p>
|
|
|
|
<xsl:apply-templates select=".// TEST [ @TYPE = 'valid' ]"
|
|
order-by="@SECTIONS"/>
|
|
|
|
<a name="invalid"/>
|
|
<h3>3.2 Invalid XML Documents</h3>
|
|
|
|
<p> All conforming XML 1.0 <em> Validating Processors </em>
|
|
are <b>required</b> to report recoverable errors in the case
|
|
of documents which are <em>Invalid</em>. Such errors are
|
|
violations of some <em>validity constraint (VC)</em>. </p>
|
|
|
|
<p> If a validating processor does not report an error when
|
|
given one of these test cases, or if the error reported is
|
|
a fatal error, it is not conformant. If the error reported
|
|
does not correspond to the problem listed in this test
|
|
description, that could also be a conformance problem; it
|
|
might instead be a faulty diagnostic. </p>
|
|
|
|
<p> All conforming XML 1.0 <em> Nonvalidating Processors </em>
|
|
should accept these documents, reporting no errors. </p>
|
|
|
|
<xsl:apply-templates select=".//TEST[@TYPE='invalid']"
|
|
order-by="@SECTIONS"/>
|
|
|
|
<a name="not-wf"/>
|
|
<h3>3.3 Documents that are Not Well Formed</h3>
|
|
|
|
<p> All conforming XML 1.0 Processors are <b>required</b> to
|
|
report fatal errors in the case of documents which are not
|
|
<em>Well Formed</em>. Such errors are basically of two types:
|
|
<em>(a)</em> the document violates the XML grammar; or else
|
|
<em>(b)</em> it violates a <em>well formedness constraint
|
|
(WFC)</em>. There is a single <em>exception to that
|
|
requirement</em>: nonvalidating processors which do not read
|
|
certain types of external entities are not required to detect
|
|
(and hence report) these errors. </p>
|
|
|
|
<p> If a processor does not report a fatal error when given
|
|
one of these test cases, it is not conformant. If the error
|
|
reported does not correspond to the problem listed in this
|
|
test description, that could also be a conformance problem;
|
|
it might instead be a faulty diagnostic. </p>
|
|
|
|
<xsl:apply-templates select=".// TEST [ @TYPE = 'not-wf' ]"
|
|
order-by="@SECTIONS"/>
|
|
|
|
<a name="error"/>
|
|
<h3>3.4 XML Documents with Optional Errors</h3>
|
|
|
|
<p> Conforming XML 1.0 Processors are permitted to ignore
|
|
certain errors, or to report them at user option. In this
|
|
section of this test report are found descriptions of
|
|
test cases which fit into this category. </p>
|
|
|
|
<p> Processor behavior on such test cases does not affect
|
|
conformance to the XML 1.0 (Second Edition) Recommendation, except as noted. </p>
|
|
|
|
<xsl:apply-templates select=".//TEST[@TYPE='error']"
|
|
order-by="@SECTIONS"/>
|
|
|
|
<a name="contrib"/>
|
|
<h3>4. Contributors (Non-normative)</h3>
|
|
|
|
<p> A team of volunteer members have participated in the
|
|
development of this work. Contributions have come from:
|
|
</p>
|
|
<ul>
|
|
<li>Murry Altheim, Sun Microsystems</li>
|
|
<li>Mary Brady, NIST</li>
|
|
<li>Tim Boland, NIST</li>
|
|
<li>David Brownell, Sun Microsystems</li>
|
|
<li>James Clark</li>
|
|
<li>Karin Donker, IBM</li>
|
|
<li>Irina Golfman, Inera Incorporated</li>
|
|
<li>Tony Graham, Mulberry Technologies</li>
|
|
<li>G. Ken Holman, Crane Softwrights Ltd</li>
|
|
<li>Alex Milowski, Veo Systems, Inc</li>
|
|
<li>Makota Murata, Fuji Xerox</li>
|
|
<li>Miles O'Reilly, Microstar Software, Ltd</li>
|
|
<li>Matt Timmermans, Microstar Software, Ltd</li>
|
|
<li>Richard Rivello, NIST</li>
|
|
<li>Lynne Rosenthal, NIST</li>
|
|
<li>Brian Schellar, Chrystal Software</li>
|
|
<li>Bill Smith, Sun Microsystems</li>
|
|
<li>Trevor Veary, Software AG</li>
|
|
<li>Eric Ye, IBM</li>
|
|
</ul>
|
|
<p>End</p>
|
|
|
|
</body></html>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="TEST">
|
|
<table width="100%">
|
|
<tr valign="top">
|
|
<td width='40%'><table bgcolor='#eeeeff'
|
|
border='1' width='100%' height="100%">
|
|
<tr>
|
|
<td width='50%'><b>Sections [Rules]:</b></td>
|
|
<td bgcolor='#ffffcc'>
|
|
<xsl:value-of select="@SECTIONS"/></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td width='50%'><b>Test ID:</b></td>
|
|
<td bgcolor='#ffffcc'>
|
|
<xsl:value-of select="@ID"/></td>
|
|
</tr>
|
|
<xsl:if test=".[not ( @ENTITIES = 'none')
|
|
and ( @TYPE = 'not-wf' )]">
|
|
<tr valign="top">
|
|
<td width='50%'><b>Entities:</b></td>
|
|
<td bgcolor='#ffffcc'><font color='blue'>
|
|
<xsl:value-of select="@ENTITIES"/>
|
|
</font></td>
|
|
</tr>
|
|
</xsl:if>
|
|
<xsl:if test="../@PROFILE">
|
|
<tr valign="top">
|
|
<td width='50%'><b>Collection:</b></td>
|
|
<td bgcolor='#ffffcc'>
|
|
<xsl:value-of select="../@PROFILE"/>
|
|
</td>
|
|
</tr>
|
|
</xsl:if>
|
|
</table></td>
|
|
<td bgcolor='#ccffff'>
|
|
<p><xsl:apply-templates/></p>
|
|
<xsl:if test="@OUTPUT | @OUTPUT3">
|
|
<p>There is an output test associated with this
|
|
input file.</p>
|
|
</xsl:if>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<!-- XT takes 'B|EM' and xsl:copy, IE5b2 doesn't -->
|
|
<xsl:template match="EM">
|
|
<em><xsl:apply-templates/></em>
|
|
</xsl:template>
|
|
<xsl:template match="B">
|
|
<b><xsl:apply-templates/></b>
|
|
</xsl:template>
|
|
</xsl:stylesheet>
|