/cxs

CXS (check xml schema) подготовка XML схем

Primary Language1C EnterpriseMIT LicenseMIT

CXS (check xml schema)

Подготовка (исправление) XML схем

Задача

Иногда, XML схемы не соответствуют стандарту w3.org и это грустно :-(
Данный скрипт исправляет следующие ошибки:

  1. У открывающих и закрывающих тегов узлов схемы устанавливается префикс пространства имен w3.org, объявленный в заголовке схемы
  2. Наименования узлов схемы регистрозависимые, поэтому они устанавливаются по словарю в соответствии с пространством имен w3.org

Пример:

<!-- было -->
<simpletype>
    <restriction base="cml:НаименованиеТип"></restriction>
</simpletype>
<!-- стало -->
<xsd:simpleType>
    <xsd:restriction base="cml:НаименованиеТип"></xsd:restriction>
</xsd:simpleType>

Зависимости

Скрипт разработан в среде OScript 1.3.0 Тестирование на более ранних версиях интерпретатора не проводилось.

Требуется библиотека cmdline Установите библиотеку через пакетный менеджер OScript: opm install cmdline Устанавливайте библиотеку в окне CMD, которое запущено от имени администратора.

Параметры

-path <полный путь к схеме> - полный путь, включающий имя файла обрабатываемой XML схемы

Результат

Скрипт получает префикс пространства имен w3.org из атрибута xmlns:xsd="http://www.w3.org/2001/XMLSchema" заголовка XML схемы

Скрипт по узлу <xsd:schema определяет необходимость устанавливать префикс в тегах

Скрипт, если нужно устанавливает префикс пространства имен w3.org в открывающих и закрывающих тегах XML схемы

Скрипт по словарю меняет наименования элементов, в которых используется camelCase стиль, пример simpleType

Скрипт не меняет исходный файл, а создает новый файл XML схемы с суффиксом _modify

Примеры использования

oscript cxs.os -path d:\tmp\CommerceML2-10.xsd
где d:\tmp\CommerceML2-10.xsd - путь к файлу, который нужно обработать