2012-02-26 4 views
0

Как я узнаю, что XML, который я создал, следует правилу, которое находится в моем DTD?Знание правильного XML-кода с заданным DTD-скриптом

вот мой XML

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE HW SYSTEM "HW.dtd"> 
<A> 
    AA = "BAR" 
    AB = "FOO" 
    AC = "1" 
    <C> 
     <B/> 
     CA = "Name" 
    </C> 
    <D>Element</D> 
</A> 

и вот мой DTD

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!ELEMENT A (B* |C+,D)> 
<ATTLIST A 
    AA CDATA #REQUIRED 
    AB CDATA #REQUIRED 
    AC(0|1|2) #REQUIRED 
> 
<!ELEMENT B EMPTY> 
<!ATTLIST C(B)> 
<!ATTLIST C 
    CA CDATA #REQUIRED 
> 
<!ELEMENT D (#PCDATA)> 

мой XML правильно с DTD?

ответ

1

Вы должны использовать XML Validator,

Интернет версия http://www.xmlvalidation.com/, есть много инструментов, которые делают это также

Согласно валидатора, ваш DTD не является действительным

I «ве пытались исправить свой DTD, вот Фиксированный до версии

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!ELEMENT A (B* | (C+,D))> 
<!ATTLIST A 
    AA CDATA #REQUIRED 
    AB CDATA #REQUIRED 
    AC (0|1|2) #REQUIRED 
> 
<!ELEMENT B EMPTY> 
<!ELEMENT C EMPTY> 
<!ATTLIST C 
    CA CDATA #REQUIRED 
> 
<!ELEMENT D (#PCDATA)> 

проблемы с DTD вы были размещены:

Насколько я мог видеть, вам нужны скобки вокруг C +, D также неверно, как и <ATTLIST, поскольку вы указываете список атрибутов с помощью <!ATTLIST. Обратите внимание! скучал.

Кроме того, ваш DTD был

<!ELEMENT B EMPTY> 
<!ATTLIST C 
    CA CDATA #REQUIRED 
> 

Который не прошел проверку, как вы определяя список атрибутов из элемента С <!ATTLIST C, но не определили элемент C в DTD, поэтому я изменил его на

<!ELEMENT C EMPTY> 
<!ATTLIST C 
    CA CDATA #REQUIRED 
> 

Это делает ваш DTD действительный

Кроме того, ваш XML является неправильным в довольно много способов

, например, ваш DTD specifices

<!ATTLIST A 
    AA CDATA #REQUIRED 
    AB CDATA #REQUIRED 
    AC (0|1|2) #REQUIRED 
> 

Это означает, что элемент А должен иметь атрибуты AA BB AC, поскольку они необходимы также атрибут AC должен быть 0 или 1 или 2

Вы поставили

<A> 
    AA = "BAR" 
    AB = "FOO" 
    AC = "1" 

что не specifiying XML атрибуты в элемент А, чтобы указать атрибуты он должен быть

<A AA="BAR" AB="FOO" AC="1"> 

Это должно помочь вам сделать свою домашнюю работу

Heres ссылку http://www.quackit.com/xml/tutorial/dtd_introduction.cfm на учебник DTD это должно помочь вам создать XML-документ, который проверяет против

+0

Как я сделал это в силе, то я не могу чтобы понять, как я могу проверить его там, есть ошибка. нет предлагаемого исправления – KyelJmD

+0

Как вы создали свой DTD в первую очередь? – reevesy

+0

Наш инструктор дал это нам.то он сказал нам создать файл XML в отношении этого файла DTD – KyelJmD

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

  • Нет связанных вопросов^_^