Как проверить XML с помощью SAX? - PullRequest
0 голосов
/ 10 октября 2009

Как API SAX проверяет XML на соответствие схеме / DTD?

Насколько я понимаю, SAX-API читают чок XML-документа по чанку и не сохраняют ранее считанные чанки в памяти. Поэтому я не понимаю, как API может проверять документ, не сохраняя все в памяти. ??

1 Ответ

1 голос
/ 10 октября 2009

Вам не нужно хранить все дерево XML в памяти для его проверки. Только те части, которые проверены на данный момент, должны быть в памяти. Например, если вам нужно подтвердить структуру, подобную этому корню / потомку * / свойству *, тогда на самом деле нужно проверять только отношения потомок-родитель, и поэтому нам нужно хранить только предыдущий элемент для проверки этого. Конечно, если структура сложнее, чем больше памяти будет использовано для проверки сложных ограничений.

...