OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] collisions (was The subsetting has begun)

[ Lists Home | Date Index | Thread Index ]


Dare Obasanjo wrote:

> Exactly what is wrong with the "Project Record in XML" from a document
> design perspective?


The main problem is that all the URLs point to a CGI
redirector on freshmeat.net, instead of the real URI:

    <url_homepage>http://freshmeat.net/redir/dom4j/16508/url_homepage/</url_homepage>

Further, since they're all uniformly constructed
(http://freshmeat.net/redir/$projectName/$projectId/url_$urlType),
the only useful bit of information you can glean from
the entire element is whether or not there exists
a URL of that category for that project.

Aside from that, the document structure looks suspiciously
like a direct serialization of a badly-designed RDBMS schema --
you can just *tell* that the site is backed by a database
containing something like:

    CREATE TABLE project_urls
    (
	project_id char(32) primary key,
	url_homepage char(100) null,
	url_project_page char(100) null,
	url_tgz char(100) null,
	url_changelog char(100) null,
	url_rpm char(100) null,
	url_deb char(100) null,
	url_bz2 char(100) null,
	url_cvs char(100) null,
	url_list char(100) null,
	url_zip char(100) null,
    );

A better design (IMO) would be an XML serialization like:

    ...
    element urls {
    	element url {
	      attribute role string
	    & attribute href string }* }
    ...

where 'role' is one of 'homepage', 'project_page', 'rpm', etc.,
which would be the natural serialization of something like:

    CREATE TABLE project_urls
    (
	primary key (project_id, url_role)
	project_id string references project.project_id,
	url_role string references url_roles.url_role,
	url string
    );


Or going even further, the freshmeat.net database would
be a killer app for RDF.


--Joe English

  jenglish@flightlab.com




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS