Имам XML, който изглежда така:
<Artifacts count="2">
<Artifact>
...
</Artifact>
<Artifact>
...
</Artifact>
</Artifacts>
Търся начин да наложа, че броят на Artifact
елементите, съдържащи се в Artifact
s, трябва да бъде равен на стойността на атрибута "count", като използвам XSD схема.
Въпреки че намерих възможни начини да постигна това с помощта на спецификацията XSD 1.1, чудя се дали изобщо е възможно без нея, т.е. въз основа на спецификацията XSD 1.0.
Редактиране: Ще се опитам да осигуря малко повече контекст на въпроса, за да бъда по-прецизен.
XML файлът ще бъде предоставен като вход към C++ приложение. Проблемът е, че средата за разработка налага използването на библиотеката Xerces v. 2.8.0 за анализиране. Доколкото разбирам, тази версия не поддържа стандарта XSD 1.1.
Разбира се, мога да добавя допълнителен код, за да проверя за правилния брой срещания на Artifact
елементи след валидирането на XSD. Надявах се, че ще има начин да избегна допълнителния кодов сегмент и напълно да валидирам входния файл въз основа само на XSD.