You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by David Crossley <cr...@apache.org> on 2004/04/23 07:34:26 UTC

skinconf versioning (Was: svn commit: rev 10172)

Brian S. Hayes wrote:
> Nicola Ken Barozzi wrote:
> > The fact is that somehow I was still getting errors in the logs about a
> > missing DTD, so I got irritated and took them away. Ok, so this is not a
> > technical reason, but the more I think of it, the more it seems to make
> > sense. Do property files have a DTD? Do they need one?
> > 
> > For example, let's say that somebody makes a skin that needs some extra
> > customization values... where do they put them? Without a DTD, they can
> > easily add them to the skinconf file.
> > 
> > What are the reasons we should keep the DTD, given the above point and
> > the problems we have been having till now (not no mention having to make
> > users update the DTD at every change)?
> 
> One could argue that if you are savvy enough to being adding new values to
> the skinconf and making appropriate XSLT changes to the style sheets, then
> you can also make any DTD changes.
>
> Since I am new to Forrest, I am not confident that I understand who the
> target users are (in terms of what is expected of them).  I think there are
> two users:
>    1.  Savvy User: Knows XML, XSLT, CSS, XHTML, DTD, and XML Schema.
>    2.  Basic Content Provider: Knows XML -- able to create content, edit
> skinconf.xml and forrest.properties, and to run forrest seed and forrest
> site.

Thanks for your input - all very valid points.

> A schema serves as the contract of what is the acceptable XML instance.
> With good in-line documentation, it can be a good reference.  Thus, I argue
> for a schema of some sort (e.g. DTD, XML Schema, and/or Schematron).
> 
> Has XML Schema been considered rather than using DTDs?  The xs:any element
> would allow customization values to be added while also allowing for
> validation of the rest of the instance.  I realize the schema choice (XML
> Schema, DTD, etc.) is a non-trivial consideration.

Not considered W3C XML Schema, but definitely considered Relax NG.
In fact we were also using RNG for this until a few weeks ago.

The trouble was that we also had an internal DTD subset in skinconf.xml
which has been a nightmare to maintain, both for developers and users.

> Another choice for validating skinconf instances would be Schematron.

Yes, and we can insert Schematron rules in the RELAX NG. We already
do that for the sitemap validation.

BTW Brian, your mailer has date of 23 March 2004 rather than
23 April 2004. Many people will miss your email because of
bad date sorting.

--David