Update of schema generating transform and grant of license

I've updated the schema generating transform formerly known as dom2xsd.xsl (now dom-to-xsd.xsl to avoid confusion with DOM Level 2).  

The files available are:

http://xmlconf.sourceforge.net/www-dom-ts/dom-to-xsd.xsl  -  XSLT transform for generating schema
http://xmlconf.sourceforge.net/www-dom-ts/dom1.xsd         -  Schema for DOM Level 1 test definition
http://xmlconf.sourceforge.net/www-dom-ts/dom1_10_2000.xsd -
Schema in October 2000 Schema


The significant changes are:

1. W3C Software License assertion

Just to make it legal.

Declaration of Curt Arnold

   Curt Arnold hereby grants to the W3C, a perpetual,
   nonexclusive, royalty-free, world-wide right and license under any
   Curt Arnold copyrights in this contribution to copy, publish and
   distribute the contribution, 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. Curt Arnold
   further agrees that any derivative works of this contribution prepared
   by the W3C shall be solely owned by the W3C.

2. Dynamically generated namespace

The previous schemas have all had a namespace starting with http://xmlconf.sourceforge.net.  I now generate the namespace by appending "#test-definition" to the name of the spec.  For example, http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001#test-definition is the namespace generated from the DOM Level 1 spec.  Definitely open for suggestions on the proper form of the namespace URI.

It is required to manually remove an underscore ( _ ) from the _xmlns attribute in the generated <xsd:schema> element since XSLT 1.0 doesn't provide a mechanism for introducing an arbitrary namespace into the target document.

3. Dublin Core-esque metadata elements

I've added into the test namespace elements <title>, <creator>, <subject>, <description>, <contributor>, <date>, <source>, and <relation> that are strongly patterned after Dublin Core elements (http://www.dublincore.org/documents/dces/) expressed in RDF.  These would not be recognized by an RDF processor, but it should be very easy to extract Dublin Core metadata when desired.

Hopefully, it mostly self-explanatory.  Most elements have optional resource and type attributes that are absolute URI's.  The resource URI can provide an unambiguous identifier to the creator, source, etc.  type could be used to distinguish, for example, between individual and corporate contributors.  The element content can be a label for the resource (such as the name of the person).

<source> is a base work, so for example, the NIST submitted tests could identify the prior NIST tests by some URI schema.

<subject> could identify a specific point in a DOM spec that the test addresses.  One of my next tasks is to create a transform to create a catalog of URI's for subjects (aka purposes)

So for example, a test could look like this:

<test>
   <hasFeature feature="xml" version="2.0"/>
   <metadata>
        <title>createElementNSNullNamespace</title>
        <description>This test calls createElementNS with a null namespace argument and ...</description>
        <creator resource="http://nist.gov/#mbrady">Mary Brady</creator>
        <contributor resource="http://www.example.com#Bob">Bob Boberton</contributor>
        <source resource="java:gov.nist.dom.createElementNSNullNamespace"/>
        <subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001#ID-ABCDEDF">Document.createElementNS</subject>
        <subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001#something">Element.tagName</subject>
        <date qualifier="created">2000-05-31</date>
        <date qualifier="submitted">2001-06-17</date>
    </metadata>

4. Conformance to the XML Schema recommendation

The generated schema now conforms to the XML Schema recommendation instead of the Oct 2000 draft.  However, all that is necessary to use the schema with Oct 2000 tools is to change the namespace declaration and to replace occurences of xsd:anyURI with xsd:uriReference

5. www-dom-ts module in http://xmlconf.sourceforge.net CVS

I've created a www-dom-ts module within the xmlconf CVS for www-dom-ts related work.  I'll be adding more things to that module as I clean things up.

Received on Sunday, 17 June 2001 03:17:12 UTC