Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
img
 
 
 
 
 
 
 
 

README.md

Пример операции проверки соответствия xml схеме xsd в ЦФТ (PL/PLUS)

Краткое описание

Операция демонстрирует возможность проверки xml по xsd как при чтении из файла, так и из справочника

Возможное использование

  • чтение xsd с диска или его хардкрд в операции (в примере реализованы оба варианта)
  • сохранение xsd в clob в какой-нибудь справочник и работа с ним: для заполнения справочника можно использовать форму с мемо-полем (если XSD небольшой) или импорт из файла

Ограничения проверки xml средствами Oracle

  • для схем среднего размера (около 20 Кб) регистрация xsd выполняется очень долго (приблизительно 10 секунд)
    Жизнеспособный вариант выглядит следующим образом: схема один раз регистрируется и не удаляется; при обновлении схемы xsd зарегистрированные схемы очищаются. Пример работы есть в файле.

  • относительно невысокая скорость работы при больших объёмах данных (xml порядка 10 Мб) проверяется около 1 секунды

  • не очень хорошая диагностика ошибок: далеко не во всех случаях можно понять где ошибка, пользователю её выводить противопоказано (как показал опыт, в большинстве библиотек языков программирования высокого уровня диагностика похожая)

  • некоторые ограничения некорректно обрабатываются

    Например, не читается xsd с типом данных "xs:base64Binary" и ограничением "<xs:maxLength value="102400"/>", при этом он же с ограничением "<xs:maxLength value="10240"/>" работает. Общение на ряде форумов не привело к положительному решению проблемы; видимо, и впрямь не работает.
    Если это действительно требуется (например, размер поля не должен превышать 100Кб), то решение следующее: убрать проверку из XSD и добавить в код.

Содержание

  • поставка

xml_xsd_test.mdb
xml_xsd_test.pck

  • тестовый пример xml и xsd

example\test.xml
example\test.xsd

Пример работы

операция
Sample Screen

чтение xml и xsd из файла, небольшой размер
Sample Screen

хардкод xml и xsd в операции, большой размер (выписка в формате ISO20022, содержащая 10,000 движений по счёту)
Sample Screen

About

Пример операции проверки соответствия xml схеме xsd в ЦФТ (PL/PLUS)

Topics

Resources

License

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.