Основы XML




Как работает страница проверки на валидность - часть 2


</HEAD>

<BODY>

<!--Set SRC to the URL of the XML document you want to check: --> <XML ID="dsoTest" SRC="Inventory.xml"></XML>

</BODY>

</HTML>

Листинг 9.10. Validity Test.htm

HTML-страница содержит сценарий, который выполняется, когда браузер первый раз открывает окно страницы:

<SCRIPT LANGUAGE="JavaScript" FOR="window" EVENT="ONLOAD"> /* код сценария … */ </SCRIPT>

Сначала сценарий получает узел Document:

Document = dsoTest.XMLDocument;

Затем он проверяет свойство readyState узла Document. Если значение свойства readyState равно 4, что указывает на то, что все данные XML загружены и обработаны, сценарий сразу же вызывает функцию DisplayError, которая отображает состояние документа на предмет ошибок. Если же значение свойства readyState не равно 4, сценарий присваивает функцию DisplayError свойству onreadystatechange узла Document, что приводит к вызову браузером функции DisplayError позднее, когда значение readyState изменится:

if (Document.readyState == 4) DisplayError (); else Document.onreadystatechange = DisplayError;

Оба этих свойства узла Document описаны в таблице 9.3.

Если свойство readyState еще не приняло значение 4, то функция DisplayError немедленно завершает свою работу. (Она будет вызвана снова, когда в дальнейшем значение readyState станет равным 4.) Если функция продолжает работу, она отображает все свойства элементарного объекта parseError узла Document. Эти свойства полностью описывают состояние XML-документа на предмет ошибок:

function DisplayError () { if (Document.readyState != 4) return; message = "parseError.errorCode: " + Document.parseError.errorCode + "\n" + "parseError.filepos: " + Document.parseError.filepos + "\n" + "parseError.line: " + Document.parseError.line + "\n" + "parseError.linepos: " + Document.parseError.linepos + "\n" + "parseError.reason: " + Document.parseError.reason + "\n" + "parseError.srcText: " + Document.parseError.srcText + "\n" + "parseError.url: " + Document.parseError.url; alert (message); }

Если документ не содержит ошибок, значение parseError.errorCode устанавливается в нуль, а другие свойства также имеют нулевые или пустые значения. Если же в документе имеется ошибка, свойство parseError.errorCode содержит числовой код ошибки, а другие свойства описывают эту ошибку.

© 2003-2007 INTUIT.ru. Все права защищены.




Содержание  Назад