|
Валидация XML по нескольким вложенным XSD
|
|||
---|---|---|---|
#18+
Доброй пятницы всем, Есть набор XSD: 1. Message.xsd - здесь есть элемент с типом dataType , который не определен (примеры схем ниже); 2. TypeMessage1.xsd - здесь include Message.xsd и определен свой тип с именем dataType 3. TypeMessage2.xsd - здесь include Message.xsd и определен свой тип с именем dataType Потом нам прилетает XML, который нужно провалидировать по одной из схем TypeMessage1.xsd или TypeMessage2.xsd (мы знаем заранее по какой именно). Проблема в том, что XDB при валидации уверенно шлет лесом, потому что при парсинге Message.xsd не понимает тип dataType . Да и в целом, без форса зарегистрировать схему Message.xsd невозможно, что очевидно, ведь падает на неизвестном типе. Очедивно, что алгоритмы последовательности действий при валидации могут быть разные, большинство успешно валидируют, ведь в конце получают большой набор и описания схем - и при обработке Message.xsd успешно находят тип, ведь их просят провалидировать через TypeMessage1.xsd или TypeMessage2.xsd . Я давно не работал с ХМЛ в базе, поэтому вопрос - можно ли провернуть валидацию без дополнительных костылей как смерджить две схемы в одну и/или распилить входной ХМЛ и провалидировать частями? В первой из них есть элемент и ссылка на тип dataType, который неопределен : Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
Второй и третий выглядят например так: Код: xml 1. 2. 3. 4. 5.
Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 16:43 |
|
Валидация XML по нескольким вложенным XSD
|
|||
---|---|---|---|
#18+
Забыл накинуть примерчик ХМЛки: Код: xml 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 17:07 |
|
Валидация XML по нескольким вложенным XSD
|
|||
---|---|---|---|
#18+
[Решено] Попробовал все варианты валидации и один подошел )) Кладем хмлку в XMLTYPE без указания схемы, потом используем эту функцию, которая не будет помечать, что хмлка валидирована, но проверит на указанную схему: Код: plsql 1. 2.
Ну и к слову не нужно забывать, что Оракл очень трепетно относится к ХМЛкам и даже не признает "--" в тексте коммента. Например, Код: xml 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 18:01 |
|
|
start [/forum/topic.php?fid=52&fpage=41&tid=1881076]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 300ms |
total: | 414ms |
0 / 0 |