Nope, a list of values means it's mandatory to pick one of those values. Entering a custom value will make the XML invalid. I assume DocumentParser or SAXParser won't puke, but an IDE will.
As an alternative, you can make the attribute #REQUIRED, which would mean the attribute is, well required :). Looking at the semantics of the log-service element, it's is in fact required. The downside is you cannot give a default value. People who want to use a custom logger will have to use the docs available to find out what to enter in the attribute. My suggestion would be to do this: <!ELEMENT log-service (property*)> <!ATTLIST log-service classname CDATA #REQUIRED> Cheers, WarnerJan On Tue, 2009-06-30 at 11:51 +0200, Bob Schellink wrote: > On 6/30/09, WarnerJan Veldhuis <warnerjan.veldh...@qprcostcontrol.com> wrote: > > Edit: typo > > > > > > <!-- Log Service. --> > > <!ELEMENT log-service (property*)> > > <!ATTLIST log-service classname > > (org.apache.click.service.ConsoleLogService| > > org.apache.click.extras.service.Log4JLogService| > > org.apache.click.extras.service.JdkLogService) > > "org.apache.click.service.ConsoleLogService"> > > > Great thanks. Does this definition cater for a custom logger class? > Say "com.mycorp.CustomLogService"? Or does IntelliJ complain?