forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <>
Subject Re: [Patch] tweaks to DTDs and XML
Date Sat, 09 Feb 2002 13:15:44 GMT
David Crossley wrote:
> Stefano Mazzocchi wrote:
> > David Crossley wrote:
> > > Hi Stefano, my usual thing when i start out on an XML
> > > project is to validate one of the existing XML documents
> > > to be sure that the infrastructure is set up properly.
> >
> > Yeah, I didn't do that... because I knew that somebody else
> > would have done it :)
> Please do not rely on that.

David, it is by leaving little itches for people to scratch that I
managed to make a good open development community. The first project I
started, JMeter, came up all polished and finished so people used it a
lot, but never had the itch to dive into it and understand it.

Result: no help from the development side and lots of wishes on the user
side. Means: if I left the effort, it would have died.

Fast forward to Cocoon 1.0: it's was a very simple and ugly servlet that
connected XML4j (what became Xerces) and LotusXSL (what became Xalan).
Others would have called it 0.01a, I called it 1.0 and people started to
use it... but there we lots of problems, lots of things to improve...
and now Cocoon is one of the most complex java software in the whole

And this is so *exactly* because I rely on the mindset of developers who
simply can't stand imperfections. So I live them in, on purpose, so that
others are bugged by them, but not enough to turn away, but enough to
jump in, help and get a taste of the underlying ideas.

Doing this for avalon was the biggest difficulty, that's why I moved
away from it and helped James and Cocoon move to Avalon: it's by
patching Cocoon that people get to appreciate avalon. That's how I got
Berin and Peter in.

If Cocoon was perfect, you would have used it and you wouldn't now be
part of the community, you wouldn't have the chance to shape its future,
you wouldn't have the fun and you wouldn't have learned those things
that you learned from us.

All because I relied on the validation pickyness of somebody. And you
happened to be the one to jump in.

Those imperfections that I don't care about are 'ego traps' and I leave
them around because I'm a person hunter: I don't care about good
software, I care about good people and having them in my team.

Those 'ego traps' are the way I do recruiting for open development

And, like it or not, all of you jumped (probably Sam is the only one who
didn't) in those traps with both feet :)

> > I know, I know, call me captain lazy butt :)
> Well i will kick it now and then :-) Sorry, i know that we are
> all busy and some fundamental things get overlooked.

'fundamental' is a highly relative concept, David. For Apache, what I
consider 'fundamental' is having great people in a development
community. Everything else doesn't really matter.
> Perhaps that is my role in life. It seems that everywhere i go
> in XML-land, people are over-looking fundamental infrastructure
> issues, which leads to serious problems down the track. I see
> people publishing DTDs that they have not actually used, and
> i get horrified.


I get horrified for very different things, believe me, but it's because
that we work together than we are powerful. And this is what I care
about most.
> I am not having a shot at you Stefano - just a general gripe.

Oh, please, my patented abstesto underwear has resisted much higher
temperatures :) This is a breeze for me.

> On the cocoon-dev list i am having trouble getting people to
> consider validation issues.

You do? from where I stand, I think you did a great job and people are
(admittedly slowly) listening. It might be that the problems are the DTD
technology which is not powerful enough in a heavily namespaced world
like Cocoon. Have you ever considered switching over to RelaxNG?

Should we for Forrest?
> Anyway, i think that it is important to get these issues sorted
> out early in the life of Forrest.

> > > There are some issues with Forrest, but i have sorted
> > > most of them out and attach a collection of patches
> > > forrest-patch.tar.gz ...
> > >
> <snip/>
> >
> > > 2) modified schemas/catalog
> > > - Fixed typo ... IOSdia.pen => ISOdia.pen
> >
> > yeah, good eye
> Actually no, my eye missed it. It was only when i tried
> to validate changes.xml that it came up. This was the
> first issue raised by the validating parser.

> That is my main point. It is so easy to make blunders
> when authoring XML instances or when designing DTDs.
> One cannot rely on the eye (or even on editing tools)
> and must use a validating parser.

or rely on picky people like you :) [sorry, I had to say that]
> <snip/>
> >
> > > There are a couple of other things that i do not have
> > > time to address. Here is what my xml parser says ...
> > > --------
> > > /usr/local/cvs/xml-forrest/schemas/DTD/document-v11.dtd [352:19] : Error: duplicate
declaration for element 'note'
> > > /usr/local/cvs/xml-forrest/schemas/DTD/document-v11.dtd [486:34] : Fatal error:
> > > content model not correctly delimited
> > > reading entity developers: developers.xml
> > > /usr/local/cvs/xml-forrest/changes.xml [18:11] : Error: an IDREF attribute
refers to the ID 'SF' which is not present in the document
> > > --------
> >
> > Hmmm, weird. What parser are you using?
> Since before XML days i have been using James Clark's
> SP/nsgmls. It provides very useful error messages, reports
> line numbers better, and does some magic to take earlier
> messages into account. That has now evolved into
> OpenSP at
> However, the messages that i provided above are from
> another nice parser called xmlvalid at
> I find that i often need two separate parsers to nail the
> difficult errors, though OpenSP usually does the trick.
> Here is what OpenSP says when validating the current
> changes.xml ...
> --------
> document-v11.dtd:352:35:E: element type "note" already defined
> document-v11.dtd:488:30:E: delimiter "|" invalid: only data tag group,
> model group, element token, "#PCDATA", "#ALL", "#IMPLICIT" and
> token separators are allowed for
> changes.xml:6:0:W: generic identifier "warning" used in DTD but not defined
> changes.xml:6:0:W: generic identifier "img" used in DTD but not defined
> changes.xml:6:0:W: generic identifier "body" used in DTD but not defined
> changes.xml:6:0:W: generic identifier "li" used in DTD but not defined
> changes.xml:6:0:W: generic identifier "connect" used in DTD but not defined
> changes.xml:13:15:X: reference to non-existent ID "SF"
> --------
> I am not sure why those 5 Warnings about the DTD are being
> referred to as coming from line 6 of changes.xml (perhaps
> because changes-v11.dtd includes document-v11.dtd).
> That last error may be because the developers.xml is
> included as an external entity. I am not familiar enough with
> IDREF to say.
> Sorry, i cannot help out more with the actual DTD errors.

Ok, I'll take a look at these.

Stefano Mazzocchi      One must still have chaos in oneself to be
                          able to give birth to a dancing star.
<>                             Friedrich Nietzsche

View raw message