Проверка XML-файла на наличие ошибок

Обновлено: 03.07.2024

Проверить форму XML

"Правильный" XML-документ означает, что он имеет правильный синтаксис XML. Действие Проверить корректность проверяет, соответствует ли ваш документ правилам синтаксиса XML.

Подтвердить документы

Действительный XML-документ является «правильным» и также соответствует правилам определения типа документа (DTD), XML-схемы или другого типа схемы, определяющей структуру XML-документа.

При создании XML-документов могут возникать ошибки. Работа с большими проектами или большим количеством файлов увеличивает вероятность возникновения ошибок. Выявление и устранение ошибок в вашем проекте может занять много времени и вызвать разочарование. К счастью, Oxygen предоставляет функции, которые упрощают и ускоряют идентификацию ошибок.

Проверка XML-документов на соответствие XML-схемам W3C

Oxygen интегрирует последнюю версию синтаксического анализатора XML Xerces-J для проверки документов на соответствие XML-схемам. Xerces считается лучшим синтаксическим анализатором XML с открытым исходным кодом и используется на многих корпоративных серверах.

Сценарии проверки

Сценарии проверки Oxygen очень эффективны и решают множество важных проблем при работе с XML-разметкой и технологиями, связанными с XML. Они также позволяют работать с модулями и выполнять несколько проверок одним действием.

По умолчанию проверка документа выполняется с помощью процессора (анализатора XML, преобразователя XSLT, механизма XQuery и т. д.) для анализа текущего файла. Сценарий проверки позволяет указать набор файлов для проверки, процессор, который будет использоваться для каждого файла, а также необходимость выполнения непрерывной проверки. При работе с модулем вы можете выполнять проверку основного файла (файла, который ссылается на этот модуль), а также выполнять множественные проверки различных файлов или различных процессоров.

Работа с модулями

Предположим, что вы работаете с большим XML-документом, который решили разбить на несколько файлов и использовать внешние объекты для объединения этих файлов в основной документ. Если вы редактируете один из этих файлов, вам нужно проверить, является ли основной документ действительным. Сценарии проверки Oxygen позволяют проверять основной документ, а не только текущий файл. Таким образом, текущий файл проверяется в контексте его основного файла.

Таблицы стилей XSLT, как и многие другие технологии, связанные с XML (XQuery, Relax NG и т. д.), могут быть недействительными сами по себе, но допустимыми в контексте импорта или включения в другие файлы. Например, у вас может быть таблица стилей XSLT, которая ссылается на именованный шаблон или переменную, которая не определена в текущем файле, но определена в основном файле, включающем таблицу стилей XSLT. В этом случае, если вы проверяете XSLT-модуль отдельно, вы получите сообщение об ошибке, что шаблона или переменной с таким именем не существует. Однако вы можете использовать настраиваемые сценарии проверки в Oxygen для проверки основной таблицы стилей XSLT, включающей этот модуль, и такой ошибки не будет.

Несколько проверок одним действием

Некоторые XML-технологии сложны, например процессоры XML Schema или XSLT. Когда вы редактируете документы, которые предназначены для общего доступа или должны работать независимо от того, какой движок используется, лучше всего проверять их на всех движках, с которыми они будут использоваться. Сценарии проверки Oxygen позволяют вам указать несколько проверок, которые необходимо выполнить, и какой механизм использовать для каждой проверки. Например, при редактировании схемы есть 6 процессоров XML-схемы, которые поддерживает Oxygen, а другие также могут быть добавлены в качестве внешних процессоров. Oxygen проверяет вашу схему на всех процессорах одним действием. Таким образом, вы можете легко проверить, будет ли ваша схема работать независимо от используемого процессора.

Предположим, что у вас есть набор экземпляров XML-документов, и вы хотите изменить их схему, убедившись, что они по-прежнему действительны. Сценарии проверки Oxygen позволяют настроить несколько проверок (для каждого экземпляра документа и файла схемы) и выполняются за одно действие. Это позволяет вам убедиться, что схема действительна, а ваши экземпляры документов соответствуют обновленной схеме.

Сценарий проверки< бр />

Работа с модулями и множественной проверкой

При работе с модулями также часто используется повторное использование их в различных контекстах (основных файлах). Oxygen позволяет вам проверять модуль во всех контекстах, в которых он используется, поскольку сценарии проверки позволяют вам установить несколько файлов для проверки.Таким образом, вы можете указать все основные файлы, которые используют модуль, и одним действием проверить, что модуль действителен во всех его контекстах.

Непрерывная проверка

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

В нижней части области редактирования отображается сообщение с описанием ошибки, ближайшей к положению курсора.

Маркеры ошибок и обзорная линейка

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

Обзор линейки ошибок

Несколько внешних механизмов проверки

В дополнение к этим предварительно настроенным механизмам вы также можете добавить свой собственный механизм проверки.

Список внешних валидаторов

Поддержка схемы

Oxygen может проверять XML-документы с использованием схем Schematron, XML-схем или схем Relax NG, содержащих встроенные правила Schematron. Поддержка редактирования и проверки также включена в схемы Schematron.

Для проверки Oxygen использует процессор Skeleton XSLT, совместимый со Schematron 1.5.

