Altova Mailing List Archives>Archive Index >comp.text.xml Archive Home >Recent entries >Thread Prev - Need opinion on DTD design >Thread Next - Re: Need opinion on DTD design Re: Need opinion on DTD designTo: NULL Date: 8/3/2006 12:50:00 AM Hi Stefan, I would recommend looking into using a schema language (XML Schema, Relax NG) instead of a DTD. With DTD probably the best approach is to use parameter entities to define the content model for elements and the available attributes. You can look at DocBook 4 for an example of using parameter entities. Note that the next version of DocBook, DocBook 5 will provide a Relax NG schema. More, it should be possible to convert from schema to DTD so if you need to provide also a DTD then you will be able to do so. DocBook 5 for instance will provide also a DTD and an XML Schema. Best Regards, George --------------------------------------------------------------------- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger www.---.com stefan.rickfjord@g... wrote: > Hi, > > I am a newbie to programming using XML and I'm currently working on a > side-project which will house some database information in a XML-file. > I am writing a DTD to specify the XML-format, mostly for the purpose of > documenting the XML database. > > My issue is that I have some fields, e.g. > <!ELEMENT Vehicle ( Car? )> > <!ELEMENT Car ( Gasoline | Diesel )> > <!ELEMENT Gasoline EMPTY> > <!ELEMENT Diesel EMPTY> > > but I want to make sure that this database is extendable. I.e. after > using the database for a while in my application I want to be able to > add stuff that I come up with later on, e.g. > <!ELEMENT Motorcycle ( Sportbike | Harley )> > <!ELEMENT Sportbike EMPTY> > <!ELEMENT Harley EMPTY> > > I'd rather not add a lot of "Reserved"-elements in the DTD, as this is > not a nice solution. My own little idea is that i'm anyway able to add > items to the DTD further on since I both have the DTD of the XML and > the source of the application using it. Is this correct? > > I've looked around and found another way to do this and that is to > include the old DTD as an entity, is that the way to go? > > Please excuse my newbie-question, I just want to know if my way of > thinking is correct. > > Thanks a lot for reading! | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
