Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
xml.docx
Скачиваний:
45
Добавлен:
16.04.2015
Размер:
115.97 Кб
Скачать

7. Размещение описания dtd. Программы-анализаторы xml

Описание DTD можно занести в отдельный файл, например ntb.dtd, указав его имя во второй части пролога DOCTYPE. Можно включить описание непосредственно во вторую часть пролога XML-файла, заключив его в квадратные скобки.

Программы-анализаторы XML

После того как создано описание DTD реализации XML и написан документ, размеченный тегами этой реализации, следует проверить пра­вильность их написания и соответствие их друг другу. Для этого есть специ­альные программы — проверяющие анализаторы (validating parsers). Все фир­мы, разрабатывающие средства для работы с XML, выпускают бесплатные или коммерческие проверяющие анализаторы. Например, фирма IBM вы­пускает анализатор xml4j, написанный на языке Java. Он входит в состав сервера приложений WebSphere, но его можно использовать и отдельно, свободно загрузив с адреса http://www.alphaworks.ibm.com/архивы xml4j.jar, xerces.jar и xercesSamples.jar.

Проверяющий анализатор фирмы Sun Microsystems, написанный тоже на языке Java, содержится в пакете Java-классов JAXP (Java API for XML Processing), входящем в состав и J2SDK Standard Edition, и J2SDK Enterprise Edition. Кроме того, этот пакет можно загрузить отдельно или в составе па­кета Java XML Pack с адреса http://java.sun.com/xml/.

Корпорация Microsoft поставляет проверяющий анализатор MSXML (Microsoft XML Parser), доступный по адресу http://msdn.microsoft.com/xml/.

У корпорации Oracle есть полный набор средств для работы с XML, в том числе и анализатор Oracle XML Parser. Его можно получить по адресу http://otn.oracle.com/tech/xml/.

Фирма Mind Electric занимается разработкой программных продуктов, ис­пользующих XML. Ее анализатор Electric XML и другие продукты находятся по адресу http://www.themindelectric.com/products/xml/.

Большую популярность получил анализатор ХР Джеймса Кларка, который можно найти по адресу http://www.jclark.com/xml/xp/.

Есть еще множество проверяющих анализаторов, но лидером среди них яв­ляется, пожалуй, Apache Xerces 2, входящий во многие средства обработки документов XML, выпускаемые другими фирмами. Он создан сообщест­вом Apache Software Foundation и свободно доступен по адресу http:// xml.apache.org/xerces2-j/.

Анализаторы.

Помимо определения синтаксиса XML, в рекомендации W3C описан так же процессор или анализатор XML. Существуют два типа анализаторов:

  • non-validating (не проверяющий на допустимость) - анализатор просто проверяет, чтобы объект данных был правильно оформленным документом XML

  • validating (проверяющий на допустимость) - с помощью определения DTD анализатор проверяет допустимость формы и содержания правильно оформленного документа XML

Некоторые анализаторы поддерживают оба типа, при этом в их конфигурации имеется возможность переключаться на один из них, в зависимости от того, надо ли проверять допустимость документа.

Событийно управляемые анализаторы.

Один из подходов в обработке данных XML связан с событийно управляемыми анализаторами. В этом случае анализатор осуществляет обратное обращение (call-back) к приложению для каждого класса данных XML: элементы (с атрибутами), символьные данные, команды обработки, нотации или комментарии. Приложение осуществляет всю дальнейшую обработку данных XML, полученных в результате обратных обращений, - анализатор не обслуживает древовидную структуру элемента или любые анализируемые данные. Даже для чрезвычайно больших документов анализатор XML расходует очень небольшое количество системных ресурсов; кроме того, вследствие его простого низкоуровневого доступа к данным XML, он позволяет чрезвычайно гибко работать с данными в приложении XML.

Древовидные анализаторы.

Одной из самых распространенных структур в конструировании программного обеспечения является простое иерархическое дерево. Все правильно оформленные данные XML должны представлять собой такое дерево, и потому для путешествия по узлам документа, поиска его содержания и/или редактирования можно использовать распространенные хорошо разработанные алгоритмы. Эти алгоритмы в течение десятилетий разрабатывались и использовались в академической и коммерческой среде. Использующие этот подход анализаторы XML, как правило, соответствуют предложенной консорциумом W3C объектной модели документа (DOM).

Средства тестирования анализаторов.

Два разработчика недавно создали набор тестов для анализаторов XML (XML parser benchmark tests), применив их затем к различным анализаторам в системах Linux и Solaris. Результаты этих тестов показывают, что наиболее быстрыми являются анализаторы, написанные на языке С, за ними следуют те, что написаны на языке Java, а затем - на языках сценариев (Perl и Python).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]