cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject Semantic analysis of the namespace URI used in Cocoon HEAD
Date Mon, 28 Apr 2003 22:50:41 GMT
In light of contrast solidity, I armed myself with grep and patience and
went thru the entire CVS HEAD to find out all the cocoon-related
namespace URIs that we use.

Here is the result:

http://apache.org/cocoon/sitemap/1.0
http://apache.org/cocoon/directory/2.0
http://apache.org/cocoon/include/1.0
http://apache.org/cocoon/source/1.0
http://apache.org/cocoon/profiler/1.0
http://apache.org/cocoon/i18n/2.1
http://apache.org/cocoon/status/2.0
http://apache.org/cocoon/action/1.0
http://apache.org/cocoon/xmldb/1.0
http://apache.org/cocoon/capture/1.0
http://apache.org/cocoon/lucene/1.0
http://apache.org/cocoon/search/1.0
http://apache.org/cocoon/sendmail/1.0
http://apache.org/cocoon/mail/1.0
http://apache.org/cocoon/LDAP/1.0
http://apache.org/cocoon/xsp/input/1.0
http://apache.org/cocoon/fragmentextractor/2.0
http://apache.org/cocoon/paginate/1.0
http://apache.org/cocoon/SQL/2.0
http://apache.org/cocoon/error/ + CONF_VERSION
http://apache.org/cocoon/linkstatus/2.0
http://apache.org/cocoon/zip-archive/1.0
http://apache.org/cocoon/role-filter/1.0
http://apache.org/cocoon/XSPDoc/v1
http://apache.org/cocoon/SQL/v2

http://xml.apache.org/cocoon/xdoc/1.0
http://xml.apache.org/cocoon/GIFSourceInspector
http://xml.apache.org/cocoon/JPEGSourceInspector
http://xml.apache.org/cocoon/XPathSourceInspector
http://xml.apache.org/cocoon/PrincipalListGenerator
http://xml.apache.org/cocoon/source/2.0
http://xml.apache.org/cocoon/validator/phase
http://xml.apache.org/cocoon/xmlform/2002
http://xml.apache.org/cocoon/requestgenerator/2.0

http://cocoon.apache.org/session/1.0
http://cocoon.apache.org/woody/template/1.0
http://cocoon.apache.org/woody/definition/1.0
http://cocoon.apache.org/woody/instance/1.0
http://cocoon.apache.org/jxforms/2002/cr
http://cocoon.apache.org/templates/jx/1.0

http://apache.org/xsp
http://apache.org/xsp/request/2.0
http://apache.org/xsp/response/2.0
http://apache.org/xsp/session/2.0
http://apache.org/xsp/cookie/2.0
http://apache.org/xsp/log/2.0
http://apache.org/xsp/util/2.0
http://apache.org/xsp/form-validator/2.0
http://apache.org/xsp/sel/1.0
http://apache.org/xsp/xscript/1.0
http://apache.org/xsp/soap/3.0
http://apache.org/xsp/jpath/1.0
http://apache.org/xsp/request/2.0
http://apache.org/xsp/response/2.0
http://apache.org/xsp/session/2.0


First of all, the *default* pattern for Cocoon namespaces is

 http://apache.org/cocoon/[name]/[major.minor]

where

 name -> indicates the concept to which the namespace is connected
 major.minor -> the version of the namespace

only half of the namespaces follow that pattern.

------------------------------------------------------------------

Two namespaces follow the year-oriented approach that W3C suggests.
While I don't want to enter a discussion, I *strongly* believe that
W3C-mandated year-based URI design *SUCKS ASS*. Most notably for one
reason: usability.

It's very natural for people to know the version of the namespace they
are using, but it's not to remember what year that particular version
was released. XHTML is namespaces with http://www.w3.org/1999/xhtml. I
strongly believe that "http://w3.org/xhtml/1.0" would have been shorter,
easier to remember, and *MUCH* more friendly.

XMLForm and JXForms use a year-based approach. I propose we change these to:

 http://apache.org/cocoon/xmlform/1.0
 http://apache.org/cocoon/jxform/1.0

------------------------------------------------------------------

The error notifying generator uses the following namespace:

  http://apache.org/cocoon/error/ + CONF_VERSION

which is correct, but forces people to upgrade their stylesheets
everytime a new release is made. This is, IMO, unnecessary. I propose to
change this to

  http://apache.org/cocoon/error/2.1

and change it only when it makes sense to do so.

------------------------------------------------------------------

the use of http://cocoon.apache.org/ is semantically equivalent to
http://apache.org/cocoon/ but I think coherence is important. I
therefore propose to change

 http://cocoon.apache.org/session/1.0
 http://cocoon.apache.org/woody/template/1.0
 http://cocoon.apache.org/woody/definition/1.0
 http://cocoon.apache.org/woody/instance/1.0
 http://cocoon.apache.org/templates/jx/1.0

to

 http://apache.org/cocoon/session/1.0
 http://apache.org/cocoon/woody/template/1.0
 http://apache.org/cocoon/woody/definition/1.0
 http://apache.org/cocoon/woody/instance/1.0
 http://apache.org/cocoon/templates/jx/1.0

------------------------------------------------------------------

The namespaces defined in the 'slide' block:

 http://xml.apache.org/cocoon/GIFSourceInspector
 http://xml.apache.org/cocoon/JPEGSourceInspector
 http://xml.apache.org/cocoon/XPathSourceInspector
 http://xml.apache.org/cocoon/PrincipalListGenerator

don't follow any of the patterns.

> ------------------------------------------------------------------

We have two different namespaces for:

 - source

     http://xml.apache.org/cocoon/source/2.0
     http://apache.org/cocoon/source/1.0

 - mail

     http://apache.org/cocoon/sendmail/1.0
     http://apache.org/cocoon/mail/1.0

Why is it so? I would propose we make an effort to converge the two into
one.

------------------------------------------------------------------

The request generator is part of the core generators yet it doesn't
follow the patterns. I suggest we change

     http://xml.apache.org/cocoon/requestgenerator/2.0

into

     http://apache.org/cocoon/request/2.0

------------------------------------------------------------------

there are two XSP logicsheets who don't belong to the XSP URI space:

  http://apache.org/cocoon/SQL/v2
  http://apache.org/cocoon/xsp/input/1.0

I propose to change them into

  http://apache.org/xsp/esql/2.0
  http://apache.org/xsp/input/1.0

------------------------------------------------------------------

Is the following namespace ever used?

  http://apache.org/cocoon/XSPDoc/v1

if so, I propose we change it into

  http://apache.org/xsp/doc/1.0

------------------------------------------------------------------

The namespace

   http://xml.apache.org/cocoon/validator/phase

is used in xmlform, I propose to change it into

   http://apache.org/cocoon/xmlform/validator/1.0

or something equivalent

------------------------------------------------------------------





Final thoughts
==============

I'm perfectly aware that all those changes are back-incompatible, but,
IMO, we *MUST* make an effort to keep a registry of the namespaces used
and make sure we both control them and keep an eye on their pattern
coherence.

I also propose that *everytime* code is added in CVS that introduces or
works on a new namespace, a vote has to take place on the URI used for
that namespace.



Thoughts?


-- 
Stefano.




Mime
View raw message