JA-SIG DTD and Schema URLs

JA-SIG needs a standard URL nomenclature for its custom dtds, schemas. URLs we can actually host enhances tool support for working with dtds, schemas. This was discussed on-list in April of 2005 but for various reasons we didn't actually publish DTDs at that time.

The purpose of this page is to resurrect the insight of that conversation, arrive at URLs, and coordinate publishing the artifacts to these URLS.

Background

Motivation

Eric's mandate for this effort

from an email
The custom XML configuration files, such as tables.xml and data.xml, we use for uPortal 3 will have associated DTD or XSD documents for validation. I would like to follow the generally accepted standard and have a web location we can put these files so they may be referenced from the XML documents with ease. For a location I'm thinking a URL like the following:

http://www.uportal.org/schema/tables.xsd

Risks

I'd also caution on the use of of the remote schemas for doing actual validations...I've been bit in the past by processes that were dependent on remote schema being available...better to package them up and access them locally. – Bill

What versions do we need?

Schema versions and minor releases

from an email
Maybe we need to get the minor version in there as a folder as well, e.g.

http://www.uportal.org/up3/0/schema/database/tables-1_0.xsd

This would be the first version of tables.xsd for uPortal 3.0.

This speaks to Cris's point earlier about using directories to keep things cleaner.

The alternative, if we go through several versions a schema between uP 3.0 and uP 3.27, is to fill the directory

http://www.uportal.org/up3/schema/database/

with tables-1_0.xsd

through tables-49_2.xsd .

Do we need multiple versions of any given schema within a single minor release? Or is constancy of schemas within a minor release one of the things that makes it a minor release?

That is do we need

http://www.uportal.org/up3/0/schema/database/tables-1_0.xsd

?

Or is it always true that once a particular minor release of uP 3 is released, its schemas will not change within that version, so that once published,

http://www.uportal.org/up3/2/schema/database/tables.xsd

will not change and doesn't need additional version information in the file name?

Using ja-sig namespace versus using uportal namespace

OASIS uses central OASIS namespace sectioned for projects rather than spinning out namespace for different projects' URLS. So www.ja-sig.org/schemas/uportal/3/0/tables.xsd rather than www.uportal.org/schemas/3/0/tables.xsd

Requirements

Namespace versions naturally

We need URLs that naturally incorporate versioning so we don't run afoul of trying to change a published DTD, Schema or having multiple versions at URLs that make it difficult to understand what version you're looking at (cf. JSTL taglib declaration woes).

Publish files to this namespace

We need to be able to publish the DTDs, schemas to the namespaced URLS. This could be accomplished by hsoting them in JA-SIG Apache. While end uesrs shouldn't get these for every request, they should be able to get them initially and seed them thereby into a local repository.

Perform validation in uPortal against uP-local copies of the files

The plan is to do the actual validation with a local copy of the XSD. The web based version just makes it much easier on XML editors.

Support namespace for multiple products

Consequent plan

Concrete plan goes here fulfilling requirements identified above.

http://www.ja-sig.org/schema/uportal/3/0/database/tables.xsd http://www.ja-sig.org/schema/uportal/3/0/database/data.xsd

Host these on ja-sig via raw Apache.

Plan implementation status

Not implemented. Awaiting plan.