Проверка ошибок XML с помощью JavaScript

Вопрос: Как я могу синтаксически проверить свой XML в современных браузерах (что-то вроде IE)?

Я видел страницу в W3Schools, которая включает в себя синтаксис-проверку XML. Я не знаю, как это работает, но я хотел бы знать, как я могу достичь такого же поведения.

Я уже выполнил много поисков по этому вопросу (без успеха), и я попытался использовать DOM Parser, чтобы проверить, правильно ли сформирован мой XML (также без успеха).

var xml = 'Caleb';
var parser = new DOMParser();
var doc = parser.parseFromString(xml, 'text/xml');

Я ожидаю, что анализатор скажет мне, что у меня есть синтаксическая ошибка XML (т.е. тег закрытого name). Однако он всегда возвращает объект XML DOM, как будто ошибок не было.

Подводя итоги, я хотел бы знать, как я могу автоматически проверять синтаксис XML-документа с помощью JavaScript.

<я > P.S. Есть ли способ проверить документ XML на DTD (используя JS, а не IE)?

Ответы

Ответ 1

Изменить: Вот более краткий пример: MDN:

var sMyString = "<a id=\"a\"><b id=\"b\">hey!<\/b><\/a>";
var oParser = new DOMParser();
var oDOM = oParser.parseFromString(sMyString, "text/xml");
// print the name of the root element or error message
dump(oDOM.documentElement.nodeName == "parsererror" ? "error while parsing" : oDOM.documentElement.nodeName);