Java Валидация Xml через DTD

Хочу чтоб xml был valid. Я не понимаю как это сделать. На выходе имею - "Childs nodes:fromheadingbody". Тоесть текстовые разделители успешно пропускает парсер. Стоит мне убрать DTD описание полностью, вывод будет - " Childs nodes:to#textfrom#textheading#textbody#text". Стоит мне DTD переписать таким образом -

"<!DOCTYPE note [
<!ELEMENT note (ewaeae)>

]>"

Тогда выводить будет только название узлов, без текстов. Почему так? Я прочитал про DTD и думал , что если я укажу строго перечень дочерних узлов в скобках , значит столько узлов и с таким названием там и должно быть, по итогу я могу в скобках написать все что угодно и ничего не меняется. Может дело в том что надо добавить ErrorHandler, если так то подскажите как это правильно делать. В целом суть вопроса в том , что у меня DTD не работает и я не знаю почему.Заранее благодарен.

DocumentBuilderFactory myFactory = DocumentBuilderFactory.newInstance();
myFactory.setValidating(true);
myFactory.setIgnoringElementContentWhitespace(true);
DocumentBuilder myBuilder = myFactory.newDocumentBuilder();
Document doc  = myBuilder.parse("E:\\Projects\\primer.xml");
Element mainElem = doc.getDocumentElement();
NodeList ListChilds = mainElem.getChildNodes();
String maneText = " Childs nodes:";
  for (int i = 1; i < ListChilds.getLength();i++ ) {
            Node child = ListChilds.item(i);
            maneText += child.getNodeName()+" ";
    }
    maneText +="</br>\n";
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
   <to>Tove</to>
   <from>Jani</from>
   <heading>Напоминание</heading>
   <body>Не забудь обо мне в эти выходные!</body>
</note>

Ответы (0 шт):