Как заставить Сариссу использовать DTD при разборе XML? - PullRequest
0 голосов
/ 06 мая 2011

Я использую Sarissa для преобразования строки XML в объект документа DOM. Все работает, за исключением того, что Сарисса полностью игнорирует мой DTD. Отклонения от правил DTD не замечены, и при этом я не вижу никаких сообщений о DTD, не найденном.

Мой XML начинается так:

<?xml version="1.0" standalone="no" ?>
<!DOCTYPE workspace SYSTEM "dtd/config.dtd">

и мой JavaScript выглядит так:

function toXML(str) {
    var responseDoc = (new DOMParser()).parseFromString(str, "text/xml");
    ...
}

Как я могу заставить Сариссу использовать DTD?

1 Ответ

1 голос
/ 06 мая 2011

Исходный код Сариссы не имеет какого-либо особого кода синтаксического анализа для DOMParser ().Он в основном оборачивает IE, Safari или собственную реализацию Firefox / Opera, которая может не анализировать DTD в используемом вами браузере, поскольку внешний анализ DTD, к сожалению, является необязательным аспектом XML (даже для сущностей), а проверка еще менее определена,Веб-тип заставляет человека работать с подстановками на стороне сервера (или, возможно, с внутренними определениями подмножеств документа, которые могут все еще игнорироваться при проверке).

...