Можно ли написать схему, позволяющую смешивать проверенный XML с просто правильно сформированным XML? В качестве примера можно привести приложение для передачи данных, в котором запросы состоят из набора метаданных (которые мы хотели бы проверить) и информации, специфичной для записи (которая проверяется отдельно от XML в бизнес-логике, поскольку запросы XML только один из нескольких способов получения запросов).
Пример:
<request>
<campaign>CAMP00001</campaign>
<username>user_bob</username>
<token>one-time-token-goes-here</token>
... more meta-data ...
<records>
<record id="90209">
<name>John Doe</name>
<address>Park Lane 191</address>
<postal>99999</postal>
</record>
<record id="90210">
<name>Jane Doe</name>
<address>Park Lane 192</address>
<postal>88888</postal>
</record>
</records>
</request>
В настоящее время я проверяю вручную, проверяя наличие и действительность содержимого полей кампании, имени пользователя и токена. Если это возможно, я хотел бы сделать это с использованием схемы XML, чтобы стало легче сообщать разработчикам, какие метаданные им нужно предоставить и в каких форматах - для кампаний это невозможно, поскольку каждая кампания имеет свой собственный набор поля и правила, которые применяются к тем. Можно ли это сделать?
(одним из решений, о котором я подумал, является заполнение записи набором <data>
элементов вместо именованных элементов, а затем очень слабое определение <data>
в схеме ... но для этого потребуется изменить спецификации вокруг ) * +1010 *