Мне нужно придумать какой-нибудь механизм правил, где я могу указать правила проверки для определенных файлов XML. Затем правила считываются и утверждаются в отношении xml.
Какой самый лучший способ? Это XPath, или XQuery, или XSL, или даже XSD? Или, может быть, даже XMLUnit?
Мне нужно сделать что-то вроде обнаружения, когда определенные атрибуты отличаются от аналогичных узлов, например ::10000
<root>
<customers>
<customer name="Fred">
<contact-details email="fred@company.com">
</customer>
<customer name="Barney">
<contact-details email="barney@company.com">
</customer>
<customer name="Fred">
<contact-details email="fre@company.com">
</customer>
</customers>
</root>
Таким образом, было бы обнаружено, что адреса электронной почты выше, как правило, разные.
Также необходимо проверить данные в xml по отношению к внешним справочным данным, например, поиск по почтовому индексу и т. д.
Любые предложения относительно того, что я должен использовать, чтобы легко определить правила, которые работают довольно быстро? XML и внешние данные умеренно велики - может составлять несколько МБ на xml.
Некоторые из правил будут простыми и могут быть выполнены в XPath - проверьте поля определенной длины или проверьте, что определенные оды имеют определенные атрибуты - XSD здесь подходит. Но не для проверки на внешние данные, или делать выше. XQuery - это то, что я хочу?
Спасибо, если можете помочь.
-Джастин