Проверка схемы RelaxNG или XSD с помощью JavaScript

Я хотел бы выполнить проверку схемы RelaxNG (предпочтительно) или XSD (если нужно) в клиентском JavaScript. Любые хорошие библиотеки для этого? Google находит jsrelaxngvalidator, но у меня возникли проблемы с его запуском, и он не поддерживается. Целевыми браузерами являются только Firefox и Chrome.


person lambshaanxy    schedule 17.01.2012    source источник


Ответы (2)


SmartClient может загружать XSD и генерировать форму для редактирования данных с правилами проверки и удобными для пользователя сообщениями об ошибках:

http://www.smartclient.com/#xmlSchemaImport

Вы также можете сериализовать данные, которые вводит пользователь, и создать XML-документ, соответствующий XSD (с правильным пространством имен и т. д.), используя DataSource.xmlSerialize().

http://www.smartclient.com/docs/8.0/a/b/c/go.html#method..DataSource.xmlSerialize

Вся эта функциональность реализована в браузере (без серверного компонента) и доступна в бесплатной версии OSS (SmartClient LGPL).

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

person Charles Kendrick    schedule 07.06.2012
comment
Пожалуйста, раскройте вашу принадлежность. - person lexicore; 30.10.2014

Похоже, что ответ «Нет»: в конце концов, jsrelaxngvalidator работает, но у него есть странные ограничения на то, что он поддерживает, для запуска требуется множество библиотек (включая пользовательский анализатор SAX, который также находится в бета-версии) и он делает странные вещи, такие как загрузка 18 XSLT по сети для предварительной обработки схем, поэтому мы отказались от этого.

Вместо этого я переписал схему как схему JSON с проверкой на стороне клиента с использованием JSV. Кривая обучения была немного крутой, но теперь она работает хорошо.

person lambshaanxy    schedule 20.01.2012