Hi Are the following DTD definitions for an element <book> correct? I think both are correct. A) <!ELEMENT title #PCDATA> <!ELEMENT author #PCDATA> <!ELEMENT book (#PCDATA, title, author)> B> <!ELEMENT title #PCDATA> <!ELEMENT author #PCDATA> <!ELEMENT book (#PCDATA, title, #PCDATA, author, #PCDATA)> Thanks.
Rakesh Gudur
Ranch Hand
Joined: Apr 29, 2002
Posts: 79
posted
0
Hai Mary, Both of them are incorrect. The DTD should be something like <!ELEMENT author (#PCDATA)> <!ELEMENT title (#PCDATA)> <!ELEMENT book (#PCDATA | author | title)*> When I put the other ones in XML Spy, it gives an error. The above one is correct. Hope this helps. Rakesh.
Luciano Queiroz
Ranch Hand
Joined: Feb 04, 2002
Posts: 172
posted
0
In addition, I would like to remind you of a little detail. In a DTD, when you declare a mixed element, the #PCDATA child must be the first sub-element inside the parenthesis. Ex.: <!ELEMENT house (#PCDATA, door, window)>
<b>Luciano Queiroz</b><br/>
Brazil<br/>
<i>SCJP 1.2, SCWCD, IBM 141, IBM 483, SCJP 1.4, IBM 484, IBM 287, SCBCD, SCEA, SCJP 5.0, SCJP 6.0, SCWCD 5</i>
Dan Drillich
Ranch Hand
Joined: Jul 09, 2001
Posts: 1121
posted
0
The only two ways PCDATA can be used are - by itself - <!ELEMENT house (#PCDATA)> or in a mixed content model - <!ELEMENT house (#PCDATA | door | window)*> Cheers, Dan
William Butler Yeats: All life is a preparation for something that probably will never happen. Unless you make it happen.
Jerry Sheehan
Greenhorn
Joined: Mar 19, 2002
Posts: 12
posted
0
Why are you still writing DTD's anyway? XSD schemas are much more powerful and if you already have existing DTD's, you can use XMLSpy to convert it to a W3C compliant XSD.
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.