Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > Объявление ENTITY во внешнем файле dtd - ошибка?


Автор: LostSoul2 7.10.2014, 15:28
Добрый день.
Есть xml-файл:
Код

<?xml version="1.0" encoding="Windows-1251" ?>
<!DOCTYPE contract SYSTEM "doct.dtd">
 
<contract>
  <type>Трудовой договор</type>
  <name>Иванов Иван Иванович &ent;</name>
</contract>


Содержимое doct.dtd:
Код

<!ELEMENT contract (type, name)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ENTITY ent "(More Info)">


На валидаторе успешно проходит проверку. Но при попытке открыть xml-файл начинается вой, что Entity 'ent' not defined. При этом, если отказаться от использования doct.dtd и записать в xml-файле:
Код

<?xml version="1.0" encoding="Windows-1251" ?>
<!DOCTYPE contract [
<!ELEMENT contract (type, name)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ENTITY ent "(More Info)">
]> 
 
<contract>
  <type>Трудовой договор</type>
  <name>Иванов Иван Иванович &ent;</name>
</contract>

то всё работает.
В чём проблема? ENTITY можно объявлять только в том же файле, где она применяется?


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)