Re: CD index DTD weird

robert nospam at moon.eorbit.net
Sun, 30 May 1999 11:02:26 -0700 (PDT)

On 30 May, Thorsten Schnier wrote:
> Hi !
>
> I am just preparing a class on XML and DTDs for tuesday, and wanted to
> use the CDindex DTD as example. Unfortunately, I think it is wrong, for
> two reasons:

Thanks for taking a look at it -- this is my first DTD and I asked
people to take a look at it, and you're the first person to step
forward. Thanks!

> - inconsistent: <!ELEMENT SingleArtistCD (ArtistName, TrackName+)>:
> there is no element ArtistName or TrackName in the DTD, neither is there
> a MultTrack, or NumTracks
>
> - does not fit example data: only either MultiArtistCD or MultiArtistCd
> appear, TOC can appear in top-level? Disk-ID can be empty?

Wow -- these inconsistencies are plain embarrasing. I wrote the DTD
when I first was laying out the data, and then when I actually wrote
the parser/generator I ended up changing my mind, and I did a shoddy
job of updating the DTD.

I would like to take your updated DTD and accept it as the CDInfo.dtd.
Do I have your persmission to do so?

> I think the following makes more sense. It seems unfortunate that the
> Track/MultiTrack distintions is not used. It is therefore possible not
> to have an artist, or to have 'global' and 'local' artists.

I agonized over that decision back and forth. In the end I decided to
keep the number of tags down and keep it simpler. The parser can infer
the context of the artist name.

I really haven't worked much with XML yet to have an appreciation for
the trade-offs when making decisions such as that one.

> My knowledge of DTDs is not very deep, but this makes more sense to me.
> Or am I completely off here?
> (not sure about the 'IdInfo?', is it really optional?)

Nope, it all makes sense. IdInfo is optional since the CDIndex could
possibly contain track data without containing an any id info for it.
The reasoning behind that is if there is a third party database that
was to get merged in with the CD Index, I didn't want to force the
merging database to have all the Id info in the database. The
submission process will add that information without the user having to
retype that all the info.

> Good luck with the CDIndex project (I wonder if PHP3 or Zend are not
> better tools to write the DB interfaces with...)

Thanks -- I used to use PHP, but it ended up being too slow (that was
before they sped it up 100 fold). Since then I've gotten converted to
the Perl... But, what is Zend?

Are you possibly interested in helping out with the project?

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- robert nospam at moon.eorbit.net http://moon.eorbit.net/~robert