Для схем, определяющих различные этапы проверки, Oxygen автоматически отображает диалоговое окно, в котором можно выбрать этап проверки.

Oxygen также включает поддержку быстрых исправлений Schematron и ISO Schematron.

Быстрые исправления Schematron

Быстрые исправления Schematron (SQF) помогают устранять ошибки, возникающие в XML-документах, проверенных на соответствие схемам Schematron, предлагая решения. Быстрые исправления Schematron являются расширением языка Schematron и позволяют определять исправления для сообщений об ошибках Schematron. Вы можете настраивать быстрые исправления Schematron, редактируя их непосредственно в файле Schematron или в отдельном файле.

Редактирование схем ISO Schematron

В Oxygen есть редактор Schematron, который анализирует пространство имен и автоматически определяет, является ли редактируемая схема Schematron ISO Schematron. Он предлагает непрерывную проверку, а также помощник по заполнению содержимого с предложениями для элементов, атрибутов и значений ISO Schematron.

Поддержка редактирования встроенных правил ISO Schematron в XML-схеме

При редактировании XML-схем Oxygen предлагает предложения с помощью помощника по завершению контента внутри xs:annotation и xs:appinfo ISO Schematron. Это упрощает редактирование встроенных правил Schematron.

Проверка XML-документов по ISO Schematron

Oxygen поддерживает проверку по схемам ISO Schematron, включая проверку по запросу, непрерывную проверку и пакетную проверку.

Проверка XML-документа на соответствие встроенным правилам ISO Schematron

Правила ISO Schematron можно встраивать в другие схемы. Oxygen предлагает проверку на соответствие правилам ISO Schematron, встроенным в схемы Relax NG или XML-схемы.

Поддержка абстрактных шаблонов и включенных схем ISO Schematron

Oxygen также поддерживает схемы ISO Schematron, которые содержат абстрактные шаблоны или ссылки на другие файлы ISO Schematron через sch:include.

Диагностика и отчеты Schematron

Сообщения диагностики, о которых сообщает схема Schematron, отображаются вместе с другими ошибками проверки. Сообщения отчета Schematron отображаются как предупреждения.

Возможность использования Saxon EE (с поддержкой схемы) для Schematron

Проверки XPath 2.0, используемые в схеме ISO Schematron или схеме Schematron 1.5, могут дополнительно выполняться с Saxon EE вместо Saxon B, чтобы получить доступ к функциям Saxon EE, поддерживающим схему. Процессор Saxon EE является расширением процессора Saxon B и входит в комплект программного обеспечения Oxygen.

Поддержка каталога XML

Каталог XML определяет сопоставления между расположениями схемы и локальными копиями документов схемы. Например, документы DocBook по умолчанию используют DTD, расположенные на веб-сайте Oasis. Это означает, что каждая проверка будет занимать время, поскольку каждый раз необходимо загружать DTD. Чтобы ускорить этот процесс, Oxygen использует несколько каталогов для фреймворков по умолчанию, которые настраиваются автоматически при первом запуске приложения.

Списком каталога можно управлять на странице настроек XML Catalog, как показано ниже.

Каталоги

Проверить с помощью XML-схемы при разрешении внешних объектов

Отсутствие поддержки внешних сущностей является известным недостатком схемы XML. Существуют документы, которые ссылаются на схему, но также содержат объявление DTD, которое позволяет определять внешние объекты. Oxygen позволяет сосуществовать XML-схеме и внешним объектам, поскольку вы можете настроить выполнение проверки по указанной XML-схеме, даже если также указано DTD.

Проверка XML-документов на соответствие DTD

Вы можете использовать Oxygen для проверки экземпляра XML-документа на соответствие указанному DTD.

Проверка XML-документов на соответствие схеме Relax NG

С помощью Oxygen вы можете легко проверять документы на соответствие Relax NG (как с синтаксисом XML, так и с компактным синтаксисом) и схемами языка маршрутизации пространства имен (NRL).

Расширенная пакетная проверка

Несколько файлов, выбранных в данный момент в представлении «Проект», можно проверить по файлу схемы одним действием на панели инструментов или в контекстном меню. Поддерживаемые схемы включают схему XML, Relax NG, NVDL, Schematron или схему XML Schema/Relax NG со встроенными правилами Schematron. Это упрощает группировку файлов в вашем проекте и проверку их как пакета.

Пакетная проверка< бр />

На следующем изображении показано диалоговое окно для выбора схемы проверки.

Проверить по схеме

Отчеты об ошибках и отслеживание ошибок

Об ошибках сообщается на информационной панели с указанием серьезности проблемы, информации о местоположении (номер строки, путь к файлу) и описательного сообщения. Вы можете отслеживать ошибки документа, просто дважды щелкнув ошибку на панели «Ошибки». Редактор открывает соответствующий файл, переходит к месту ошибки и выделяет его.

Управление функциями парсера XML

Oxygen позволяет управлять некоторыми настройками парсера, используемыми для проверки. Функции синтаксического анализатора XML можно настроить на странице настроек Синтаксический анализатор XML.

Мастер сопоставления схем

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

Это изменяет документ таким образом, чтобы он содержал объявленное местоположение схемы.

Читайте также: