Проверка на 10K XSD - проблема с производительностью - PullRequest
2 голосов
/ 18 марта 2010

У меня есть схема XSD, которая имеет 10K строк. Требуется 5 секунд, чтобы проверить мой XML с 500 строками. Я получаю динамический XML через POST с внешнего сервера при каждом клике пользователя на моей домашней странице. Проверка занимает 5+ секунд, что очень много для каждого клика пользователя. Пример PHP:

$doc = new DOMDocument();
$doc->load('file.xml'); //100 to 500 lines
$doc->schemaValidate('schema.xsd'); //schema.xsd 10 000 lines

У вас есть идеи, как я могу быстрее проверить XML на XSD?

Ответы [ 3 ]

1 голос
/ 24 марта 2010

Что нужно проверить:

  1. Является ли схема локальным файлом или вы извлекаете ее по сети (например, через http: или файл: на подключенный том)?

  2. Можете ли вы кэшировать свою схему? Многие механизмы проверки схемы позволяют загружать схему и кэшировать ее, а затем выполнять несколько проверок по внутреннему представлению.

  3. Как выглядит ваша схема? 5 секунд для схемы 10K кажется довольно медленным.

  4. Какой валидатор XML-схемы вы используете?

0 голосов
/ 04 мая 2010

Используйте другую библиотеку XML и / или выполняйте удаленную операцию в фоновом режиме и просмотрите в Интернете самый последний кэш.

0 голосов
/ 18 марта 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...