2015-05-02 3 views
1

Здравствуйте, я только начал изучать XML и DTD, и я не могу проверить свой код. Я использую http://www.validome.org/xml/validate/ для проверки моего кода.Ошибка XML DTD Validation

XML:

<projects> 
    <project pid="p123"> 
     <leader> 
      <name>Amanda</name> 
     </leader> 
     <analyst> 
      <name>Bob</name> 
     </analyst> 
    </project> 
    <project pid="p456"> 
     <leader> 
      <name>John</name> 
     </leader> 
    </project> 
    <project pid="p789"> 
     <leader> 
      <name>David</name> 
     </leader> 
     <analyst> 
      <name>Amanda</name> 
     </analyst> 
    </project> 
</projects> 

DTD:

<?xml version="1.0"?> 
<!DOCTYPE projects [ 
<!ELEMENT projects (project*)> 
<!ELEMENT project (pid, leader+, analyst*)> 
<!ATTLIST project pid ID #REQUIRED> 
<!ELEMENT leader (name)> 
<!ELEMENT analyst (name)> 
<!ELEMENT name (#PCDATA)> 
]> 

Я кончил в XML версию части коды XML, поскольку этот валидатор позволяет только один XML версии декларации.

Если кто-то может оказать некоторую помощь, это будет оценено по достоинству. Благодарю.

ответ

1

Просто удалите PID из проекта элемента:

<!ELEMENT project (leader+, analyst*)> 

project имеет, по меньшей мере, один leader, и 0 или более analyst. У него нет pid подэлементов.

Проект имеет ФИД атрибут, который определяется с:

<!ATTLIST project pid ID #REQUIRED> 
+0

Спасибо за помощь. –