Return-Path: Delivered-To: apmail-xml-cocoon-dev-archive@xml.apache.org Received: (qmail 4982 invoked by uid 500); 29 Apr 2003 03:19:36 -0000 Mailing-List: contact cocoon-dev-help@xml.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: cocoon-dev@xml.apache.org Delivered-To: mailing list cocoon-dev@xml.apache.org Received: (qmail 4963 invoked from network); 29 Apr 2003 03:19:35 -0000 Received: from unknown (HELO pulse.betaversion.org) (217.158.110.65) by daedalus.apache.org with SMTP; 29 Apr 2003 03:19:35 -0000 Received: (qmail 8401 invoked from network); 29 Apr 2003 03:19:42 -0000 Received: from unknown (HELO apache.org) (stefano@66.198.46.82) by pulse.betaversion.org with SMTP; 29 Apr 2003 03:19:42 -0000 Message-ID: <3EADB041.4090003@apache.org> Date: Mon, 28 Apr 2003 17:50:41 -0500 From: Stefano Mazzocchi User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.3) Gecko/20030312 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Apache Cocoon Subject: Semantic analysis of the namespace URI used in Cocoon HEAD Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N 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.