Я начинаю писать в xml, и у меня есть проблема. У меня есть базовый dtd вызываемый человек, и я использую его как сущность как в тренере, так и в компании. У меня также есть учебный корневой элемент, и в этом корневом элементе у меня либо есть тренер, либо компания. Когда я пытаюсь проверить файл xml, я сталкиваюсь с ошибкой «Элемент« человек »уже объявлен». , Как я могу сохранить свою структуру так, как она есть, и проверить мой XML-файл. Кстати, я использовал форму сущности для повторного использования моего person.dtd. Благодарим вас за помощь.Элемент, который уже определил ошибку
Это файл "person.dtd":
<!ELEMENT person (id, name, lastname,
telNo, adress, birthday,
email)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT telNo (#PCDATA)>
<!ELEMENT adress (#PCDATA)>
<!ELEMENT birthday (#PCDATA)>
<!ELEMENT email (#PCDATA)>
Это файл "trainer.dtd":
<!ELEMENT trainer (trainerPerson,proficiency)>
<!ENTITY % trainerPerson SYSTEM "person.dtd">
%trainerPerson;
<!ELEMENT proficiency (#PCDATA)>
Это "company.dtd":
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT company (companyId, companyName,
companyAdress, telno, contactPerson)>
<!ELEMENT companyId (#PCDATA)>
<!ELEMENT companyName (#PCDATA)>
<!ELEMENT companyAdress (#PCDATA)>
<!ELEMENT telno (#PCDATA)>
<!ENTITY % contactPerson SYSTEM "person.dtd">
%contactPerson;
И это DTD для информации о тренинге:
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT trainning (trainningId, cost, date, duration,
trainningName, comment,
durationtype, (trainer|company))>
<!ELEMENT trainningId (#PCDATA)>
<!ELEMENT cost (#PCDATA)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT duration (#PCDATA)>
<!ELEMENT trainningName (#PCDATA)>
<!ELEMENT durationtype (#PCDATA)>
<!ENTITY % trainer SYSTEM "trainer.dtd">
%trainer;
<!ENTITY % company SYSTEM "company.dtd">
%company;
Благодарим вас за ответ, что вы подразумеваете под набором файлов драйверов? – Eneramo
Я имел в виду такие файлы, как файлы Company.dtd, Trainer.dtd, Training.dtd, которые я показываю в своем ответе, которые ничего не делают, кроме встраивания других файлов (и, таким образом, можно думать, что они приводят к созданию эффективного DTD из разных файлы, которые у вас есть). Это файлы, на которые вы ссылаетесь, из ваших документов. Например, документ о тренере может начаться следующим образом: «Трейнер тренера« DOCTYPE ».dtd "> ...' а документ о компании начнется ' ...' –
Спасибо за помощь. Я понимаю вашу точку зрения – Eneramo