Document Object Model Conformance Test Suites FAQ

August 10, 2001. Subject to change.
Maintained by: the W3C DOM TS Group

This document contains the most frequently asked questions about the Document Object Model Conformance Test Suites. Please send suggestions or comments about this FAQ to the address above.

(Note: We maintain this document's source as faq.xml, using the markup language defined by faq.dtd. This XHTML version is generated from that source using faq.xsl.)

table of contents

General

Using XML in the DOM TS

Copyright and Reference

Submitting tests

Test Suite Packaging and Versioning

Test Suite building


General

What does DOM TS stand for?

The Document Object Model (Conformance) Test Suites. In short, the DOM TS will consist of a series of tests per level of the DOM specification in Java and ECMA, as well as the possibility to generate other bindings to test implementations with support for the DOM and support for other languages except for the ones indicated.

Return to Top

Why should I use the DOM TS?

The DOM TS is the only existing framework which combines the guarantee of the DOM WG as far as test reliability is concerned and NIST as far as test coverage is concerned, with the fact that development has been public, allowing for anyone interested in DOM to participate, thus ensuring that deployment will be wide. This way, we have ensured that the collection of tests that form particular versions of the DOM TS are accurate and as complete as possible with regard to coverage and test quality.

Return to Top

What is the current state of the DOM specification?

The DOM TS was launched in March 2001 and is currently (August 10, 2001) under developement.

We are close to publishing the DOM TS for level 1, after which we anticipate to publish the level 2 DOM TS. A level 3 DOM TS will be published after the DOM level 3 specification has reached Candidate Recommendation status.

Return to Top

Does Conformance mean I can state a 100% conformance with the DOM Specification if my implementation passes the DOM TS?

No. There are several reasons for this.

However, we believe that the support given by the DOM TS is substantial and helps implementors to significantly increase the support for DOM in their implementations.

Return to Top

Where do I post questions about the DOM TS?

Your first point of getting information should be the FAQ you are reading now. More questions can be posted to the public DOM TS mailing list www-dom-ts@w3.org. To subscribe, send mail to www-dom-ts-request@w3.org with the subject "subscribe". Please read this FAQ before posting any questions.

Return to Top

How do I influence the DOM TS?

Read the information up on the Web site, and send email to www-dom-ts@w3.org.

Return to Top


Using XML in the DOM TS

Why use XML to describe the tests? Why not just the code itself?

Even though the DOM WG has chosen to use two bindings for its specifications, we believe that using a language-neutral description of tests allows for easy generation of tests in more languages. As the DOM is designed to be application and language-independant, we believe using this approach shows the DOM's strengths.

What we do is really straightforward; using an XSLT transform on the DOM specification itself, we generate the schema for the DOM TS Markup Language, which we then use to write the test cases. These are then used together with XSLT stylesheets for particular languages to generate language-specific code.

This way it's fairly simple to keep a rather complete set of tests (or rather test descriptions) while still ensuring that particular languages can be supported, and, in effect, products using the DOM but not supporting the two proprietary bindings used by the DOM WG.

Also, by using the DOM specification itself to generate the schema for the DOM TS ML, we ensure that all facets are covered and that the schema is correct (this is not saying that we cover all possible test cases, however).

Return to Top

Why use W3C Schema?

The W3C Schema is superior to DTD when it comes to expressing, for example, interdependencies and context. We chose it as it is a Recommendation, as well as for testing it. Also, it is by far easier to mimic the programmatic aspect of tests we wanted to have in a schema than in a DTD.

We will, however, provide a DTD version of the DOM TS ML schema so that developers with implementations that do not support XML Schema can still write tests for the DOM TS.

Return to Top

What about XSLT?

The simple answer is that we use XSLT to transform our XML representations (be it of tests or the schema for the TS ML) into something useful.

The slightly more elaborate answer is that we want to keep representations as simple as possible and also allow for people to write harnesses around the test representations to generate the necessary code and also generate meaningful results. We did not want to write only one harness, as implementations differ greatly in functionality. We will, however, provide one harness for the ECMA tests.

Return to Top

What about code in other languages? Will that be provided?

Not as such. We invite the developer community to submit XSLT transforms that can be used to generate tests in particular languages. This way we ensure that it is the same test that is output, just in a different language. Please note, however, that the DOM TS will not enforce any XSLT transforms other than those for Java and ECMA. These stylesheets will be available for download at the main DOM TS page, once submitted by the developer community.

Return to Top


Copyright and Reference

What happens when I sumbit a test? Who owns it?

The copyright statement you will be asked to accept if you want to submit tests is:

The Contributor hereby grants to the W3C, a perpetual, nonexclusive, royalty-free, world-wide right and license under any Contributor copyrights in this contribution to copy, publish and distribute the contribution under the W3C Software License (19980720), as well as a right and license of the same scope to any derivative works prepared by the W3C and based on, or incorporating all or part of the contribution.

The Contributor vouches that she/he has all rights necessary to contribute the Materials in a way that does not violate copyright, patent, and trademark rights; contractual obligations, or libel regulations.

Contributor further agrees that any derivative works of this contribution prepared by the W3C shalll be solely owned by the W3C. The Contributor agrees that all contributed Materials when published or otherwise distributed by the W3C will be governed by the W3C Software License (19980720).

W3C will retain attribution of authorship to the Contributor. Whenever modifications are made to the Materials, this fact, and the nature of the modifications, will be clearly signalled in the distributed version thereof. The W3C makes no a-priori commitment to support or distribute contributions.

Return to Top


Submitting tests

How do I submit tests to the DOM TS framework?

To send a test to the DOM TS, send a mail with the test attached to www-dom-ts-sumbission@w3.org. On doing so, you will receive a reply stating the copyright notice given above. If you do not accept that, notify contact the DOM WG TS representative to remove the test from the test suite.

Return to Top

What happens to the test after submission?

The test will be put in the W3C CVS, which is publically available, by the DOM Test Moderator. Issues regarding the test, eg. whether the test is correct, whether it is needed in the test suite and so forth, will be dealt with in the DOM TS issue tracking project at the domconftest project as well as on the DOM TS mailing list.

Return to Top


Test Suite Packaging and Versioning

How will the DOM TS be packaged?

The DOM TS will consist of a series of tests for a specific level, together with the generated XML schema and DTD and the XSLT transforms needed to generate the Java and ECMA bindings. These files will be available from the main DOM TS page.

Return to Top

Will there be different versions of the DOM Test Suite?

Yes. The DOM TS will be published for each level of the DOM specification, but is subject to alterations according to the DOM TS Process Document. Different versions of a particular test suite will be available, together with the appropraite documentation, from the main DOM TS page.

Return to Top


Test Suite building

How is the test suite built?

We've chosen to use ANT to build the test suite. When running this, you use the stylesheet to generate the XML schema for the particular level of the DOM you are interested in and then generate the tests in the language you have chosen from the XML descriptions of the tests. You will not have to do this each time, as the entire TS will be available for download. However, if you want to write a different harness around the test descriptions, you can easily change the build.xml file the ANT uses to generate the results you want in the form you want them.

Return to Top