функционировать и ловить исключения. Это делает довольно удивительную работу по объяснению ошибок формата XML.

я есть большие партии файлов XHTML, которые обновляются вручную. Во время фазы обзора обновлений я хотел бы программно проверить правильность файлов. Я в настоящее время используюXmlReader, но время, необходимое на среднем процессоре, намного больше, чем я ожидал.

Размер файлов XHTML варьируется от 4 КБ до 40 КБ, и проверка занимает несколько секунд на файл. Проверка очень важна, но я бы хотел, чтобы время было как можно короче, поскольку проверка выполняется во время чтения файлов на следующем шаге процесса.

Есть ли более быстрый способ сделать простую проверку правильности XML? Может быть, с использованием внешних библиотек XML?

Я могу подтвердить, что проверка «обычного» содержимого на основе XML молниеносно выполняется с помощью XmlReader, и, как предполагается, проблема, по-видимому, связана с тем, что DTD XHTML читается при каждой проверке файла.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Обратите внимание, что в дополнение к DTD также загружаются соответствующие файлы .ent (xhtml-lat1.ent, xhtml-symbol.ent, xhtml-special.ent).

Поскольку полное игнорирование DTD на самом деле не вариант для XHTML, поскольку правильная формация тесно связана с разрешенными объектами HTML (например, & nbsp; будет быстро вводить ошибки проверки, когда мы игнорируем DTD).

Проблема была решена с помощьюпользовательский XmlResolver как предлагается, в сочетании с локальными (встроенными) копиями файлов DTD и сущностей.

Я опубликую решение здесь, как только я очистил код

Ответы на вопрос(6)

Ваш ответ на вопрос