Как мы можем определить любую функцию в XSD или любую логику c это возможно? Нужны возможности в XSD для проверки файла XML - PullRequest
0 голосов
/ 13 февраля 2020

Образец XSD-файла для справки

Я хочу знать, можем ли мы определить какую-либо функцию или любую логику шифрования / дешифрования c в xsd или список того, какие специальные функции может поддерживать xsd?

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Customer">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0" />
<xs:element name="address" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Вы не указали фактическое требование (какое правило проверки вы хотите наложить?). XSD 1.1 позволяет вам определять утверждения, используя XPath, включая полную библиотеку функций XPath; и конкретная реализация XSD 1.1 может позволить этим выражениям XPath вызывать расширения, написанные на процедурном языке, таком как Java.

Так что, если вы используете чистый XSD 1.0, то ответ - нет, но если вы готовы принять решение, которое работает только с Саксонской (скажем), тогда ответ становится да.

0 голосов
/ 13 февраля 2020

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...