File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
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
It's not a secret anymore!