[
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
|