У меня есть DTD-файл следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<!--=========================
XML Construct Domain Module
==========================-->
<!ENTITY % category "category">
<!ENTITY % pattern "pattern">
<!ENTITY % template "template">
<!ENTITY % category.content "((pattern)?|(template)*)">
<!ENTITY % category.attribute " ">
<!ELEMENT category %category.content;>
<!ATTLIST category %category.attribute;>
<!ATTLIST category %global-atts; class CDATA "+ topic/foreign aiml-d/category">
<!ENTITY % pattern.content "(#PCDATA)">
<!ENTITY % pattern.attribute " ">
<!ELEMENT pattern %pattern.content;>
<!ATTLIST pattern %pattern.attribute;>
<!ATTLIST pattern %global-atts; class CDATA "+ topic/foreign aiml-d/pattern">
<!ENTITY % template.content "(#PCDATA)*">
<!ENTITY % template.attribute " ">
<!ELEMENT template %template.content;>
<!ATTLIST template %template.attribute;>
<!ATTLIST template %global-atts; class CDATA "+ topic/foreign aiml-d/template">
Вот мой XML-файл:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE concept SYSTEM "C:\Users\lenovo\Desktop\dita-ot-3.0\plugins\org.dita.docbook-aiml\resource\concept.dtd">
<concept id="topicid">
<title>Test concept</title>
<conbody>
<p>
<category>
<pattern>WHAT IS DITA</pattern>
<template>DITA is kind of content organization stucture.</template>
</category>
</p>
</conbody>
</concept>
Когда я проверяю свой XML-файл, я получаю сообщение об ошибке «Элементтип "категория" не должен быть объявлен более одного раза. "Но я проверил файл, я не объявлял его дважды.Я не могу понять, что не так с файлом.
Я пробовал решения, предложенные для StackOverflow, но он все еще не работал.