2014-11-30 2 views
1

Я запустил свой XML/DTD через валидатор w3schools, он говорит мне, что он имеет множество ошибок, что я делаю неправильно? Я признаю, что это было несколько лет с тех пор я использовал XMLхорошо сформированный XML DTD

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> 
<!DOCTYPE WEBDESIGNTOPICS [ 
<!ELEMENT WEBDESIGNTOPICS (topic+,topicname+,description+,provided)> 
<!ELEMENT topic (#PCDATA)> 
<!ELEMENT topicname (#PCDATA)> 
<!ELEMENT description (#PCDATA)> 
<!ELEMENT provided (#PCDATA)> 
]> 
<WEBDESIGNTOPICS> 
<topic> 
    <topicname>HTML5</topicname> 
    <description>HAMILTON</description> 
    <provided>SALESMAN</provided> 

</topic> 
<topic> 
    <topicname>CSS/CSS3</topicname> 
    <description>SMITH</description> 
    <provided>CLEANER</provided> 

</topic> 
<topic> 
    <topicname>PHP</topicname> 
    <description>JONES</description> 
    <provided>MANAGER</provided> 
</topic> 
<topic> 
    <topicname>JavaScript</topicname> 
    <description>JONES</description> 
    <provided>MANAGER</provided> 
</topic> 
<topic> 
    <topicname>jQuery</topicname> 
    <description>JONES</description> 
    <provided>MANAGER</provided> 
</topic> 
</WEBDESIGNTOPICS> 

ответ

1

Обратите внимание, что XML-документ хорошо сформированные но не действует. Вы можете прочитать о the difference between well-formed and invalid here.

Чтобы сделать XML действительным:

  1. Изменение модели содержания WEBDESIGNTOPICS, чтобы отразить тот факт, , что это ясно только список topics:

    <!ELEMENT WEBDESIGNTOPICS (topic+)> 
    
  2. Изменение контентную модель темы, чтобы отразить, что она может состоять из a topicname, description и provided Элемент или элементы. Вы должны принять решение о requiredness и мощности в качестве образца XML не может указывать на саму общность:

    <!ELEMENT topic (topicname,description,provided)> 
    

Всего тогда, этот обновленный XML документ будет действителен:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> 
<!DOCTYPE WEBDESIGNTOPICS [ 
<!ELEMENT WEBDESIGNTOPICS (topic+)> 
<!ELEMENT topic (topicname,description,provided)> 
<!ELEMENT topicname (#PCDATA)> 
<!ELEMENT description (#PCDATA)> 
<!ELEMENT provided (#PCDATA)> 
]> 
<WEBDESIGNTOPICS> 
    <topic> 
     <topicname>HTML5</topicname> 
     <description>HAMILTON</description> 
     <provided>SALESMAN</provided> 
    </topic> 
    <topic> 
     <topicname>CSS/CSS3</topicname> 
     <description>SMITH</description> 
     <provided>CLEANER</provided> 
    </topic> 
    <topic> 
     <topicname>PHP</topicname> 
     <description>JONES</description> 
     <provided>MANAGER</provided> 
    </topic> 
    <topic> 
     <topicname>JavaScript</topicname> 
     <description>JONES</description> 
     <provided>MANAGER</provided> 
    </topic> 
    <topic> 
     <topicname>jQuery</topicname> 
     <description>JONES</description> 
     <provided>MANAGER</provided> 
    </topic> 
</WEBDESIGNTOPICS> 
+0

Ах спасибо, могу видеть, где я сейчас ошибся –

+0

Готово, еще раз спасибо. –

Смежные вопросы