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:


Further, since they're all uniformly constructed
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



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

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