newbie and have a problem getting to validate

J

John Champion

hi,

i'm trying to get this to validate but i keep getting an error for
line 21. it says that it doesn't like the art element being where it
is but no matter where i move it to, it still generates an error.

can someone please tell me why? and this is an assignment for a
tutorial session that i'm taking. thanks!


1 <?xml version="1.0" encoding="ISO-8859-1"?>
2<?xml-stylesheet href="homeworkcss.css" type="text/css" ?>
3 <!DOCTYPE CDINVENTORY [
4 <!NOTATION gif SYSTEM "Iexplorer.exe">
5 <!NOTATION jpg SYSTEM "Iexplorer.exe">
6 <!ELEMENT CDLIST (ARTIST, ALBUM, SONGS, SITE)>
7 <!ELEMENT ARTIST (#PCDATA|ART)*>
8 <!ATTLIST ARTIST Genre (Texas|Country|Rock) "Rock">
9 <!ELEMENT ART (#PCDATA)>
10 <!ATTLIST ART type NOTATION (gif|jpg) "jpg" image CDATA #IMPLIED>
11 <!ELEMENT ALBUM (#PCDATA)>
12 <!ELEMENT SONGS (SONGTITLE*)>
13 <!ELEMENT SONGTITLE (#PCDATA)>
14 <!ATTLIST SONGTITLE description CDATA #REQUIRED>
15 <!ELEMENT SITE (#PCDATA)>
16 <!ENTITY copyright "Copyright © 2007 Wounded Angel
Productions">
17 ]>
18
19 <CDLIST>
20 <ARTIST Genre="Texas">Kevin Fowler</ARTIST>
21 <ART type="jpg" image="/images/KFowler.jpg" />
22 <ALBUM>Five Song EP</ALBUM>
23 <SONGS>
24 <SONGTITLE description="Texas Rock">Title1</SONGTITLE>
25 <SONGTITLE description="Ballad">Title2</SONGTITLE>
26 <SONGTITLE description="Texas">Title3</SONGTITLE>
27 <SONGTITLE description="Rock">Title4</SONGTITLE>
28 <SONGTITLE description="Texas">Title5</SONGTITLE>
29 </SONGS>
30 <ARTIST Genre="Country">Pat Green</ARTIST>
31 <ART type="jpg" image="/images/PGreen.jpg" />
32 <ALBUM>Wave on Wave</ALBUM>
33 <SONGS>
34 <SONGTITLE description="Ballad">Wave on Wave</SONGTITLE>
35 <SONGTITLE description="Rock Ballad">Mustang Island</
SONGTITLE>
36 <SONGTITLE description="Pop Country">Guys Like Me</
SONGTITLE>
37 <SONGTITLE description="Pop Country">Poetry</SONGTITLE>
38 <SONGTITLE description="Pop Country">If I Were the Devil</
SONGTITLE>
39 <SONGTITLE description="Acoustic Ballad">Hidden Track</
SONGTITLE>
40 </SONGS>
41 <SITE>This site is sponsored by the letter &quot; E &quot; &amp;
a number &gt; 12 &lt; 14 &copyright;
42 </SITE>
43 </CDLIST>
 
M

Martin Honnen

John said:
i'm trying to get this to validate but i keep getting an error for
line 21. it says that it doesn't like the art element being where it
is but no matter where i move it to, it still generates an error.

can someone please tell me why? and this is an assignment for a
tutorial session that i'm taking. thanks!
6 <!ELEMENT CDLIST (ARTIST, ALBUM, SONGS, SITE)>
7 <!ELEMENT ARTIST (#PCDATA|ART)*>

The ART element needs to be a child element of the ARTIST element which
needs to be a child of the CDLIST element.
 
I

Ian Wilson

John said:
hi,

i'm trying to get this to validate but i keep getting an error for
line 21. it says that it doesn't like the art element being where it
is but no matter where i move it to, it still generates an error.

Are you validating this against a schema? where is the schema?
can someone please tell me why? and this is an assignment for a
tutorial session that i'm taking. thanks!

Looking at your XML I suspect you need something to group together each
set of ARTIST, ART, ALBUM and SONGS elements. Maybe you have a missing
CD element that should act as a container within CDLIST?
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2<?xml-stylesheet href="homeworkcss.css" type="text/css" ?>
3 <!DOCTYPE CDINVENTORY [
4 <!NOTATION gif SYSTEM "Iexplorer.exe">
5 <!NOTATION jpg SYSTEM "Iexplorer.exe">
6 <!ELEMENT CDLIST (ARTIST, ALBUM, SONGS, SITE)>
7 <!ELEMENT ARTIST (#PCDATA|ART)*>
8 <!ATTLIST ARTIST Genre (Texas|Country|Rock) "Rock">
9 <!ELEMENT ART (#PCDATA)>
10 <!ATTLIST ART type NOTATION (gif|jpg) "jpg" image CDATA #IMPLIED>
11 <!ELEMENT ALBUM (#PCDATA)>
12 <!ELEMENT SONGS (SONGTITLE*)>
13 <!ELEMENT SONGTITLE (#PCDATA)>
14 <!ATTLIST SONGTITLE description CDATA #REQUIRED>
15 <!ELEMENT SITE (#PCDATA)>
16 <!ENTITY copyright "Copyright © 2007 Wounded Angel
Productions">
17 ]>
18
19 <CDLIST>
20 <ARTIST Genre="Texas">Kevin Fowler</ARTIST>
21 <ART type="jpg" image="/images/KFowler.jpg" />
22 <ALBUM>Five Song EP</ALBUM>
23 <SONGS>
24 <SONGTITLE description="Texas Rock">Title1</SONGTITLE>
25 <SONGTITLE description="Ballad">Title2</SONGTITLE>
26 <SONGTITLE description="Texas">Title3</SONGTITLE>
27 <SONGTITLE description="Rock">Title4</SONGTITLE>
28 <SONGTITLE description="Texas">Title5</SONGTITLE>
29 </SONGS>
30 <ARTIST Genre="Country">Pat Green</ARTIST>
31 <ART type="jpg" image="/images/PGreen.jpg" />
32 <ALBUM>Wave on Wave</ALBUM>
33 <SONGS>
34 <SONGTITLE description="Ballad">Wave on Wave</SONGTITLE>
35 <SONGTITLE description="Rock Ballad">Mustang Island</
SONGTITLE>
36 <SONGTITLE description="Pop Country">Guys Like Me</
SONGTITLE>
37 <SONGTITLE description="Pop Country">Poetry</SONGTITLE>
38 <SONGTITLE description="Pop Country">If I Were the Devil</
SONGTITLE>
39 <SONGTITLE description="Acoustic Ballad">Hidden Track</
SONGTITLE>
40 </SONGS>
41 <SITE>This site is sponsored by the letter &quot; E &quot; &amp;
a number &gt; 12 &lt; 14 &copyright;
42 </SITE>
43 </CDLIST>
 
J

John Champion

The ART element needs to be a child element of the ARTIST element which
needs to be a child of the CDLIST element.

hmm...isn't it a child with the

" 7 <!ELEMENT ARTIST (#PCDATA|ART)*> "

statement?

is this the wrong statement?
 
M

Martin Honnen

hmm...isn't it a child with the

" 7 <!ELEMENT ARTIST (#PCDATA|ART)*> "

statement?

That is what your DTD defines and I tried to explain the DTD. But in
your XML later you have

<CDLIST>
20 <ARTIST Genre="Texas">Kevin Fowler</ARTIST>
21 <ART type="jpg" image="/images/KFowler.jpg" />

where ART is a child of CDLIST which is not what the DTD specifies.
 
J

John Champion

That is what your DTD defines and I tried to explain the DTD. But in
your XML later you have

<CDLIST>
20 <ARTIST Genre="Texas">Kevin Fowler</ARTIST>
21 <ART type="jpg" image="/images/KFowler.jpg" />

where ART is a child of CDLIST which is not what the DTD specifies.

ok...so what if i do this...does that make it better?


<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE CDLIST [
<!NOTATION gif SYSTEM "Iexplorer.exe">
<!NOTATION jpg SYSTEM "Iexplorer.exe">
<!ELEMENT CDLIST (ARTIST, ART, ALBUM, SONGS, SITE?)+>
<!ELEMENT ARTIST (#PCDATA|ART)*>
<!ATTLIST ARTIST Genre (Texas|Country|Rock) "Rock">
<!ELEMENT ART (#PCDATA)>
<!ATTLIST ART type NOTATION (gif|jpg) "jpg" image CDATA #IMPLIED>
<!ELEMENT ALBUM (#PCDATA)>
<!ELEMENT SONGS (SONGTITLE*)>
<!ELEMENT SONGTITLE (#PCDATA)>
<!ATTLIST SONGTITLE description CDATA #REQUIRED>
<!ELEMENT SITE (#PCDATA)>
<!ENTITY copyright "Copyright © 2007 Wounded Angel Productions">
 
P

Peter Flynn

John said:
hi,

i'm trying to get this to validate but i keep getting an error for
line 21. it says that it doesn't like the art element being where it
is but no matter where i move it to, it still generates an error.

can someone please tell me why? and this is an assignment for a
tutorial session that i'm taking. thanks!


1 <?xml version="1.0" encoding="ISO-8859-1"?>
2<?xml-stylesheet href="homeworkcss.css" type="text/css" ?>
3 <!DOCTYPE CDINVENTORY [
4 <!NOTATION gif SYSTEM "Iexplorer.exe">
5 <!NOTATION jpg SYSTEM "Iexplorer.exe">
6 <!ELEMENT CDLIST (ARTIST, ALBUM, SONGS, SITE)>
7 <!ELEMENT ARTIST (#PCDATA|ART)*>

This is *very* poor design. Mixed content is never appropriate in a
data-oriented document type. If this was supplied to you by your tutor,
complain. If you designed, it, you're excused at this stage :) It
should probably say:

<!ELEMENT CDLIST (ARTIST, ART*, ALBUM, SONGS, SITE)>
<!ELEMENT ARTIST (#PCDATA)>

You really, *really* don't want to be able to say

<ARTIST>John <ART type="jpg" image="foo"/> Doe <ART type="gif"
image="bar"/></ARTIST>

which is what the original allows. Tighten it up.
8 <!ATTLIST ARTIST Genre (Texas|Country|Rock) "Rock">
9 <!ELEMENT ART (#PCDATA)>
10 <!ATTLIST ART type NOTATION (gif|jpg) "jpg" image CDATA #IMPLIED>
11 <!ELEMENT ALBUM (#PCDATA)>
12 <!ELEMENT SONGS (SONGTITLE*)>
13 <!ELEMENT SONGTITLE (#PCDATA)>
14 <!ATTLIST SONGTITLE description CDATA #REQUIRED>
15 <!ELEMENT SITE (#PCDATA)>
16 <!ENTITY copyright "Copyright © 2007 Wounded Angel
Productions">
17 ]>

There are at least a dozen other remediable flaws in this design, but
this probably isn't the place to go into that, as I don't know if it's
your design or your tutor's.
19 <CDLIST>

This is invalid. The root element type must be CDINVENTORY like it says
in the Document Type Declaration. But the element type CDINVENTORY isn't
declared anywhere.
20 <ARTIST Genre="Texas">Kevin Fowler</ARTIST>
21 <ART type="jpg" image="/images/KFowler.jpg" />
22 <ALBUM>Five Song EP</ALBUM>
23 <SONGS>
24 <SONGTITLE description="Texas Rock">Title1</SONGTITLE>
25 <SONGTITLE description="Ballad">Title2</SONGTITLE>
26 <SONGTITLE description="Texas">Title3</SONGTITLE>
27 <SONGTITLE description="Rock">Title4</SONGTITLE>
28 <SONGTITLE description="Texas">Title5</SONGTITLE>
29 </SONGS>

In any case, you can't start another ARTIST here. SITE for the first one
is missing. Then you have to close CDLIST and start a new one.
30 <ARTIST Genre="Country">Pat Green</ARTIST>
31 <ART type="jpg" image="/images/PGreen.jpg" />
32 <ALBUM>Wave on Wave</ALBUM>
33 <SONGS>
34 <SONGTITLE description="Ballad">Wave on Wave</SONGTITLE>
35 <SONGTITLE description="Rock Ballad">Mustang Island</
SONGTITLE>
36 <SONGTITLE description="Pop Country">Guys Like Me</
SONGTITLE>
37 <SONGTITLE description="Pop Country">Poetry</SONGTITLE>
38 <SONGTITLE description="Pop Country">If I Were the Devil</
SONGTITLE>
39 <SONGTITLE description="Acoustic Ballad">Hidden Track</
SONGTITLE>
40 </SONGS>
41 <SITE>This site is sponsored by the letter &quot; E &quot; &amp;
a number &gt; 12 &lt; 14 &copyright;
42 </SITE>
43 </CDLIST>

The following version is valid:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="homeworkcss.css" type="text/css" ?>
<!DOCTYPE CDINVENTORY [
<!NOTATION gif SYSTEM "Iexplorer.exe">
<!NOTATION jpg SYSTEM "Iexplorer.exe">
<!ELEMENT CDINVENTORY (CDLIST+)>
<!ELEMENT CDLIST (ARTIST, ART*, ALBUM, SONGS, SITE)>
<!ELEMENT ARTIST (#PCDATA)>
<!ATTLIST ARTIST Genre (Texas|Country|Rock) "Rock">
<!ELEMENT ART (#PCDATA)>
<!ATTLIST ART type NOTATION (gif|jpg) "jpg" image CDATA #IMPLIED>
<!ELEMENT ALBUM (#PCDATA)>
<!ELEMENT SONGS (SONGTITLE*)>
<!ELEMENT SONGTITLE (#PCDATA)>
<!ATTLIST SONGTITLE description CDATA #REQUIRED>
<!ELEMENT SITE (#PCDATA)>
<!ENTITY copyright "Copyright © 2007 Wounded Angel
Productions">
]>
<CDINVENTORY>
<CDLIST>
<ARTIST Genre="Texas">Kevin Fowler</ARTIST>
<ART type="jpg" image="/images/KFowler.jpg"/>
<ALBUM>Five Song EP</ALBUM>
<SONGS>
<SONGTITLE description="Texas Rock">Title1</SONGTITLE>
<SONGTITLE description="Ballad">Title2</SONGTITLE>
<SONGTITLE description="Texas">Title3</SONGTITLE>
<SONGTITLE description="Rock">Title4</SONGTITLE>
<SONGTITLE description="Texas">Title5</SONGTITLE>
</SONGS>
<SITE></SITE>
</CDLIST>
<CDLIST>
<ARTIST Genre="Country">Pat Green</ARTIST>
<ART type="jpg" image="/images/PGreen.jpg"/>
<ALBUM>Wave on Wave</ALBUM>
<SONGS>
<SONGTITLE description="Ballad">Wave on Wave</SONGTITLE>
<SONGTITLE description="Rock Ballad">Mustang Island</SONGTITLE>
<SONGTITLE description="Pop Country">Guys Like Me</SONGTITLE>
<SONGTITLE description="Pop Country">Poetry</SONGTITLE>
<SONGTITLE description="Pop Country">If I Were the
Devil</SONGTITLE>
<SONGTITLE description="Acoustic Ballad">Hidden
Track</SONGTITLE>
</SONGS>
<SITE>This site is sponsored by the letter &quot; E &quot; &amp; a
number &gt; 12 &lt; 14 &copyright;
</SITE>
</CDLIST>
</CDINVENTORY>

///Peter
 
J

John Champion

John said:
i'm trying to get this to validate but i keep getting an error for
line 21. it says that it doesn't like the art element being where it
is but no matter where i move it to, it still generates an error.
can someone please tell me why? and this is an assignment for a
tutorial session that i'm taking. thanks!
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2<?xml-stylesheet href="homeworkcss.css" type="text/css" ?>
3 <!DOCTYPE CDINVENTORY [
4 <!NOTATION gif SYSTEM "Iexplorer.exe">
5 <!NOTATION jpg SYSTEM "Iexplorer.exe">
6 <!ELEMENT CDLIST (ARTIST, ALBUM, SONGS, SITE)>
7 <!ELEMENT ARTIST (#PCDATA|ART)*>

This is *very* poor design. Mixed content is never appropriate in a
data-oriented document type. If this was supplied to you by your tutor,
complain. If you designed, it, you're excused at this stage :) It
should probably say:

<!ELEMENT CDLIST (ARTIST, ART*, ALBUM, SONGS, SITE)>
<!ELEMENT ARTIST (#PCDATA)>

You really, *really* don't want to be able to say

<ARTIST>John <ART type="jpg" image="foo"/> Doe <ART type="gif"
image="bar"/></ARTIST>

which is what the original allows. Tighten it up.
8 <!ATTLIST ARTIST Genre (Texas|Country|Rock) "Rock">
9 <!ELEMENT ART (#PCDATA)>
10 <!ATTLIST ART type NOTATION (gif|jpg) "jpg" image CDATA #IMPLIED>
11 <!ELEMENT ALBUM (#PCDATA)>
12 <!ELEMENT SONGS (SONGTITLE*)>
13 <!ELEMENT SONGTITLE (#PCDATA)>
14 <!ATTLIST SONGTITLE description CDATA #REQUIRED>
15 <!ELEMENT SITE (#PCDATA)>
16 <!ENTITY copyright "Copyright © 2007 Wounded Angel
Productions">
17 ]>

There are at least a dozen other remediable flaws in this design, but
this probably isn't the place to go into that, as I don't know if it's
your design or your tutor's.
19 <CDLIST>

This is invalid. The root element type must be CDINVENTORY like it says
in the Document Type Declaration. But the element type CDINVENTORY isn't
declared anywhere.
20 <ARTIST Genre="Texas">Kevin Fowler</ARTIST>
21 <ART type="jpg" image="/images/KFowler.jpg" />
22 <ALBUM>Five Song EP</ALBUM>
23 <SONGS>
24 <SONGTITLE description="Texas Rock">Title1</SONGTITLE>
25 <SONGTITLE description="Ballad">Title2</SONGTITLE>
26 <SONGTITLE description="Texas">Title3</SONGTITLE>
27 <SONGTITLE description="Rock">Title4</SONGTITLE>
28 <SONGTITLE description="Texas">Title5</SONGTITLE>
29 </SONGS>

In any case, you can't start another ARTIST here. SITE for the first one
is missing. Then you have to close CDLIST and start a new one.


30 <ARTIST Genre="Country">Pat Green</ARTIST>
31 <ART type="jpg" image="/images/PGreen.jpg" />
32 <ALBUM>Wave on Wave</ALBUM>
33 <SONGS>
34 <SONGTITLE description="Ballad">Wave on Wave</SONGTITLE>
35 <SONGTITLE description="Rock Ballad">Mustang Island</
SONGTITLE>
36 <SONGTITLE description="Pop Country">Guys Like Me</
SONGTITLE>
37 <SONGTITLE description="Pop Country">Poetry</SONGTITLE>
38 <SONGTITLE description="Pop Country">If I Were the Devil</
SONGTITLE>
39 <SONGTITLE description="Acoustic Ballad">Hidden Track</
SONGTITLE>
40 </SONGS>
41 <SITE>This site is sponsored by the letter &quot; E &quot; &amp;
a number &gt; 12 &lt; 14 &copyright;
42 </SITE>
43 </CDLIST>

The following version is valid:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="homeworkcss.css" type="text/css" ?>
<!DOCTYPE CDINVENTORY [
<!NOTATION gif SYSTEM "Iexplorer.exe">
<!NOTATION jpg SYSTEM "Iexplorer.exe">
<!ELEMENT CDINVENTORY (CDLIST+)>
<!ELEMENT CDLIST (ARTIST, ART*, ALBUM, SONGS, SITE)>
<!ELEMENT ARTIST (#PCDATA)>
<!ATTLIST ARTIST Genre (Texas|Country|Rock) "Rock">
<!ELEMENT ART (#PCDATA)>
<!ATTLIST ART type NOTATION (gif|jpg) "jpg" image CDATA #IMPLIED>
<!ELEMENT ALBUM (#PCDATA)>
<!ELEMENT SONGS (SONGTITLE*)>
<!ELEMENT SONGTITLE (#PCDATA)>
<!ATTLIST SONGTITLE description CDATA #REQUIRED>
<!ELEMENT SITE (#PCDATA)>
<!ENTITY copyright "Copyright © 2007 Wounded Angel
Productions">
]>
<CDINVENTORY>
<CDLIST>
<ARTIST Genre="Texas">Kevin Fowler</ARTIST>
<ART type="jpg" image="/images/KFowler.jpg"/>
<ALBUM>Five Song EP</ALBUM>
<SONGS>
<SONGTITLE description="Texas Rock">Title1</SONGTITLE>
<SONGTITLE description="Ballad">Title2</SONGTITLE>
<SONGTITLE description="Texas">Title3</SONGTITLE>
<SONGTITLE description="Rock">Title4</SONGTITLE>
<SONGTITLE description="Texas">Title5</SONGTITLE>
</SONGS>
<SITE></SITE>
</CDLIST>
<CDLIST>
<ARTIST Genre="Country">Pat Green</ARTIST>
<ART type="jpg" image="/images/PGreen.jpg"/>
<ALBUM>Wave on Wave</ALBUM>
<SONGS>
<SONGTITLE description="Ballad">Wave on Wave</SONGTITLE>
<SONGTITLE description="Rock Ballad">Mustang Island</SONGTITLE>
<SONGTITLE description="Pop Country">Guys Like Me</SONGTITLE>
<SONGTITLE description="Pop Country">Poetry</SONGTITLE>
<SONGTITLE description="Pop Country">If I Were the
Devil</SONGTITLE>
<SONGTITLE description="Acoustic Ballad">Hidden
Track</SONGTITLE>
</SONGS>
<SITE>This site is sponsored by the letter &quot; E &quot; &amp; a
number &gt; 12 &lt; 14 &copyright;
</SITE>
</CDLIST>
</CDINVENTORY>

///Peter

aha! thank you. that added some light to the subject. in short...for
each artist i will have to create a new instance of cdlist and i
needed that art element as a child of the artist. i misunderstood.

and no..the tutor didn't create this. i alone take full responsibility
for this debacle.

thanks for your assistance!
 
P

Peter Flynn

John said:
John said:
hi,
i'm trying to get this to validate but i keep getting an error for
line 21. it says that it doesn't like the art element being where it
is but no matter where i move it to, it still generates an error.
can someone please tell me why? and this is an assignment for a
tutorial session that i'm taking. thanks!
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2<?xml-stylesheet href="homeworkcss.css" type="text/css" ?>
3 <!DOCTYPE CDINVENTORY [
4 <!NOTATION gif SYSTEM "Iexplorer.exe">
5 <!NOTATION jpg SYSTEM "Iexplorer.exe">
6 <!ELEMENT CDLIST (ARTIST, ALBUM, SONGS, SITE)>
7 <!ELEMENT ARTIST (#PCDATA|ART)*>
This is *very* poor design. Mixed content is never appropriate in a
data-oriented document type. If this was supplied to you by your tutor,
complain. If you designed, it, you're excused at this stage :) It
should probably say:

<!ELEMENT CDLIST (ARTIST, ART*, ALBUM, SONGS, SITE)>
<!ELEMENT ARTIST (#PCDATA)>

You really, *really* don't want to be able to say

<ARTIST>John <ART type="jpg" image="foo"/> Doe <ART type="gif"
image="bar"/></ARTIST>

which is what the original allows. Tighten it up.
8 <!ATTLIST ARTIST Genre (Texas|Country|Rock) "Rock">
9 <!ELEMENT ART (#PCDATA)>
10 <!ATTLIST ART type NOTATION (gif|jpg) "jpg" image CDATA #IMPLIED>
11 <!ELEMENT ALBUM (#PCDATA)>
12 <!ELEMENT SONGS (SONGTITLE*)>
13 <!ELEMENT SONGTITLE (#PCDATA)>
14 <!ATTLIST SONGTITLE description CDATA #REQUIRED>
15 <!ELEMENT SITE (#PCDATA)>
16 <!ENTITY copyright "Copyright © 2007 Wounded Angel
Productions">
17 ]>
There are at least a dozen other remediable flaws in this design, but
this probably isn't the place to go into that, as I don't know if it's
your design or your tutor's.
19 <CDLIST>
This is invalid. The root element type must be CDINVENTORY like it says
in the Document Type Declaration. But the element type CDINVENTORY isn't
declared anywhere.
20 <ARTIST Genre="Texas">Kevin Fowler</ARTIST>
21 <ART type="jpg" image="/images/KFowler.jpg" />
22 <ALBUM>Five Song EP</ALBUM>
23 <SONGS>
24 <SONGTITLE description="Texas Rock">Title1</SONGTITLE>
25 <SONGTITLE description="Ballad">Title2</SONGTITLE>
26 <SONGTITLE description="Texas">Title3</SONGTITLE>
27 <SONGTITLE description="Rock">Title4</SONGTITLE>
28 <SONGTITLE description="Texas">Title5</SONGTITLE>
29 </SONGS>
In any case, you can't start another ARTIST here. SITE for the first one
is missing. Then you have to close CDLIST and start a new one.


30 <ARTIST Genre="Country">Pat Green</ARTIST>
31 <ART type="jpg" image="/images/PGreen.jpg" />
32 <ALBUM>Wave on Wave</ALBUM>
33 <SONGS>
34 <SONGTITLE description="Ballad">Wave on Wave</SONGTITLE>
35 <SONGTITLE description="Rock Ballad">Mustang Island</
SONGTITLE>
36 <SONGTITLE description="Pop Country">Guys Like Me</
SONGTITLE>
37 <SONGTITLE description="Pop Country">Poetry</SONGTITLE>
38 <SONGTITLE description="Pop Country">If I Were the Devil</
SONGTITLE>
39 <SONGTITLE description="Acoustic Ballad">Hidden Track</
SONGTITLE>
40 </SONGS>
41 <SITE>This site is sponsored by the letter &quot; E &quot; &amp;
a number &gt; 12 &lt; 14 &copyright;
42 </SITE>
43 </CDLIST>
The following version is valid:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="homeworkcss.css" type="text/css" ?>
<!DOCTYPE CDINVENTORY [
<!NOTATION gif SYSTEM "Iexplorer.exe">
<!NOTATION jpg SYSTEM "Iexplorer.exe">
<!ELEMENT CDINVENTORY (CDLIST+)>
<!ELEMENT CDLIST (ARTIST, ART*, ALBUM, SONGS, SITE)>
<!ELEMENT ARTIST (#PCDATA)>
<!ATTLIST ARTIST Genre (Texas|Country|Rock) "Rock">
<!ELEMENT ART (#PCDATA)>
<!ATTLIST ART type NOTATION (gif|jpg) "jpg" image CDATA #IMPLIED>
<!ELEMENT ALBUM (#PCDATA)>
<!ELEMENT SONGS (SONGTITLE*)>
<!ELEMENT SONGTITLE (#PCDATA)>
<!ATTLIST SONGTITLE description CDATA #REQUIRED>
<!ELEMENT SITE (#PCDATA)>
<!ENTITY copyright "Copyright © 2007 Wounded Angel
Productions">
]>
<CDINVENTORY>
<CDLIST>
<ARTIST Genre="Texas">Kevin Fowler</ARTIST>
<ART type="jpg" image="/images/KFowler.jpg"/>
<ALBUM>Five Song EP</ALBUM>
<SONGS>
<SONGTITLE description="Texas Rock">Title1</SONGTITLE>
<SONGTITLE description="Ballad">Title2</SONGTITLE>
<SONGTITLE description="Texas">Title3</SONGTITLE>
<SONGTITLE description="Rock">Title4</SONGTITLE>
<SONGTITLE description="Texas">Title5</SONGTITLE>
</SONGS>
<SITE></SITE>
</CDLIST>
<CDLIST>
<ARTIST Genre="Country">Pat Green</ARTIST>
<ART type="jpg" image="/images/PGreen.jpg"/>
<ALBUM>Wave on Wave</ALBUM>
<SONGS>
<SONGTITLE description="Ballad">Wave on Wave</SONGTITLE>
<SONGTITLE description="Rock Ballad">Mustang Island</SONGTITLE>
<SONGTITLE description="Pop Country">Guys Like Me</SONGTITLE>
<SONGTITLE description="Pop Country">Poetry</SONGTITLE>
<SONGTITLE description="Pop Country">If I Were the
Devil</SONGTITLE>
<SONGTITLE description="Acoustic Ballad">Hidden
Track</SONGTITLE>
</SONGS>
<SITE>This site is sponsored by the letter &quot; E &quot; &amp; a
number &gt; 12 &lt; 14 &copyright;
</SITE>
</CDLIST>
</CDINVENTORY>

///Peter

aha! thank you. that added some light to the subject. in short...for
each artist i will have to create a new instance of cdlist

As you currently have it, yes. That may not be the optimal way to design
it, though. If you want it to be a list of albums, then maybe:

<cdlist>
<album>
<title>Wave on Wave</title>
<artist>Pat Green</artist>
<art type="jpg" image="/images/PGreen.jpg"/>
<songs>
<song type="ballad">Wave on Wave</song>
...more...
</songs>
<site>blah blah</site>
</album>
<album>
<title>etc</title>
...
</album>
and i
needed that art element as a child of the artist. i misunderstood.

There probably isn't any "right" solution. Just a lot of different ways
of expressing the same data.
and no..the tutor didn't create this. i alone take full responsibility
for this debacle.

NP. We all had to start somewhere.

///Peter
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,070
Latest member
BiogenixGummies

Latest Threads

Top