OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Required or Optional in DTDs

[ Lists Home | Date Index | Thread Index ]

>Does anyone know what the effects of these are in a DTD, as in, if you
>specify an attribute as Required in your DTD, will it bring up an error if
>the actual attribute name is missing in your XML file, or just the attribute
>value(s)?

#REQUIRED means that the attribute must be present; it's quite legal
for the value to be an empty string.  So if we have:

 <!ATTLIST foo bar CDATA #REQUIRED>

then these are valid:

 <foo bar="hello">
 <foo bar="">

but this is invalid:

 <foo>

There are always syntax errors:

 <foo bar>
 <foo bar=>

regardless of what is in the DTD.

If you want to constrain the value not to be an empty string, there's
no way to do precisely that, but several attribute types (eg NMTOKEN)
do not allow empty strings.

Remember that you will have to use your parser in validating mode to get
it to check for required attributes.

-- Richard




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS