Can someone please explain why both quoted lines are necessary in
<!DOCTYPE grammar PUBLIC "-//W3C//DTD GRAMMAR 1.0//EN"? This is from the official SRGS (http://www.w3.org/TR/speech-grammar/) document, Section 2.7. One would think just the latter quoted line which notes the location of the dtd be enough. I suspect it has something to do with specifying the language in English but the document does not explain this. Thanks.
"http://www.w3.org/TR/speech-grammar/grammar.dtd">
Can someone please explain why both quoted lines are necessary in <!DOCTYPE grammar PUBLIC
Share
Only the latter string (the system identifier) must be present if an XML document is supposed to be valid against a DTD.
The first quoted string is the public identifier, and it is optional. It is used to uniquely identify a DTD (or other external identifier) by name instead of by physical address. A public identifier can often be assumed to be more stable than a
http:orfile:URL. It makes it possible to locate a DTD even if the system identifier is wrong, or if internet access is down (for example).It would be OK to use only
Note the use of the
SYSTEMkeyword in this case.See also http://www.xml.com/axml/target.html#sec-external-ent.
Regarding usage of DTDs hosted by W3C, you might be interested in http://www.w3.org/blog/systeam/2008/02/08/w3c_s_excessive_dtd_traffic/.