Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
The moose likes Product and Other Certifications and the fly likes internal DTD override Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Product and Other Certifications
Bookmark "internal DTD override" Watch "internal DTD override" New topic

internal DTD override

Gobiraj Vadivelrajan

Joined: Jun 05, 2002
Posts: 5
I have a external DTD and I wanted to override an element declaration using an internal DTD. When I try to open the XML using IE or XML Notepad I get
an error that the element is already declared.
<!ELEMENT catalog (book*)>
<!ELEMENT book (title,isbn,price)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<?xml version="1.0"?>
<!DOCTYPE catalog SYSTEM "catalog.dtd" [
<!ELEMENT book (title,price)>
<title> Good Book</title>
<price> 100.00 </price>
Error (for the declaration in the DTD)
The element 'book' is already declared.
<!ELEMENT book (title,isbn,price)>
Is this the normal behavior that an element
declaration cannot be overridden
Milo Tan

Joined: Feb 08, 2002
Posts: 3
Yes, that is the normal behavior. If your DTD declaration also use an external DTD declaration, only ENTITY and ATTLIST declaration may be overridden.
I agree. Here's the link:
subject: internal DTD override
jQuery in Action, 3rd edition